diff --git a/src/api/AgentApi.test.ts b/src/api/AgentApi.test.ts index df6d89474..92dbbc29f 100644 --- a/src/api/AgentApi.test.ts +++ b/src/api/AgentApi.test.ts @@ -3,6 +3,19 @@ * * 1. Record API responses & update ESM snapshots * + * This step breaks down into 2 phases: + * + * Phase 1: Record tests that require cloud deployment + * Phase 2: Record tests that require classic deployment + * + * Because certain tests can only be successfully ran in classic deployments and/or + * cloud deployments, they have to be run in groups so that it is possible to record + * each group of tests using their appropriate deployments. Make sure to set the + * FRODO_HOST and FRODO_REALM environment variables when recording to ensure you + * are using the right deployment (by default these are set to the frodo-dev cloud tenant + * and alpha realm respectively). Alternatively, you can use FRODO_DEPLOY=classic to + * use the default settings of host/realm for classic deployments. + * * To record and update ESM snapshots, you must call the test:record * script and override all the connection state variables required * to connect to the env to record from: @@ -32,8 +45,9 @@ import * as AgentApi from './AgentApi'; import { state } from '../index'; import { getAgent } from '../test/mocks/ForgeRockApiMockEngine'; -import { autoSetupPolly } from '../utils/AutoSetupPolly'; +import { autoSetupPolly, setDefaultState } from '../utils/AutoSetupPolly'; import { filterRecording } from '../utils/PollyUtils'; +import Constants from "../shared/Constants"; const ctx = autoSetupPolly(); @@ -82,6 +96,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway1.type, agentId: gateway1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -96,6 +111,7 @@ describe('AgentApi', () => { agentType: gateway1.type, agentId: gateway1.id, agentData: getAgent(gateway1.type, gateway1.id), + globalConfig: false, state, }); } @@ -104,6 +120,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway2.type, agentId: gateway2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -119,6 +136,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway3.type, agentId: gateway3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -133,6 +151,7 @@ describe('AgentApi', () => { agentType: gateway3.type, agentId: gateway3.id, agentData: getAgent(gateway3.type, gateway3.id), + globalConfig: false, state, }); } @@ -142,6 +161,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java1.type, agentId: java1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -156,6 +176,7 @@ describe('AgentApi', () => { agentType: java1.type, agentId: java1.id, agentData: getAgent(java1.type, java1.id), + globalConfig: false, state, }); } @@ -164,6 +185,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java2.type, agentId: java2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -179,6 +201,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java3.type, agentId: java3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -193,6 +216,7 @@ describe('AgentApi', () => { agentType: java3.type, agentId: java3.id, agentData: getAgent(java3.type, java3.id), + globalConfig: false, state, }); } @@ -202,6 +226,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web1.type, agentId: web1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -216,6 +241,7 @@ describe('AgentApi', () => { agentType: web1.type, agentId: web1.id, agentData: getAgent(web1.type, web1.id), + globalConfig: false, state, }); } @@ -224,6 +250,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web2.type, agentId: web2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -239,6 +266,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web3.type, agentId: web3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -253,6 +281,7 @@ describe('AgentApi', () => { agentType: web3.type, agentId: web3.id, agentData: getAgent(web3.type, web3.id), + globalConfig: false, state, }); } @@ -265,6 +294,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway1.type, agentId: gateway1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -279,6 +309,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway2.type, agentId: gateway2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -293,6 +324,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: gateway3.type, agentId: gateway3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -308,6 +340,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java1.type, agentId: java1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -322,6 +355,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java2.type, agentId: java2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -336,6 +370,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: java3.type, agentId: java3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -351,6 +386,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web1.type, agentId: web1.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -365,6 +401,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web2.type, agentId: web2.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -379,6 +416,7 @@ describe('AgentApi', () => { await AgentApi.getAgentByTypeAndId({ agentType: web3.type, agentId: web3.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -399,214 +437,286 @@ describe('AgentApi', () => { } }); - describe('getAgentTypes()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.getAgentTypes).toBeDefined(); - }); - - test('1: Get all agent types', async () => { - const response = await AgentApi.getAgentTypes({ state }); - expect(response).toMatchSnapshot(); - }); - }); + // Phase 1 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '1') + ) { + describe('Cloud Tests', () => { + beforeEach(() => { + setDefaultState(); + }); - describe('getAgentsByType()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.getAgentsByType).toBeDefined(); - }); + describe('getAgentTypes()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.getAgentTypes).toBeDefined(); + }); - test('1: Get all gateway agents', async () => { - const agentType = 'IdentityGatewayAgent'; - const response = await AgentApi.getAgentsByType({ agentType, state }); - expect(response).toMatchSnapshot(); - }); + test('1: Get all agent types', async () => { + const response = await AgentApi.getAgentTypes({state}); + expect(response).toMatchSnapshot(); + }); + }); - test('2: Get all java agents', async () => { - const agentType = 'J2EEAgent'; - const response = await AgentApi.getAgentsByType({ agentType, state }); - expect(response).toMatchSnapshot(); - }); + describe('getAgentsByType()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.getAgentsByType).toBeDefined(); + }); - test('3: Get all web agents', async () => { - const agentType = 'WebAgent'; - const response = await AgentApi.getAgentsByType({ agentType, state }); - expect(response).toMatchSnapshot(); - }); - }); + test('1: Get all gateway agents', async () => { + const agentType = 'IdentityGatewayAgent'; + const response = await AgentApi.getAgentsByType({agentType, state}); + expect(response).toMatchSnapshot(); + }); - describe('getAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.getAgents).toBeDefined(); - }); + test('2: Get all java agents', async () => { + const agentType = 'J2EEAgent'; + const response = await AgentApi.getAgentsByType({agentType, state}); + expect(response).toMatchSnapshot(); + }); - test('1: Get all agents', async () => { - const response = await AgentApi.getAgents({ state }); - expect(response).toMatchSnapshot(); - }); - }); + test('3: Get all web agents', async () => { + const agentType = 'WebAgent'; + const response = await AgentApi.getAgentsByType({agentType, state}); + expect(response).toMatchSnapshot(); + }); + }); - describe('findAgentById()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.findAgentById).toBeDefined(); - }); + describe('getAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.getAgents).toBeDefined(); + }); - test(`1: Find agent '${gateway1.id}'`, async () => { - const response = await AgentApi.findAgentById({ - agentId: gateway1.id, - state, + test('1: Get all agents', async () => { + const response = await AgentApi.getAgents({state, globalConfig: false}); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - test(`2: Find agent '${java1.id}'`, async () => { - const response = await AgentApi.findAgentById({ - agentId: java1.id, - state, - }); - expect(response).toMatchSnapshot(); - }); + describe('getAgentGroups()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.getAgentGroups).toBeDefined(); + }); - test(`3: Find agent '${web1.id}'`, async () => { - const response = await AgentApi.findAgentById({ - agentId: web1.id, - state, + test('1: Get all agent groups', async () => { + const response = await AgentApi.getAgentGroups({ state }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - }); - describe('findAgentByTypeAndId()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.findAgentByTypeAndId).toBeDefined(); - }); + describe('findAgentById()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.findAgentById).toBeDefined(); + }); - test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => { - const response = await AgentApi.findAgentByTypeAndId({ - agentType: gateway1.type, - agentId: gateway1.id, - state, - }); - expect(response).toMatchSnapshot(); - }); + test(`1: Find agent '${gateway1.id}'`, async () => { + const response = await AgentApi.findAgentById({ + agentId: gateway1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); - test(`2: Find ${java1.type} '${java1.id}'`, async () => { - const response = await AgentApi.findAgentByTypeAndId({ - agentType: java1.type, - agentId: java1.id, - state, - }); - expect(response).toMatchSnapshot(); - }); + test(`2: Find agent '${java1.id}'`, async () => { + const response = await AgentApi.findAgentById({ + agentId: java1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); - test(`3: Find ${web1.type} '${web1.id}'`, async () => { - const response = await AgentApi.findAgentByTypeAndId({ - agentType: web1.type, - agentId: web1.id, - state, + test(`3: Find agent '${web1.id}'`, async () => { + const response = await AgentApi.findAgentById({ + agentId: web1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - }); - describe('getAgentByTypeAndId()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.getAgentByTypeAndId).toBeDefined(); - }); + describe('findAgentByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.findAgentByTypeAndId).toBeDefined(); + }); - test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => { - const response = await AgentApi.getAgentByTypeAndId({ - agentType: gateway1.type, - agentId: gateway1.id, - state, - }); - expect(response).toMatchSnapshot(); - }); + test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => { + const response = await AgentApi.findAgentByTypeAndId({ + agentType: gateway1.type, + agentId: gateway1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); - test(`2: Get ${java1.type} '${java1.id}'`, async () => { - const response = await AgentApi.getAgentByTypeAndId({ - agentType: java1.type, - agentId: java1.id, - state, - }); - expect(response).toMatchSnapshot(); - }); + test(`2: Find ${java1.type} '${java1.id}'`, async () => { + const response = await AgentApi.findAgentByTypeAndId({ + agentType: java1.type, + agentId: java1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); - test(`3: Get ${web1.type} '${web1.id}'`, async () => { - const response = await AgentApi.getAgentByTypeAndId({ - agentType: web1.type, - agentId: web1.id, - state, + test(`3: Find ${web1.type} '${web1.id}'`, async () => { + const response = await AgentApi.findAgentByTypeAndId({ + agentType: web1.type, + agentId: web1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - }); - describe('putAgentByTypeAndId()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.putAgentByTypeAndId).toBeDefined(); - }); + describe('getAgentByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.getAgentByTypeAndId).toBeDefined(); + }); + + test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => { + const response = await AgentApi.getAgentByTypeAndId({ + agentType: gateway1.type, + agentId: gateway1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); + + test(`2: Get ${java1.type} '${java1.id}'`, async () => { + const response = await AgentApi.getAgentByTypeAndId({ + agentType: java1.type, + agentId: java1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); - test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => { - const response = await AgentApi.putAgentByTypeAndId({ - agentType: gateway2.type, - agentId: gateway2.id, - agentData: getAgent(gateway2.type, gateway2.id), - state, + test(`3: Get ${web1.type} '${web1.id}'`, async () => { + const response = await AgentApi.getAgentByTypeAndId({ + agentType: web1.type, + agentId: web1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - test(`2: Put ${java2.type} '${java2.id}'`, async () => { - const response = await AgentApi.putAgentByTypeAndId({ - agentType: java2.type, - agentId: java2.id, - agentData: getAgent(java2.type, java2.id), - state, + describe('putAgentByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.putAgentByTypeAndId).toBeDefined(); + }); + + test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => { + const response = await AgentApi.putAgentByTypeAndId({ + agentType: gateway2.type, + agentId: gateway2.id, + agentData: getAgent(gateway2.type, gateway2.id), + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); + + test(`2: Put ${java2.type} '${java2.id}'`, async () => { + const response = await AgentApi.putAgentByTypeAndId({ + agentType: java2.type, + agentId: java2.id, + agentData: getAgent(java2.type, java2.id), + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); + + test(`3: Put ${web2.type} '${web2.id}'`, async () => { + const response = await AgentApi.putAgentByTypeAndId({ + agentType: web2.type, + agentId: web2.id, + agentData: getAgent(web2.type, web2.id), + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - test(`3: Put ${web2.type} '${web2.id}'`, async () => { - const response = await AgentApi.putAgentByTypeAndId({ - agentType: web2.type, - agentId: web2.id, - agentData: getAgent(web2.type, web2.id), - state, + describe('putAgentGroupByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.putAgentGroupByTypeAndId).toBeDefined(); + }); + // TODO: Write tests }); - expect(response).toMatchSnapshot(); - }); - }); - describe('deleteAgentByTypeAndId()', () => { - test('0: Method is implemented', async () => { - expect(AgentApi.deleteAgentByTypeAndId).toBeDefined(); - }); + describe('deleteAgentByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentApi.deleteAgentByTypeAndId).toBeDefined(); + }); - test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => { - const response = await AgentApi.deleteAgentByTypeAndId({ - agentType: gateway3.type, - agentId: gateway3.id, - state, + test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => { + const response = await AgentApi.deleteAgentByTypeAndId({ + agentType: gateway3.type, + agentId: gateway3.id, + state, + }); + expect(response).toMatchSnapshot(); + }); + + test(`2: Delete ${java3.type} '${java3.id}'`, async () => { + const response = await AgentApi.deleteAgentByTypeAndId({ + agentType: java3.type, + agentId: java3.id, + state, + }); + expect(response).toMatchSnapshot(); + }); + + test(`3: Delete ${web3.type} '${web3.id}'`, async () => { + const response = await AgentApi.deleteAgentByTypeAndId({ + agentType: web3.type, + agentId: web3.id, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); }); + } + // Phase 2 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '2') + ) { + describe('Classic Tests', () => { + beforeEach(() => { + setDefaultState(Constants.CLASSIC_DEPLOYMENT_TYPE_KEY); + }); - test(`2: Delete ${java3.type} '${java3.id}'`, async () => { - const response = await AgentApi.deleteAgentByTypeAndId({ - agentType: java3.type, - agentId: java3.id, - state, + describe('getAgents()', () => { + test('2: Get all global agents', async () => { + const response = await AgentApi.getAgents({state, globalConfig: true}); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); - }); - test(`3: Delete ${web3.type} '${web3.id}'`, async () => { - const response = await AgentApi.deleteAgentByTypeAndId({ - agentType: web3.type, - agentId: web3.id, - state, + describe('getAgentByTypeAndId()', () => { + test(`4: Get global agent 'AgentService'`, async () => { + const response = await AgentApi.getAgentByTypeAndId({ + agentType: { + _id: "AgentService", + name: "AgentService", + collection: true, + }, + agentId: 'AgentService', + globalConfig: true, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - expect(response).toMatchSnapshot(); }); - }); + } }); diff --git a/src/api/AgentApi.ts b/src/api/AgentApi.ts index 5a5fee585..f9e88f02e 100644 --- a/src/api/AgentApi.ts +++ b/src/api/AgentApi.ts @@ -2,7 +2,11 @@ import util from 'util'; import { State } from '../shared/State'; import { debugMessage } from '../utils/Console'; -import { getCurrentRealmPath } from '../utils/ForgeRockUtils'; +import { + getConfigPath, + getCurrentRealmPath, + getRealmPathGlobal, +} from '../utils/ForgeRockUtils'; import { deleteDeepByKey } from '../utils/JsonUtils'; import { type AmConfigEntityInterface, @@ -13,33 +17,57 @@ import { generateAmApi } from './BaseApi'; const getAgentTypesURLTemplate = '%s/json%s/realm-config/agents?_action=getAllTypes'; -const getAllAgentsURLTemplate = - '%s/json%s/realm-config/agents?_action=nextdescendents'; +const getAllAgentsURLTemplate = '%s/json%s/%s/agents?_action=nextdescendents'; const queryAgentURLTemplate = "%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'"; const queryAgentByTypeURLTemplate = "%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'"; -const agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s'; +const agentURLTemplate = '%s/json%s/%s/agents/%s/%s'; const agentListURLTemplate = '%s/json%s/realm-config/agents/%s?_queryFilter=true'; -const apiVersion = 'protocol=2.1,resource=1.0'; -const getApiConfig = () => { +const agentGroupURLTemplate = '%s/json%s/realm-config/agents/groups/%s/%s'; +const agentGroupsURLTemplate = + '%s/json%s/realm-config/agents/groups?_action=nextdescendents'; + +const apiVersion = 'protocol=2.1,resource=%s'; +const globalVersion = '1.0'; +const realmVersion = '1.0'; + +const getApiConfig = (globalConfig) => { return { - apiVersion, + apiVersion: util.format( + apiVersion, + globalConfig ? globalVersion : realmVersion + ), }; }; +export type PolicyAgentType = '2.2_Agent'; export type GatewayAgentType = 'IdentityGatewayAgent'; export type JavaAgentType = 'J2EEAgent'; +export type OAuth2ThingType = 'OAuth2Thing'; +export type RemoteConsentAgentType = 'RemoteConsentAgent'; +export type SharedAgentType = 'SharedAgent'; +export type SoapSTSAgentType = 'SoapSTSAgent'; +export type SoftwarePublisherType = 'SoftwarePublisher'; export type WebAgentType = 'WebAgent'; + export type AgentType = + | PolicyAgentType | GatewayAgentType | JavaAgentType + | OAuth2ThingType + | RemoteConsentAgentType + | SharedAgentType + | SoapSTSAgentType + | SoftwarePublisherType | WebAgentType | EntityType; export type AgentSkeleton = AmConfigEntityInterface; +export type AgentGroupSkeleton = AmConfigEntityInterface; + /** * Get agent types * @returns {Promise} a promise that resolves to an object containing an array of agent types @@ -52,7 +80,7 @@ export async function getAgentTypes({ state }: { state: State }) { getCurrentRealmPath(state) ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(false), state, }).post( urlString, @@ -67,7 +95,7 @@ export async function getAgentTypes({ state }: { state: State }) { /** * Get agents - * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) * @returns {Promise>} a promise that resolves to an object containing an array of agent objects of the specified type */ export async function getAgentsByType({ @@ -84,33 +112,37 @@ export async function getAgentsByType({ getCurrentRealmPath(state), agentType ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).get( - urlString, - { - withCredentials: true, - } - ); + const { data } = await generateAmApi({ + resource: getApiConfig(false), + state, + }).get(urlString, { + withCredentials: true, + }); debugMessage({ message: `AgentApi.getAgentsByType: end`, state }); return data; } /** * Get all agents + * @param {boolean} globalConfig true if the global agents is the target of the operation, false otherwise. default: false * @returns {Promise>} a promise that resolves to an object containing an array of agent objects */ export async function getAgents({ state, + globalConfig = false, }: { state: State; + globalConfig?: boolean; }): Promise> { debugMessage({ message: `AgentApi.getAgents: start`, state }); const urlString = util.format( getAllAgentsURLTemplate, state.getHost(), - getCurrentRealmPath(state) + getRealmPathGlobal(globalConfig, state), + getConfigPath(globalConfig) ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).post( urlString, @@ -142,19 +174,19 @@ export async function findAgentById({ getCurrentRealmPath(state), agentId ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).get( - urlString, - { - withCredentials: true, - } - ); + const { data } = await generateAmApi({ + resource: getApiConfig(false), + state, + }).get(urlString, { + withCredentials: true, + }); debugMessage({ message: `AgentApi.findAgentById: end`, state }); return data.result; } /** * Find agent by id - * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) * @param {string} agentId agent id * @returns {Promise} a promise that resolves to an array with one or zero agent objects */ @@ -175,29 +207,32 @@ export async function findAgentByTypeAndId({ agentType, agentId ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).get( - urlString, - { - withCredentials: true, - } - ); + const { data } = await generateAmApi({ + resource: getApiConfig(false), + state, + }).get(urlString, { + withCredentials: true, + }); debugMessage({ message: `AgentApi.findAgentById: end`, state }); return data.result; } /** * Get agent - * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) * @param {string} agentId agent id + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type */ export async function getAgentByTypeAndId({ agentType, agentId, + globalConfig = false, state, }: { agentType: AgentType; agentId: string; + globalConfig: boolean; state: State; }) { debugMessage({ message: `AgentApi.getAgentByTypeAndId: start`, state }); @@ -205,35 +240,39 @@ export async function getAgentByTypeAndId({ agentURLTemplate, state.getHost(), getCurrentRealmPath(state), - agentType, - agentId - ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).get( - urlString, - { - withCredentials: true, - } + getConfigPath(globalConfig), + globalConfig ? agentId : agentType, + globalConfig ? '' : agentId ); + const { data } = await generateAmApi({ + resource: getApiConfig(globalConfig), + state, + }).get(urlString, { + withCredentials: true, + }); debugMessage({ message: `AgentApi.getAgentByTypeAndId: end`, state }); return data; } /** * Put agent - * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) * @param {string} agentId agent id * @param {AgentSkeleton} agentData agent object + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an object containing an agent object */ export async function putAgentByTypeAndId({ agentType, agentId, agentData, + globalConfig = false, state, }: { agentType: AgentType; agentId: string; agentData: AgentSkeleton; + globalConfig: boolean; state: State; }): Promise { debugMessage({ message: `AgentApi.putAgentByTypeAndId: start`, state }); @@ -246,23 +285,59 @@ export async function putAgentByTypeAndId({ agentURLTemplate, state.getHost(), getCurrentRealmPath(state), - agentType, - agentId - ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).put( - urlString, - agent, - { - withCredentials: true, - } + getConfigPath(globalConfig), + globalConfig ? agentId : agentType, + globalConfig ? '' : agentId ); + const { data } = await generateAmApi({ + resource: getApiConfig(globalConfig), + state, + }).put(urlString, agent, { + withCredentials: true, + }); debugMessage({ message: `AgentApi.putAgentByTypeAndId: end`, state }); return data; } +/** + * Put agent group + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) + * @param {string} agentGroupId agent group id + * @param {AgentGroupSkeleton} agentGroupData agent group object + * @returns {Promise} a promise that resolves to an object containing an agent group object + */ +export async function putAgentGroupByTypeAndId({ + agentType, + agentGroupId, + agentGroupData, + state, +}: { + agentType: AgentType; + agentGroupId: string; + agentGroupData: AgentGroupSkeleton; + state: State; +}): Promise { + debugMessage({ message: `AgentApi.putAgentGroupByTypeAndId: start`, state }); + const urlString = util.format( + agentGroupURLTemplate, + state.getHost(), + getCurrentRealmPath(state), + agentType, + agentGroupId + ); + const { data } = await generateAmApi({ + resource: getApiConfig(false), + state, + }).put(urlString, agentGroupData, { + withCredentials: true, + }); + debugMessage({ message: `AgentApi.putAgentGroupByTypeAndId: end`, state }); + return data; +} + /** * Delete agent - * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent, etc.) * @param {string} agentId agent id * @returns {Promise} a promise that resolves to an object containing an agent object */ @@ -280,11 +355,12 @@ export async function deleteAgentByTypeAndId({ agentURLTemplate, state.getHost(), getCurrentRealmPath(state), + getConfigPath(false), agentType, agentId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(false), state, }).delete(urlString, { withCredentials: true, @@ -292,3 +368,32 @@ export async function deleteAgentByTypeAndId({ debugMessage({ message: `AgentApi.deleteAgentByTypeAndId: end`, state }); return data; } + +/** + * Get all agent groups + * @returns {Promise>} a promise that resolves to an object containing an array of agent group objects + */ +export async function getAgentGroups({ + state, +}: { + state: State; +}): Promise> { + debugMessage({ message: `AgentApi.getAgentGroups: start`, state }); + const urlString = util.format( + agentGroupsURLTemplate, + state.getHost(), + getCurrentRealmPath(state) + ); + const { data } = await generateAmApi({ + resource: getApiConfig(false), + state, + }).post( + urlString, + {}, + { + withCredentials: true, + } + ); + debugMessage({ message: `AgentApi.getAgentGroups: end`, state }); + return data; +} diff --git a/src/api/AuthenticationSettingsApi.ts b/src/api/AuthenticationSettingsApi.ts index 80781aceb..573097f5a 100644 --- a/src/api/AuthenticationSettingsApi.ts +++ b/src/api/AuthenticationSettingsApi.ts @@ -2,16 +2,20 @@ import util from 'util'; import { State } from '../shared/State'; import { debugMessage } from '../utils/Console'; -import { getCurrentRealmPath } from '../utils/ForgeRockUtils'; +import { getConfigPath, getRealmPathGlobal } from '../utils/ForgeRockUtils'; import { type IdObjectSkeletonInterface } from './ApiTypes'; import { generateAmApi } from './BaseApi'; -const authenticationSettingsURLTemplate = - '%s/json%s/realm-config/authentication'; -const apiVersion = 'resource=1.0'; -const getApiConfig = () => { +const authenticationSettingsURLTemplate = '%s/json%s/%s/authentication'; +const apiVersion = 'protocol=2.1,resource=%s'; +const globalVersion = '1.0'; +const realmVersion = '1.0'; +const getApiConfig = (globalConfig) => { return { - apiVersion, + apiVersion: util.format( + apiVersion, + globalConfig ? globalVersion : realmVersion + ), }; }; @@ -26,12 +30,15 @@ export type AuthenticationSettingsSkeleton = IdObjectSkeletonInterface & { /** * Get authentication settings + * @param {boolean} globalConfig true if global authentication settings are the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an authentication settings object */ export async function getAuthenticationSettings({ state, + globalConfig = false, }: { state: State; + globalConfig: boolean; }): Promise { debugMessage({ message: `AuthenticationSettingsApi.getAuthenticationSettings: start`, @@ -40,14 +47,15 @@ export async function getAuthenticationSettings({ const urlString = util.format( authenticationSettingsURLTemplate, state.getHost(), - getCurrentRealmPath(state) - ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).get( - urlString, - { - withCredentials: true, - } + getRealmPathGlobal(globalConfig, state), + getConfigPath(globalConfig) ); + const { data } = await generateAmApi({ + resource: getApiConfig(globalConfig), + state, + }).get(urlString, { + withCredentials: true, + }); debugMessage({ message: `AuthenticationSettingsApi.getAuthenticationSettings: end`, state, @@ -58,13 +66,16 @@ export async function getAuthenticationSettings({ /** * Put authentication settings * @param {AuthenticationSettingsSkeleton} settings authentication settings object + * @param {boolean} globalConfig true if global authentication settings are the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an authentiction settings object */ export async function putAuthenticationSettings({ settings, + globalConfig = false, state, }: { settings: AuthenticationSettingsSkeleton; + globalConfig: boolean; state: State; }): Promise { debugMessage({ @@ -74,15 +85,15 @@ export async function putAuthenticationSettings({ const urlString = util.format( authenticationSettingsURLTemplate, state.getHost(), - getCurrentRealmPath(state) - ); - const { data } = await generateAmApi({ resource: getApiConfig(), state }).put( - urlString, - settings, - { - withCredentials: true, - } + getRealmPathGlobal(globalConfig, state), + getConfigPath(globalConfig) ); + const { data } = await generateAmApi({ + resource: getApiConfig(globalConfig), + state, + }).put(urlString, settings, { + withCredentials: true, + }); debugMessage({ message: `AuthenticationSettingsApi.putAuthenticationSettings: end`, state, diff --git a/src/api/ScriptApi.ts b/src/api/ScriptApi.ts index f6fe1f30f..dda96586a 100644 --- a/src/api/ScriptApi.ts +++ b/src/api/ScriptApi.ts @@ -9,6 +9,8 @@ const scriptURLTemplate = '%s/json%s/scripts/%s'; const scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true'; const scriptQueryURLTemplate = '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22'; +const libraryConfigQueryURLTemplate = + '%s/json%s/libraries?_queryFilter=name+eq+%%22%s%%22'; const apiVersion = 'protocol=2.0,resource=1.0'; const getApiConfig = () => { return { @@ -46,6 +48,20 @@ export type ScriptSkeleton = IdObjectSkeletonInterface & { creationDate: number; lastModifiedBy: string; lastModifiedDate: number; + exports?: { + arity?: number; + id: string; + type: string; + }[]; +}; + +export type LibraryScriptConfigSkeleton = IdObjectSkeletonInterface & { + name: string; + exports: { + arity?: number; + id: string; + type: string; + }[]; }; /** @@ -123,6 +139,32 @@ export async function getScript({ return data; } +/** + * Get library script config by name + * @param {String} scriptName script name + * @returns {Promise>} a promise that resolves to an object containing the library script config + */ +export async function getLibraryScriptConfigByName({ + scriptName, + state, +}: { + scriptName: string; + state: State; +}): Promise> { + const urlString = util.format( + libraryConfigQueryURLTemplate, + state.getHost(), + getCurrentRealmPath(state), + encodeURIComponent(scriptName) + ); + const { data } = await generateAmApi({ resource: getApiConfig(), state }).get< + PagedResult + >(urlString, { + withCredentials: true, + }); + return data; +} + /** * Put script * @param {string} scriptId script uuid diff --git a/src/api/ServiceApi.ts b/src/api/ServiceApi.ts index b3a7eb629..f7b5e332a 100644 --- a/src/api/ServiceApi.ts +++ b/src/api/ServiceApi.ts @@ -11,13 +11,18 @@ const serviceURLNextDescendentsTemplate = const serviceURLNextDescendentTemplate = '%s/json%s/%s/services/%s/%s/%s'; //Use _action=nextdescendents since it works on all deployments const serviceListURLTemplate = '%s/json%s/%s/services?_action=nextdescendents'; -const apiVersion = 'protocol=2.0,resource=1.0'; +const apiVersion = 'protocol=2.0,resource=%s'; +const globalVersion = '1.0'; +const realmVersion = '1.0'; -function getApiConfig() { +const getApiConfig = (globalConfig: boolean) => { return { - apiVersion, + apiVersion: util.format( + apiVersion, + globalConfig ? globalVersion : realmVersion + ), }; -} +}; export type AmServiceSkeleton = AmConfigEntityInterface & { // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -56,7 +61,7 @@ export async function getListOfServices({ getConfigPath(globalConfig) ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).post>(urlString, undefined, { withCredentials: true, @@ -87,7 +92,7 @@ export async function getService({ serviceId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).get(urlString, { withCredentials: true, @@ -118,7 +123,7 @@ export async function getServiceDescendents({ serviceId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).post(urlString, undefined, { withCredentials: true, @@ -152,7 +157,7 @@ export async function putService({ serviceId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).put(urlString, serviceData, { withCredentials: true, @@ -195,7 +200,7 @@ export async function putServiceNextDescendent({ serviceNextDescendentId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).put(urlString, serviceNextDescendentData, { withCredentials: true, @@ -227,7 +232,7 @@ export async function deleteService({ serviceId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).delete(urlString, { withCredentials: true, @@ -266,7 +271,7 @@ export async function deleteServiceNextDescendent({ serviceNextDescendentId ); const { data } = await generateAmApi({ - resource: getApiConfig(), + resource: getApiConfig(globalConfig), state, }).delete(urlString, { withCredentials: true, diff --git a/src/ops/AgentOps.test.ts b/src/ops/AgentOps.test.ts index 01bf5251d..636cdd7f4 100644 --- a/src/ops/AgentOps.test.ts +++ b/src/ops/AgentOps.test.ts @@ -3,17 +3,23 @@ * * 1. Record API responses & update ESM snapshots * - * This step breaks down into 4 phases: + * This step breaks down into 5 phases: * * Phase 1: Record Non-destructive tests * Phase 2: Record Group 1 of DESTRUCTIVE tests - Deletes by ID * Phase 3: Record Group 2 of DESTRUCTIVE tests - Deletes by type * Phase 4: Record Group 3 of DESTRUCTIVE tests - Delete all + * Phase 5: Record tests that require classic deployment * * Because destructive tests interfere with the recording of non-destructive * tests and also interfere among themselves, they have to be run in groups * of non-interfering tests. * + * Make sure to set the FRODO_HOST and FRODO_REALM environment variables when + * recording to ensure you are using the right deployment for phase 5 (by default these are + * set to the frodo-dev cloud tenant and alpha realm respectively). Alternatively, + * you can use FRODO_DEPLOY=classic to use the default settings of host/realm for classic deployments. + * * To record and update ESM snapshots, you must call the test:record * script and override all the connection state variables required * to connect to the env to record from and also indicate the phase: @@ -50,9 +56,10 @@ import { state } from '../index'; import * as AgentApi from '../api/AgentApi'; import * as AgentOps from './AgentOps'; import { getAgent } from '../test/mocks/ForgeRockApiMockEngine'; -import { autoSetupPolly } from '../utils/AutoSetupPolly'; +import { autoSetupPolly, setDefaultState } from '../utils/AutoSetupPolly'; import { filterRecording } from '../utils/PollyUtils'; import { FrodoError } from './FrodoError'; +import Constants from "../shared/Constants"; const ctx = autoSetupPolly(); @@ -65,6 +72,7 @@ async function stageAgent( await AgentApi.getAgentByTypeAndId({ agentType: agent.type, agentId: agent.id, + globalConfig: false, state, }); await AgentApi.deleteAgentByTypeAndId({ @@ -80,6 +88,7 @@ async function stageAgent( agentType: agent.type, agentId: agent.id, agentData: getAgent(agent.type, agent.id), + globalConfig: false, state, }); } @@ -274,17 +283,20 @@ describe('AgentOps', () => { }); } }); - - // Phase 1 - if ( - !process.env.FRODO_POLLY_MODE || - (process.env.FRODO_POLLY_MODE === 'record' && - process.env.FRODO_RECORD_PHASE === '1') - ) { - describe('createAgentExportTemplate()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.createAgentExportTemplate).toBeDefined(); - }); + describe('Cloud Tests', () => { + beforeEach(() => { + setDefaultState() + }); + // Phase 1 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '1') + ) { + describe('createAgentExportTemplate()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.createAgentExportTemplate).toBeDefined(); + }); test('1: Create Agent Export Template', async () => { const response = AgentOps.createAgentExportTemplate({ state }); @@ -294,334 +306,389 @@ describe('AgentOps', () => { }); }); - describe('readAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readAgents).toBeDefined(); - }); + describe('readAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readAgents).toBeDefined(); + }); - test('1: Read all agents', async () => { - const response = await AgentOps.readAgents({ state }); - expect(response).toMatchSnapshot(); + test('1: Read all agents', async () => { + const response = await AgentOps.readAgents({state, globalConfig: false,}); + expect(response).toMatchSnapshot(); + }); }); - }); - describe('readAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readAgent).toBeDefined(); - }); + describe('readAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readAgent).toBeDefined(); + }); - test(`1: Read agent '${gateway1.id}' (${gateway1.type})`, async () => { - const response = await AgentOps.readAgent({ - agentId: gateway1.id, - state, + test(`1: Read agent '${gateway1.id}' (${gateway1.type})`, async () => { + const response = await AgentOps.readAgent({ + agentId: gateway1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); - }); - test(`2: Read agent '${java1.id}' (${java1.type})`, async () => { - const response = await AgentOps.readAgent({ agentId: java1.id, state }); - expect(response).toMatchSnapshot(); - }); + test(`2: Read agent '${java1.id}' (${java1.type})`, async () => { + const response = await AgentOps.readAgent({agentId: java1.id, globalConfig: false, state}); + expect(response).toMatchSnapshot(); + }); - test(`3: Read agent '${web1.id}' (${web1.type})`, async () => { - const response = await AgentOps.readAgent({ agentId: web1.id, state }); - expect(response).toMatchSnapshot(); + test(`3: Read agent '${web1.id}' (${web1.type})`, async () => { + const response = await AgentOps.readAgent({agentId: web1.id, globalConfig: false, state}); + expect(response).toMatchSnapshot(); + }); }); - }); - describe('readAgentByTypeAndId()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readAgentByTypeAndId).toBeDefined(); - }); + describe('createAgentGroupExportTemplate()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.createAgentGroupExportTemplate).toBeDefined(); + }); - test(`1: Read agent by type '${gateway1.id}' (${gateway1.type})`, async () => { - const response = await AgentOps.readAgentByTypeAndId({ - agentType: gateway1.type, - agentId: gateway1.id, - state, + test('1: Create Agent Group Export Template', async () => { + const response = AgentOps.createAgentGroupExportTemplate({ state }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); - expect(response).toMatchSnapshot(); }); - test(`2: Read agent by type '${java1.id}' (${java1.type})`, async () => { - const response = await AgentOps.readAgentByTypeAndId({ - agentType: java1.type, - agentId: java1.id, - state, + describe('readAgentGroup()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readAgentGroup).toBeDefined(); }); - expect(response).toMatchSnapshot(); + //TODO: create tests }); - test(`3: Read agent by type '${web1.id}' (${web1.type})`, async () => { - const response = await AgentOps.readAgentByTypeAndId({ - agentType: web1.type, - agentId: web1.id, - state, + describe('readAgentGroups()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readAgentGroups).toBeDefined(); }); - expect(response).toMatchSnapshot(); - }); - }); - describe('readIdentityGatewayAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readIdentityGatewayAgents).toBeDefined(); + test('1: Read Agent Groups', async () => { + const response = await AgentOps.readAgentGroups({ state }); + expect(response).toMatchSnapshot(); + }); }); - test('1: Read gateway agents', async () => { - const response = await AgentOps.readIdentityGatewayAgents({ state }); - expect(response).toMatchSnapshot(); + describe('exportAgentGroup()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportAgentGroup).toBeDefined(); + }); + //TODO: create tests }); - }); - describe('readIdentityGatewayAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readIdentityGatewayAgent).toBeDefined(); - }); + describe('exportAgentGroups()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportAgentGroups).toBeDefined(); + }); - test(`1: Read ${gateway1.type} '${gateway1.id}'`, async () => { - const response = await AgentOps.readIdentityGatewayAgent({ - gatewayId: gateway1.id, - state, + test('1: Export Agent Groups', async () => { + const response = await AgentOps.exportAgentGroups({ state }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); - expect(response).toMatchSnapshot(); }); - }); - describe('updateIdentityGatewayAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.updateIdentityGatewayAgent).toBeDefined(); - }); + describe('readAgentByTypeAndId()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readAgentByTypeAndId).toBeDefined(); + }); - test(`1: Update ${gateway2.type} '${gateway2.id}'`, async () => { - const response = await AgentOps.updateIdentityGatewayAgent({ - gatewayId: gateway2.id, - gatewayData: getAgent(gateway2.type, gateway2.id), - state, + test(`1: Read agent by type '${gateway1.id}' (${gateway1.type})`, async () => { + const response = await AgentOps.readAgentByTypeAndId({ + agentType: gateway1.type, + agentId: gateway1.id, + state, + }); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); - }); - }); - describe('readJavaAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readJavaAgents).toBeDefined(); - }); + test(`2: Read agent by type '${java1.id}' (${java1.type})`, async () => { + const response = await AgentOps.readAgentByTypeAndId({ + agentType: java1.type, + agentId: java1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); - test('1: Read java agents', async () => { - const response = await AgentOps.readJavaAgents({ state }); - expect(response).toMatchSnapshot(); + test(`3: Read agent by type '${web1.id}' (${web1.type})`, async () => { + const response = await AgentOps.readAgentByTypeAndId({ + agentType: web1.type, + agentId: web1.id, + state, + }); + expect(response).toMatchSnapshot(); + }); }); - }); - describe('readJavaAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readJavaAgent).toBeDefined(); - }); + describe('readIdentityGatewayAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readIdentityGatewayAgents).toBeDefined(); + }); - test(`1: Read ${java1.type} '${java1.id}'`, async () => { - const response = await AgentOps.readJavaAgent({ - agentId: java1.id, - state, + test('1: Read gateway agents', async () => { + const response = await AgentOps.readIdentityGatewayAgents({state}); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); }); - }); - describe('uodateJavaAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.updateJavaAgent).toBeDefined(); - }); + describe('readIdentityGatewayAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readIdentityGatewayAgent).toBeDefined(); + }); - test(`1: Update ${java2.type} '${java2.id}'`, async () => { - const response = await AgentOps.updateJavaAgent({ - agentId: java2.id, - agentData: getAgent(java2.type, java2.id), - state, + test(`1: Read ${gateway1.type} '${gateway1.id}'`, async () => { + const response = await AgentOps.readIdentityGatewayAgent({ + gatewayId: gateway1.id, + state, + }); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); }); - }); - describe('readWebAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readWebAgents).toBeDefined(); - }); + describe('updateIdentityGatewayAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.updateIdentityGatewayAgent).toBeDefined(); + }); - test('1: Read web agents', async () => { - const response = await AgentOps.readWebAgents({ state }); - expect(response).toMatchSnapshot(); + test(`1: Update ${gateway2.type} '${gateway2.id}'`, async () => { + const response = await AgentOps.updateIdentityGatewayAgent({ + gatewayId: gateway2.id, + gatewayData: getAgent(gateway2.type, gateway2.id), + state, + }); + expect(response).toMatchSnapshot(); + }); }); - }); - describe('readWebAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.readWebAgent).toBeDefined(); - }); + describe('readJavaAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readJavaAgents).toBeDefined(); + }); - test(`1: Read ${web1.type} '${web1.id}'`, async () => { - const response = await AgentOps.readWebAgent({ - agentId: web1.id, - state, + test('1: Read java agents', async () => { + const response = await AgentOps.readJavaAgents({state}); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); }); - }); - describe('updateWebAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.updateWebAgent).toBeDefined(); - }); + describe('readJavaAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readJavaAgent).toBeDefined(); + }); - test(`1: Update ${web2.type} '${web2.id}'`, async () => { - const response = await AgentOps.updateWebAgent({ - agentId: web2.id, - agentData: getAgent(web2.type, web2.id), - state, + test(`1: Read ${java1.type} '${java1.id}'`, async () => { + const response = await AgentOps.readJavaAgent({ + agentId: java1.id, + state, + }); + expect(response).toMatchSnapshot(); }); - expect(response).toMatchSnapshot(); }); - }); - describe('exportAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportAgents).toBeDefined(); - }); + describe('uodateJavaAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.updateJavaAgent).toBeDefined(); + }); - test('1: Export all agents', async () => { - const response = await AgentOps.exportAgents({ state }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + test(`1: Update ${java2.type} '${java2.id}'`, async () => { + const response = await AgentOps.updateJavaAgent({ + agentId: java2.id, + agentData: getAgent(java2.type, java2.id), + state, + }); + expect(response).toMatchSnapshot(); }); }); - }); - describe('exportIdentityGatewayAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportIdentityGatewayAgents).toBeDefined(); - }); + describe('readWebAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readWebAgents).toBeDefined(); + }); - test('1: Export gateway agents', async () => { - const response = await AgentOps.exportIdentityGatewayAgents({ state }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + test('1: Read web agents', async () => { + const response = await AgentOps.readWebAgents({state}); + expect(response).toMatchSnapshot(); }); }); - }); - describe('exportJavaAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportJavaAgents).toBeDefined(); - }); + describe('readWebAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.readWebAgent).toBeDefined(); + }); - test('1: Export java agents', async () => { - const response = await AgentOps.exportJavaAgents({ state }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + test(`1: Read ${web1.type} '${web1.id}'`, async () => { + const response = await AgentOps.readWebAgent({ + agentId: web1.id, + state, + }); + expect(response).toMatchSnapshot(); }); }); - }); - describe('exportWebAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportJavaAgents).toBeDefined(); - }); + describe('updateWebAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.updateWebAgent).toBeDefined(); + }); - test('1: Export web agents', async () => { - const response = await AgentOps.exportWebAgents({ state }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + test(`1: Update ${web2.type} '${web2.id}'`, async () => { + const response = await AgentOps.updateWebAgent({ + agentId: web2.id, + agentData: getAgent(web2.type, web2.id), + state, + }); + expect(response).toMatchSnapshot(); }); }); - }); - describe('exportAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportAgent).toBeDefined(); + describe('exportAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportAgents).toBeDefined(); + }); + + test('1: Export all agents', async () => { + const response = await AgentOps.exportAgents({state, globalConfig: false}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); }); - test(`1: Export agent '${gateway1.id}' (${gateway1.type})`, async () => { - const response = await AgentOps.exportAgent({ - agentId: gateway1.id, - state, + describe('exportIdentityGatewayAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportIdentityGatewayAgents).toBeDefined(); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test('1: Export gateway agents', async () => { + const response = await AgentOps.exportIdentityGatewayAgents({state}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); }); - test(`2: Export agent '${java1.id}' (${java1.type})`, async () => { - const response = await AgentOps.exportAgent({ - agentId: java1.id, - state, + describe('exportJavaAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportJavaAgents).toBeDefined(); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test('1: Export java agents', async () => { + const response = await AgentOps.exportJavaAgents({state}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); }); - test(`3: Export agent '${web1.id}' (${web1.type})`, async () => { - const response = await AgentOps.exportAgent({ - agentId: web1.id, - state, + describe('exportWebAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportJavaAgents).toBeDefined(); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test('1: Export web agents', async () => { + const response = await AgentOps.exportWebAgents({state}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); }); - }); - describe('exportIdentityGatewayAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportIdentityGatewayAgent).toBeDefined(); - }); + describe('exportAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportAgent).toBeDefined(); + }); - test(`1: Export ${gateway1.type} '${gateway1.id}'`, async () => { - const response = await AgentOps.exportIdentityGatewayAgent({ - agentId: gateway1.id, - state, + test(`1: Export agent '${gateway1.id}' (${gateway1.type})`, async () => { + const response = await AgentOps.exportAgent({ + agentId: gateway1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test(`2: Export agent '${java1.id}' (${java1.type})`, async () => { + const response = await AgentOps.exportAgent({ + agentId: java1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); - }); - }); - describe('exportJavaAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportJavaAgent).toBeDefined(); + test(`3: Export agent '${web1.id}' (${web1.type})`, async () => { + const response = await AgentOps.exportAgent({ + agentId: web1.id, + globalConfig: false, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); }); - test(`1: Export ${java1.type} '${java1.id}'`, async () => { - const response = await AgentOps.exportJavaAgent({ - agentId: java1.id, - state, + describe('exportIdentityGatewayAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportIdentityGatewayAgent).toBeDefined(); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test(`1: Export ${gateway1.type} '${gateway1.id}'`, async () => { + const response = await AgentOps.exportIdentityGatewayAgent({ + agentId: gateway1.id, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); }); - }); - describe('exportWebAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.exportWebAgent).toBeDefined(); + describe('exportJavaAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportJavaAgent).toBeDefined(); + }); + + test(`1: Export ${java1.type} '${java1.id}'`, async () => { + const response = await AgentOps.exportJavaAgent({ + agentId: java1.id, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); }); - test(`1: Export ${web1.type} '${web1.id}'`, async () => { - const response = await AgentOps.exportWebAgent({ - agentId: web1.id, - state, + describe('exportWebAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.exportWebAgent).toBeDefined(); }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + + test(`1: Export ${web1.type} '${web1.id}'`, async () => { + const response = await AgentOps.exportWebAgent({ + agentId: web1.id, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); }); }); - }); - describe('importAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importAgents).toBeDefined(); - }); + describe('importAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importAgents).toBeDefined(); + }); test('1: Import all agents', async () => { const agents = { @@ -633,16 +700,23 @@ describe('AgentOps', () => { for (const agentId of Object.keys(agents)) { exportData.agent[agentId] = getAgent(agents[agentId], agentId); } - await AgentOps.importAgents({ importData: exportData, state }); + await AgentOps.importAgents({ importData: exportData, globalConfig: false, state }); expect(true).toBeTruthy(); }); }); - describe('importIdentityGatewayAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importIdentityGatewayAgents).toBeDefined(); + describe('importAgentGroups()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importAgentGroups).toBeDefined(); + }); + // TODO: Write tests }); + describe('importIdentityGatewayAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importIdentityGatewayAgents).toBeDefined(); + }); + test('1: Import all gateway agents', async () => { const agents = { [gateway4.id]: gateway4.type, @@ -681,10 +755,10 @@ describe('AgentOps', () => { }); }); - describe('importJavaAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importJavaAgents).toBeDefined(); - }); + describe('importJavaAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importJavaAgents).toBeDefined(); + }); test('1: Import all java agents', async () => { const agents = { @@ -718,10 +792,10 @@ describe('AgentOps', () => { }); }); - describe('importWebAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importWebAgents).toBeDefined(); - }); + describe('importWebAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importWebAgents).toBeDefined(); + }); test('1: Import all web agents', async () => { const agents = { @@ -755,10 +829,10 @@ describe('AgentOps', () => { }); }); - describe('importAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importAgent).toBeDefined(); - }); + describe('importAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importAgent).toBeDefined(); + }); test('1: Import gateway agent', async () => { const exportData = AgentOps.createAgentExportTemplate({ state }); @@ -766,6 +840,7 @@ describe('AgentOps', () => { await AgentOps.importAgent({ agentId: gateway6.id, importData: exportData, + globalConfig: false, state, }); expect(true).toBeTruthy(); @@ -777,6 +852,7 @@ describe('AgentOps', () => { await AgentOps.importAgent({ agentId: java6.id, importData: exportData, + globalConfig: false, state, }); expect(true).toBeTruthy(); @@ -788,17 +864,25 @@ describe('AgentOps', () => { await AgentOps.importAgent({ agentId: web6.id, importData: exportData, + globalConfig: false, state, }); expect(true).toBeTruthy(); }); }); - describe('importIdentityGatewayAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importIdentityGatewayAgent).toBeDefined(); + describe('importAgentGroup()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importAgentGroup).toBeDefined(); + }); + // TODO: Write tests }); + describe('importIdentityGatewayAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importIdentityGatewayAgent).toBeDefined(); + }); + test(`1: Import ${gateway7.type} '${gateway7.id}'`, async () => { const exportData = AgentOps.createAgentExportTemplate({ state }); exportData.agent[gateway7.id] = getAgent(gateway7.type, gateway7.id); @@ -827,10 +911,10 @@ describe('AgentOps', () => { }); }); - describe('importJavaAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importJavaAgents).toBeDefined(); - }); + describe('importJavaAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importJavaAgents).toBeDefined(); + }); test(`1: Import ${java7.type} '${java7.id}'`, async () => { const exportData = AgentOps.createAgentExportTemplate({ state }); @@ -860,10 +944,10 @@ describe('AgentOps', () => { }); }); - describe('importWebAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.importWebAgent).toBeDefined(); - }); + describe('importWebAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.importWebAgent).toBeDefined(); + }); test(`1: Import ${web7.type} '${web7.id}'`, async () => { const exportData = AgentOps.createAgentExportTemplate({ state }); @@ -894,158 +978,211 @@ describe('AgentOps', () => { }); } - // Phase 2 - if ( - !process.env.FRODO_POLLY_MODE || - (process.env.FRODO_POLLY_MODE === 'record' && - process.env.FRODO_RECORD_PHASE === '2') - ) { - describe('deleteAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteAgent).toBeDefined(); - }); - - test(`1: Delete agent '${gateway8.id}' (${gateway8.type})`, async () => { - await AgentOps.deleteAgent({ agentId: gateway8.id, state }); - expect(true).toBeTruthy(); - }); + // Phase 2 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '2') + ) { + describe('deleteAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteAgent).toBeDefined(); + }); - test(`2: Delete agent '${java8.id}' (${java8.type})`, async () => { - await AgentOps.deleteAgent({ agentId: java8.id, state }); - expect(true).toBeTruthy(); - }); + test(`1: Delete agent '${gateway8.id}' (${gateway8.type})`, async () => { + await AgentOps.deleteAgent({agentId: gateway8.id, state}); + expect(true).toBeTruthy(); + }); - test(`3: Delete agent '${web8.id}' (${web8.type})`, async () => { - await AgentOps.deleteAgent({ agentId: web8.id, state }); - expect(true).toBeTruthy(); - }); - }); + test(`2: Delete agent '${java8.id}' (${java8.type})`, async () => { + await AgentOps.deleteAgent({agentId: java8.id, state}); + expect(true).toBeTruthy(); + }); - describe('deleteIdentityGatewayAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteIdentityGatewayAgent).toBeDefined(); + test(`3: Delete agent '${web8.id}' (${web8.type})`, async () => { + await AgentOps.deleteAgent({agentId: web8.id, state}); + expect(true).toBeTruthy(); + }); }); - test(`1: Delete ${gateway9.type} '${gateway9.id}'`, async () => { - await AgentOps.deleteIdentityGatewayAgent({ - agentId: gateway9.id, - state, + describe('deleteIdentityGatewayAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteIdentityGatewayAgent).toBeDefined(); }); - expect(true).toBeTruthy(); - }); - test(`2: Delete agent of wrong type '${java9.id}' (${java9.type})`, async () => { - expect.assertions(2); - try { + test(`1: Delete ${gateway9.type} '${gateway9.id}'`, async () => { await AgentOps.deleteIdentityGatewayAgent({ - agentId: java9.id, + agentId: gateway9.id, state, }); - } catch (error) { - expect(error.name).toEqual('FrodoError'); - expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); - } - }); - }); + expect(true).toBeTruthy(); + }); - describe('deleteJavaAgent()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteJavaAgent).toBeDefined(); + test(`2: Delete agent of wrong type '${java9.id}' (${java9.type})`, async () => { + expect.assertions(2); + try { + await AgentOps.deleteIdentityGatewayAgent({ + agentId: java9.id, + state, + }); + } catch (error) { + expect(error.name).toEqual('FrodoError'); + expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); + } + }); }); - test(`1: Delete ${java9.type} '${java9.id}'`, async () => { - await AgentOps.deleteJavaAgent({ agentId: java9.id, state }); - expect(true).toBeTruthy(); - }); + describe('deleteJavaAgent()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteJavaAgent).toBeDefined(); + }); - test(`2: Delete agent of wrong type '${web9.id}' (${web9.type})`, async () => { - expect.assertions(2); - try { - await AgentOps.deleteJavaAgent({ agentId: web9.id, state }); - } catch (error) { - expect(error.name).toEqual('FrodoError'); - expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); - } - }); - }); + test(`1: Delete ${java9.type} '${java9.id}'`, async () => { + await AgentOps.deleteJavaAgent({agentId: java9.id, state}); + expect(true).toBeTruthy(); + }); - describe('deleteWebAgent()', () => { - test('deleteWebAgent() 0: Method is implemented', async () => { - expect(AgentOps.deleteWebAgent).toBeDefined(); + test(`2: Delete agent of wrong type '${web9.id}' (${web9.type})`, async () => { + expect.assertions(2); + try { + await AgentOps.deleteJavaAgent({agentId: web9.id, state}); + } catch (error) { + expect(error.name).toEqual('FrodoError'); + expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); + } + }); }); - test(`1: Delete ${web9.type} '${web9.id}'`, async () => { - await AgentOps.deleteWebAgent({ agentId: web9.id, state }); - expect(true).toBeTruthy(); - }); + describe('deleteWebAgent()', () => { + test('deleteWebAgent() 0: Method is implemented', async () => { + expect(AgentOps.deleteWebAgent).toBeDefined(); + }); - test(`2: Delete agent of wrong type '${gateway9.id}' (${gateway9.type})`, async () => { - expect.assertions(2); - try { - await AgentOps.deleteWebAgent({ agentId: gateway9.id, state }); - } catch (error) { - expect(error.name).toEqual('FrodoError'); - expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); - } - }); - }); - } + test(`1: Delete ${web9.type} '${web9.id}'`, async () => { + await AgentOps.deleteWebAgent({agentId: web9.id, state}); + expect(true).toBeTruthy(); + }); - // Phase 3 - if ( - !process.env.FRODO_POLLY_MODE || - (process.env.FRODO_POLLY_MODE === 'record' && - process.env.FRODO_RECORD_PHASE === '3') - ) { - describe('deleteIdentityGatewayAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteIdentityGatewayAgents).toBeDefined(); + test(`2: Delete agent of wrong type '${gateway9.id}' (${gateway9.type})`, async () => { + expect.assertions(2); + try { + await AgentOps.deleteWebAgent({agentId: gateway9.id, state}); + } catch (error) { + expect(error.name).toEqual('FrodoError'); + expect((error as FrodoError).getCombinedMessage()).toMatchSnapshot(); + } + }); }); + } - test('1: Delete all gateway agents', async () => { - await AgentOps.deleteIdentityGatewayAgents({ state }); - expect(true).toBeTruthy(); - }); - }); + // Phase 3 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '3') + ) { + describe('deleteIdentityGatewayAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteIdentityGatewayAgents).toBeDefined(); + }); - describe('deleteJavaAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteJavaAgents).toBeDefined(); + test('1: Delete all gateway agents', async () => { + await AgentOps.deleteIdentityGatewayAgents({ state }); + expect(true).toBeTruthy(); + }); }); - test('1: Delete all java agents', async () => { - await AgentOps.deleteJavaAgents({ state }); - expect(true).toBeTruthy(); - }); - }); + describe('deleteJavaAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteJavaAgents).toBeDefined(); + }); - describe('deleteWebAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteWebAgents).toBeDefined(); + test('1: Delete all java agents', async () => { + await AgentOps.deleteJavaAgents({ state }); + expect(true).toBeTruthy(); + }); }); - test('1: Delete all web agents', async () => { - await AgentOps.deleteWebAgents({ state }); - expect(true).toBeTruthy(); + describe('deleteWebAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteWebAgents).toBeDefined(); + }); + + test('1: Delete all web agents', async () => { + await AgentOps.deleteWebAgents({ state }); + expect(true).toBeTruthy(); + }); }); - }); - } + } - // Phase 4 + // Phase 4 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '4') + ) { + describe('deleteAgents()', () => { + test('0: Method is implemented', async () => { + expect(AgentOps.deleteAgents).toBeDefined(); + }); + + test('1: Delete all agents', async () => { + expect.assertions(1); + await AgentOps.deleteAgents({ state }); + expect(true).toBeTruthy(); + }); + }); + } + }); + // Phase 5 if ( !process.env.FRODO_POLLY_MODE || (process.env.FRODO_POLLY_MODE === 'record' && - process.env.FRODO_RECORD_PHASE === '4') + process.env.FRODO_RECORD_PHASE === '5') ) { - describe('deleteAgents()', () => { - test('0: Method is implemented', async () => { - expect(AgentOps.deleteAgents).toBeDefined(); + describe('Classic Tests', () => { + beforeEach(() => { + setDefaultState(Constants.CLASSIC_DEPLOYMENT_TYPE_KEY) + }); + describe('readAgents()', () => { + test('2: Read all agents', async () => { + const response = await AgentOps.readAgents({state, globalConfig: true,}); + expect(response).toMatchSnapshot(); + }); }); - test('1: Delete all agents', async () => { - expect.assertions(1); - await AgentOps.deleteAgents({ state }); - expect(true).toBeTruthy(); + describe('readAgent()', () => { + test(`4: Read agent 'AgentService'`, async () => { + const response = await AgentOps.readAgent({ + agentId: 'AgentService', + globalConfig: true, + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + + describe('exportAgents()', () => { + test('2: Export all agents', async () => { + const response = await AgentOps.exportAgents({state, globalConfig: true}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); + + describe('exportAgent()', () => { + + test(`4: Export agent 'AgentService'`, async () => { + const response = await AgentOps.exportAgent({ + agentId: 'AgentService', + globalConfig: true, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); }); }); } diff --git a/src/ops/AgentOps.ts b/src/ops/AgentOps.ts index c4b7b8b58..fb53cccde 100644 --- a/src/ops/AgentOps.ts +++ b/src/ops/AgentOps.ts @@ -1,13 +1,18 @@ import { + AgentGroupSkeleton, type AgentSkeleton, type AgentType, deleteAgentByTypeAndId, findAgentById, findAgentByTypeAndId, getAgentByTypeAndId as _getAgentByTypeAndId, + getAgentGroups, + getAgents, getAgentsByType, putAgentByTypeAndId, + putAgentGroupByTypeAndId, } from '../api/AgentApi'; +import Constants from '../shared/Constants'; import { State } from '../shared/State'; import { createProgressIndicator, @@ -27,15 +32,44 @@ export type Agent = { createAgentExportTemplate(): AgentExportInterface; /** * Read all agents. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an array of agent objects */ - readAgents(): Promise; + readAgents(globalConfig: boolean): Promise; /** * Read agent * @param {string} agentId agent id/name + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an agent object */ - readAgent(agentId: string): Promise; + readAgent(agentId: string, globalConfig: boolean): Promise; + /** + * Create an empty agent group export template + * @returns {AgentGroupExportInterface} an empty agent export template + */ + createAgentGroupExportTemplate(): AgentGroupExportInterface; + /** + * Read agent group by id + * @param {string} groupId Group id + * @returns {Promise} a promise that resolves to a agent group object + */ + readAgentGroup(groupId: string): Promise; + /** + * Read all agent groups. + * @returns {Promise} a promise that resolves to an array of agent group objects + */ + readAgentGroups(): Promise; + /** + * Export a single agent group by id. The response can be saved to file as is. + * @param {string} groupId Group id + * @returns {Promise} Promise resolving to a AgentGroupExportInterface object. + */ + exportAgentGroup(groupId: string): Promise; + /** + * Export all agent groups. The response can be saved to file as is. + * @returns {Promise} Promise resolving to a AgentGroupExportInterface object. + */ + exportAgentGroups(): Promise; /** * Read agent by type and id * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) @@ -141,9 +175,10 @@ export type Agent = { ): Promise; /** * Export all agents. The response can be saved to file as is. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an AgentExportInterface object. */ - exportAgents(): Promise; + exportAgents(globalConfig: boolean): Promise; /** * Export all identity gateway agents. The response can be saved to file as is. * @returns {Promise} Promise resolving to an AgentExportInterface object. @@ -162,9 +197,13 @@ export type Agent = { /** * Export agent. The response can be saved to file as is. * @param agentId agent id/name + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an AgentExportInterface object. */ - exportAgent(agentId: string): Promise; + exportAgent( + agentId: string, + globalConfig: boolean + ): Promise; /** * Export identity gateway agent. The response can be saved to file as is. * @param agentId agent id/name @@ -185,10 +224,22 @@ export type Agent = { exportWebAgent(agentId: string): Promise; /** * Import agents. The import data is usually read from an agent export file. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @param {AgentExportInterface} importData agent import data. * @returns {Promise} The agents that were imported. */ - importAgents(importData: AgentExportInterface): Promise; + importAgents( + importData: AgentExportInterface, + globalConfig: boolean + ): Promise; + /** + * Import agents groups. The import data is usually read from an agent group export file. + * @param {AgentExportInterface} importData agent import data. + * @returns {Promise} The agent groups that were imported. + */ + importAgentGroups( + importData: AgentGroupExportInterface + ): Promise; /** * Import identity gateway agents. The import data is usually read from an agent export file. * @param {AgentExportInterface} importData agent import data. @@ -208,12 +259,24 @@ export type Agent = { * Import agent. The import data is usually read from an agent export file. * @param {string} agentId agent id/name * @param {AgentExportInterface} importData agent import data. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an agent object. */ importAgent( agentId: string, - importData: AgentExportInterface + importData: AgentExportInterface, + globalConfig: boolean ): Promise; + /** + * Import agent group. The import data is usually read from an agent group export file. + * @param {string} agentGroupId agent group id/name + * @param {AgentGroupExportInterface} importData agent group import data. + * @returns {Promise} Promise resolving to an agent group object. + */ + importAgentGroup( + agentGroupId: string, + importData: AgentGroupExportInterface + ): Promise; /** * Import identity gateway agent. The import data is usually read from an agent export file. * @param {string} agentId agent id/name @@ -437,11 +500,31 @@ export default (state: State): Agent => { createAgentExportTemplate(): AgentExportInterface { return createAgentExportTemplate({ state }); }, - async readAgents(): Promise { - return readAgents({ state }); + async readAgents(globalConfig = false): Promise { + return readAgents({ state, globalConfig }); + }, + async readAgent( + agentId: string, + globalConfig = false + ): Promise { + return readAgent({ agentId, globalConfig, state }); + }, + createAgentGroupExportTemplate(): AgentGroupExportInterface { + return createAgentGroupExportTemplate({ state }); + }, + async readAgentGroup(groupId: string): Promise { + return readAgentGroup({ groupId, state }); + }, + async readAgentGroups(): Promise { + return readAgentGroups({ state }); + }, + async exportAgentGroup( + groupId: string + ): Promise { + return exportAgentGroup({ groupId, state }); }, - async readAgent(agentId: string): Promise { - return readAgent({ agentId, state }); + async exportAgentGroups(): Promise { + return exportAgentGroups({ state }); }, async readAgentByTypeAndId( agentType: AgentType, @@ -511,8 +594,8 @@ export default (state: State): Agent => { ): Promise { return updateWebAgent({ agentId, agentData, state }); }, - async exportAgents(): Promise { - return exportAgents({ state }); + async exportAgents(globalConfig = false): Promise { + return exportAgents({ state, globalConfig }); }, async exportIdentityGatewayAgents(): Promise { return exportIdentityGatewayAgents({ state }); @@ -523,8 +606,11 @@ export default (state: State): Agent => { async exportWebAgents(): Promise { return exportWebAgents({ state }); }, - async exportAgent(agentId: string): Promise { - return exportAgent({ agentId, state }); + async exportAgent( + agentId: string, + globalConfig = false + ): Promise { + return exportAgent({ agentId, globalConfig, state }); }, async exportIdentityGatewayAgent( agentId: string @@ -538,9 +624,15 @@ export default (state: State): Agent => { return exportWebAgent({ agentId, state }); }, async importAgents( - importData: AgentExportInterface + importData: AgentExportInterface, + globalConfig: boolean = false ): Promise { - return importAgents({ importData, state }); + return importAgents({ importData, globalConfig, state }); + }, + async importAgentGroups( + importData: AgentGroupExportInterface + ): Promise { + return importAgentGroups({ importData, state }); }, async importIdentityGatewayAgents( importData: AgentExportInterface @@ -553,8 +645,18 @@ export default (state: State): Agent => { async importWebAgents(importData: AgentExportInterface): Promise { return importWebAgents({ importData, state }); }, - async importAgent(agentId: string, importData: AgentExportInterface) { - return importAgent({ agentId, importData, state }); + async importAgent( + agentId: string, + importData: AgentExportInterface, + globalConfig: boolean = false + ) { + return importAgent({ agentId, importData, globalConfig, state }); + }, + async importAgentGroup( + agentGroupId: string, + importData: AgentGroupExportInterface + ) { + return importAgentGroup({ agentGroupId, importData, state }); }, async importIdentityGatewayAgent( agentId: string, @@ -600,10 +702,10 @@ export default (state: State): Agent => { // Deprecated async getAgents(): Promise { - return readAgents({ state }); + return readAgents({ state, globalConfig: false }); }, async getAgent(agentId: string) { - return readAgent({ agentId, state }); + return readAgent({ agentId, globalConfig: false, state }); }, async getAgentByTypeAndId(agentType: AgentType, agentId: string) { return readAgentByTypeAndId({ agentType, agentId, state }); @@ -656,9 +758,20 @@ export interface AgentExportInterface { agent: Record; } +export interface AgentGroupExportInterface { + meta?: ExportMetaData; + agentGroup: Record; +} + const agentTypes: AgentType[] = [ + '2.2_Agent', 'IdentityGatewayAgent', 'J2EEAgent', + 'OAuth2Thing', + 'RemoteConsentAgent', + 'SharedAgent', + 'SoapSTSAgent', + 'SoftwarePublisher', 'WebAgent', ]; @@ -677,30 +790,60 @@ export function createAgentExportTemplate({ } as AgentExportInterface; } +/** + * Create an empty agent export template + * @returns {AgentGroupExportInterface} an empty agent export template + */ +export function createAgentGroupExportTemplate({ + state, +}: { + state: State; +}): AgentGroupExportInterface { + return { + meta: getMetadata({ state }), + agentGroup: {}, + } as AgentGroupExportInterface; +} + /** * Get all agents. Results are sorted alphabetically. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an array of agent objects */ export async function readAgents({ state, + globalConfig = false, }: { state: State; + globalConfig: boolean; }): Promise { try { debugMessage({ message: `AgentOps.readAgents: start`, state }); let agents = []; - const resolved = await Promise.all( - agentTypes.map((agentType) => - getAgentsByType({ agentType, state }).catch((err) => { - if (err.httpStatus !== 501 && err.response?.status !== 501) { - throw err; - } else { - return { result: [] }; - } - }) - ) - ); - agents = agents.concat(...resolved.map((response) => response.result)); + if (globalConfig) { + const resolved = await getAgents({ state, globalConfig }); + agents = agents.concat(resolved.result); + } else { + const resolved = await Promise.all( + agentTypes + .filter( + (t) => + t !== 'SoapSTSAgent' || + state.getDeploymentType() === + Constants.CLASSIC_DEPLOYMENT_TYPE_KEY + ) + .map((agentType) => + getAgentsByType({ agentType, state }).catch((err) => { + if (err.httpStatus !== 501 && err.response?.status !== 501) { + throw err; + } else { + return { result: [] }; + } + }) + ) + ); + agents = agents.concat(...resolved.map((response) => response.result)); + } agents.sort((a, b) => a._id.localeCompare(b._id)); debugMessage({ message: `AgentOps.readAgents: end`, state }); return agents; @@ -712,23 +855,33 @@ export async function readAgents({ /** * Get agent * @param {string} agentId agent id/name + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an agent object */ export async function readAgent({ agentId, + globalConfig = false, state, }: { agentId: string; + globalConfig: boolean; state: State; }): Promise { let agents = []; try { debugMessage({ message: `AgentOps.readAgent: start`, state }); - agents = await findAgentById({ agentId, state }); + if (globalConfig) { + agents = (await readAgents({ globalConfig, state })).filter( + (a) => a._id === agentId + ); + } else { + agents = await findAgentById({ agentId, state }); + } if (agents.length === 1) { const result = await _getAgentByTypeAndId({ agentType: agents[0]._type, agentId: agents[0]._id, + globalConfig, state, }); debugMessage({ message: `AgentOps.readAgent: end`, state }); @@ -744,9 +897,120 @@ export async function readAgent({ } } +/** + * Read agent group by id + * @param {string} groupId Agent group id + * @returns {Promise} a promise that resolves to a agent group object + */ +export async function readAgentGroup({ + groupId, + state, +}: { + groupId: string; + state: State; +}): Promise { + const groups = await readAgentGroups({ state }); + for (const group of groups) { + if (group._id === groupId) { + return group; + } + } + throw new FrodoError(`Agent group with id '${groupId}' does not exist.`); +} + +/** + * Read all agent groups. + * @returns {Promise} a promise that resolves to an array of agent group objects + */ +export async function readAgentGroups({ + state, +}: { + state: State; +}): Promise { + try { + const { result } = await getAgentGroups({ state }); + return result; + } catch (error) { + throw new FrodoError(`Error reading agent groups`, error); + } +} + +/** + * Export a single agent group by id. The response can be saved to file as is. + * @param {string} groupId Agent group id + * @returns {Promise} Promise resolving to a AgentGroupExportInterface object. + */ +export async function exportAgentGroup({ + groupId, + state, +}: { + groupId: string; + state: State; +}): Promise { + try { + const group = await readAgentGroup({ + groupId, + state, + }); + const exportData = createAgentGroupExportTemplate({ state }); + exportData.agentGroup[groupId] = group; + return exportData; + } catch (error) { + throw new FrodoError(`Error exporting agent group ${groupId}`, error); + } +} + +/** + * Export all agent groups. The response can be saved to file as is. + * @returns {Promise} Promise resolving to a AgentGroupExportInterface object. + */ +export async function exportAgentGroups({ + state, +}: { + state: State; +}): Promise { + let indicatorId: string; + try { + debugMessage({ + message: `AgentOps.exportAgentGroups: start`, + state, + }); + const exportData = createAgentGroupExportTemplate({ state }); + const groups = await readAgentGroups({ state }); + indicatorId = createProgressIndicator({ + total: groups.length, + message: 'Exporting agent groups...', + state, + }); + for (const group of groups) { + updateProgressIndicator({ + id: indicatorId, + message: `Exporting agent group ${group._id}`, + state, + }); + exportData.agentGroup[group._id] = group; + } + stopProgressIndicator({ + id: indicatorId, + message: `Exported ${groups.length} agent groups.`, + state, + }); + debugMessage({ message: `AgentOps.exportAgentGroups: end`, state }); + return exportData; + } catch (error) { + stopProgressIndicator({ + id: indicatorId, + message: `Error exporting agent groups.`, + status: 'fail', + state, + }); + throw new FrodoError(`Error reading agent groups`, error); + } +} + /** * Get agent by type and id - * @param {AgentType} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent) + * @param {AgentType} agentType agent type * @param {string} agentId agent id/name * @returns {Promise} a promise that resolves to an agent object */ @@ -761,7 +1025,12 @@ export async function readAgentByTypeAndId({ }): Promise { try { debugMessage({ message: `AgentOps.readAgentByTypeAndId: start`, state }); - const result = await _getAgentByTypeAndId({ agentType, agentId, state }); + const result = await _getAgentByTypeAndId({ + agentType, + agentId, + globalConfig: false, + state, + }); debugMessage({ message: `AgentOps.readAgentByTypeAndId: start`, state }); return result; } catch (error) { @@ -857,6 +1126,7 @@ export async function createIdentityGatewayAgent({ agentType: 'IdentityGatewayAgent', agentId: gatewayId, agentData: gatewayData, + globalConfig: false, state, }); debugMessage({ @@ -897,6 +1167,7 @@ export async function updateIdentityGatewayAgent({ agentType: 'IdentityGatewayAgent', agentId: gatewayId, agentData: gatewayData, + globalConfig: false, state, }); debugMessage({ @@ -985,6 +1256,7 @@ export async function createJavaAgent({ agentType: 'J2EEAgent', agentId, agentData, + globalConfig: false, state, }); debugMessage({ @@ -1019,6 +1291,7 @@ export async function updateJavaAgent({ agentType: 'J2EEAgent', agentId, agentData, + globalConfig: false, state, }); debugMessage({ message: `AgentOps.updateJavaAgent: end`, state }); @@ -1097,6 +1370,7 @@ export async function createWebAgent({ agentType: 'WebAgent', agentId, agentData, + globalConfig: false, state, }); debugMessage({ @@ -1131,6 +1405,7 @@ export async function updateWebAgent({ agentType: 'WebAgent', agentId, agentData, + globalConfig: false, state, }); debugMessage({ message: `AgentOps.updateWebAgent: end`, state }); @@ -1142,18 +1417,21 @@ export async function updateWebAgent({ /** * Export all agents. The response can be saved to file as is. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an AgentExportInterface object. */ export async function exportAgents({ state, + globalConfig = false, }: { state: State; + globalConfig: boolean; }): Promise { let indicatorId: string; try { debugMessage({ message: `AgentOps.exportAgents: start`, state }); const exportData = createAgentExportTemplate({ state }); - const agents = await readAgents({ state }); + const agents = await readAgents({ state, globalConfig }); indicatorId = createProgressIndicator({ total: agents.length, message: 'Exporting agents...', @@ -1329,19 +1607,22 @@ export async function exportWebAgents({ /** * Export agent. The response can be saved to file as is. * @param agentId agent id/name + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an AgentExportInterface object. */ export async function exportAgent({ agentId, + globalConfig = false, state, }: { agentId: string; + globalConfig: boolean; state: State; }): Promise { try { debugMessage({ message: `AgentOps.exportAgent: start`, state }); const exportData = createAgentExportTemplate({ state }); - const agentObject = await readAgent({ agentId, state }); + const agentObject = await readAgent({ agentId, globalConfig, state }); exportData.agent[agentId] = agentObject; debugMessage({ message: `AgentOps.exportAgent: end`, state }); return exportData; @@ -1437,13 +1718,16 @@ export async function exportWebAgent({ /** * Import agents. The import data is usually read from an agent export file. * @param {AgentExportInterface} importData agent import data. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} The agents that were imported. */ export async function importAgents({ importData, + globalConfig = false, state, }: { importData: AgentExportInterface; + globalConfig: boolean; state: State; }): Promise { const response: AgentSkeleton[] = []; @@ -1458,11 +1742,20 @@ export async function importAgents({ message: `AgentOps.importAgents: ${agentId} [${agentType}]`, state, }); + if ( + agentType === 'SoapSTSAgent' && + state.getDeploymentType() !== Constants.CLASSIC_DEPLOYMENT_TYPE_KEY + ) { + throw new FrodoError( + `Can't import Soap STS agents for '${state.getDeploymentType()}' deployment type.` + ); + } response.push( await putAgentByTypeAndId({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig, state, }) ); @@ -1491,6 +1784,71 @@ export async function importAgents({ } } +/** + * Import agent groups. The import data is usually read from an agent group export file. + * @param {AgentGroupExportInterface} importData agent group import data. + * @returns {Promise} The agent groups that were imported. + */ +export async function importAgentGroups({ + importData, + state, +}: { + importData: AgentGroupExportInterface; + state: State; +}): Promise { + const response: AgentGroupSkeleton[] = []; + const errors: Error[] = []; + try { + debugMessage({ message: `AgentOps.importAgentGroups: start`, state }); + for (const agentGroupId of Object.keys(importData.agentGroup)) { + let agentType: AgentType; + try { + agentType = importData.agentGroup[agentGroupId]._type._id as AgentType; + debugMessage({ + message: `AgentOps.importAgentGroups: ${agentGroupId} [${agentType}]`, + state, + }); + if ( + agentType === 'SoapSTSAgent' && + state.getDeploymentType() !== Constants.CLASSIC_DEPLOYMENT_TYPE_KEY + ) { + throw new FrodoError( + `Can't import Soap STS agent groups for '${state.getDeploymentType()}' deployment type.` + ); + } + response.push( + await putAgentGroupByTypeAndId({ + agentType, + agentGroupId, + agentGroupData: importData.agentGroup[agentGroupId], + state, + }) + ); + } catch (error) { + if (error.httpStatus !== 501 && error.response?.status !== 501) { + errors.push( + new FrodoError( + `Error importing agent group ${agentGroupId} of type ${agentType}`, + error + ) + ); + } + } + } + if (errors.length > 0) { + throw new FrodoError(`Error importing agent groups`, errors); + } + debugMessage({ message: `AgentOps.importAgentGroups: end`, state }); + return response; + } catch (error) { + // just re-throw previously caught errors + if (errors.length > 0) { + throw error; + } + throw new FrodoError(`Error importing agent groups`, error); + } +} + /** * Import identity gateway agents. The import data is usually read from an agent export file. * @param {AgentExportInterface} importData agent import data. @@ -1520,6 +1878,7 @@ export async function importIdentityGatewayAgents({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); } catch (error) { @@ -1573,6 +1932,7 @@ export async function importJavaAgents({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); } catch (error) { @@ -1623,6 +1983,7 @@ export async function importWebAgents({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); } catch (error) { @@ -1651,24 +2012,36 @@ export async function importWebAgents({ * Import agent. The import data is usually read from an agent export file. * @param {string} agentId agent id/name * @param {AgentExportInterface} importData agent import data. + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} Promise resolving to an agent object. */ export async function importAgent({ agentId, importData, + globalConfig = false, state, }: { agentId: string; importData: AgentExportInterface; + globalConfig: boolean; state: State; }): Promise { try { debugMessage({ message: `AgentOps.importAgent: start`, state }); const agentType = importData.agent[agentId]?._type._id as AgentType; + if ( + agentType === 'SoapSTSAgent' && + state.getDeploymentType() !== Constants.CLASSIC_DEPLOYMENT_TYPE_KEY + ) { + throw new FrodoError( + `Can't import Soap STS agents for '${state.getDeploymentType()}' deployment type.` + ); + } const result = await putAgentByTypeAndId({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig, state, }); debugMessage({ message: `AgentOps.importAgent: end`, state }); @@ -1678,6 +2051,46 @@ export async function importAgent({ } } +/** + * Import agent group. The import data is usually read from an agent group export file. + * @param {string} agentGroupId agent group id/name + * @param {AgentGroupExportInterface} importData agent group import data. + * @returns {Promise} Promise resolving to an agent object. + */ +export async function importAgentGroup({ + agentGroupId, + importData, + state, +}: { + agentGroupId: string; + importData: AgentGroupExportInterface; + state: State; +}): Promise { + try { + debugMessage({ message: `AgentOps.importAgentGroup: start`, state }); + const agentType = importData.agentGroup[agentGroupId]?._type + ._id as AgentType; + if ( + agentType === 'SoapSTSAgent' && + state.getDeploymentType() !== Constants.CLASSIC_DEPLOYMENT_TYPE_KEY + ) { + throw new FrodoError( + `Can't import Soap STS agent groups for '${state.getDeploymentType()}' deployment type.` + ); + } + const result = await putAgentGroupByTypeAndId({ + agentType, + agentGroupId, + agentGroupData: importData.agentGroup[agentGroupId], + state, + }); + debugMessage({ message: `AgentOps.importAgentGroup: end`, state }); + return result; + } catch (error) { + throw new FrodoError(`Error importing agent group ${agentGroupId}`, error); + } +} + /** * Import identity gateway agent. The import data is usually read from an agent export file. * @param {string} agentId agent id/name @@ -1707,6 +2120,7 @@ export async function importIdentityGatewayAgent({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); debugMessage({ @@ -1748,6 +2162,7 @@ export async function importJavaAgent({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); debugMessage({ message: `AgentOps.importJavaAgent: end`, state }); @@ -1783,6 +2198,7 @@ export async function importWebAgent({ agentType, agentId, agentData: importData.agent[agentId], + globalConfig: false, state, }); debugMessage({ message: `AgentOps.importWebAgent: end`, state }); @@ -1799,7 +2215,7 @@ export async function deleteAgents({ state }: { state: State }) { const errors: Error[] = []; try { debugMessage({ message: `AgentOps.deleteAgents: start`, state }); - const agents = await readAgents({ state }); + const agents = await readAgents({ state, globalConfig: false }); for (const agent of agents) { try { debugMessage({ diff --git a/src/ops/AuthenticationSettingsOps.test.ts b/src/ops/AuthenticationSettingsOps.test.ts index 830f46c02..2abff1a8a 100644 --- a/src/ops/AuthenticationSettingsOps.test.ts +++ b/src/ops/AuthenticationSettingsOps.test.ts @@ -3,6 +3,19 @@ * * 1. Record API responses * + * This step breaks down into 2 phases: + * + * Phase 1: Record tests that require cloud deployment + * Phase 2: Record tests that require classic deployment + * + * Because certain tests can only be successfully ran in classic deployments and/or + * cloud deployments, they have to be run in groups so that it is possible to record + * each group of tests using their appropriate deployments. Make sure to set the + * FRODO_HOST and FRODO_REALM environment variables when recording to ensure you + * are using the right deployment (by default these are set to the frodo-dev cloud tenant + * and alpha realm respectively). Alternatively, you can use FRODO_DEPLOY=classic to + * use the default settings of host/realm for classic deployments. + * * To record API responses, you must call the test:record script and * override all the connection state required to connect to the * env to record from: @@ -32,10 +45,11 @@ * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output * in case things don't function as expected */ -import { autoSetupPolly } from "../utils/AutoSetupPolly"; +import { autoSetupPolly, setDefaultState } from "../utils/AutoSetupPolly"; import { filterRecording } from "../utils/PollyUtils"; import * as AuthenticationSettingsOps from "./AuthenticationSettingsOps"; import { state } from "../lib/FrodoLib"; +import Constants from "../shared/Constants"; const ctx = autoSetupPolly(); @@ -48,54 +62,113 @@ describe('AuthenticationSettingsOps', () => { } }); - describe('createAuthenticationSettingsExportTemplate()', () => { - test('0: Method is implemented', async () => { - expect(AuthenticationSettingsOps.createAuthenticationSettingsExportTemplate).toBeDefined(); - }); + // Phase 1 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '1') + ) { + describe('Cloud Tests', () => { + beforeEach(() => { + setDefaultState(); + }); + describe('createAuthenticationSettingsExportTemplate()', () => { + test('0: Method is implemented', async () => { + expect(AuthenticationSettingsOps.createAuthenticationSettingsExportTemplate).toBeDefined(); + }); - test('1: Create AuthenticationSettings Export Template', async () => { - const response = AuthenticationSettingsOps.createAuthenticationSettingsExportTemplate({state}); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + test('1: Create AuthenticationSettings Export Template', async () => { + const response = AuthenticationSettingsOps.createAuthenticationSettingsExportTemplate({state}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); }); - }); - }); - describe('readAuthenticationSettings()', () => { - test('0: Method is implemented', async () => { - expect(AuthenticationSettingsOps.readAuthenticationSettings).toBeDefined(); - }); + describe('readAuthenticationSettings()', () => { + test('0: Method is implemented', async () => { + expect(AuthenticationSettingsOps.readAuthenticationSettings).toBeDefined(); + }); - test('1: Read Realm AuthenticationSettings', async () => { - const response = await AuthenticationSettingsOps.readAuthenticationSettings({ state }); - expect(response).toMatchSnapshot(); - }); - }); + test('1: Read Realm AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.readAuthenticationSettings({globalConfig: false, state}); + expect(response).toMatchSnapshot(); + }); + }); - describe('updateAuthenticationSettings()', () => { - test('0: Method is implemented', async () => { - expect(AuthenticationSettingsOps.updateAuthenticationSettings).toBeDefined(); - }); - //TODO: create tests - }); + describe('updateAuthenticationSettings()', () => { + test('0: Method is implemented', async () => { + expect(AuthenticationSettingsOps.updateAuthenticationSettings).toBeDefined(); + }); + //TODO: create tests (globalConfig = false) + }); - describe('exportAuthenticationSettings()', () => { - test('0: Method is implemented', async () => { - expect(AuthenticationSettingsOps.exportAuthenticationSettings).toBeDefined(); - }); + describe('exportAuthenticationSettings()', () => { + test('0: Method is implemented', async () => { + expect(AuthenticationSettingsOps.exportAuthenticationSettings).toBeDefined(); + }); + + test('1: Export Realm AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.exportAuthenticationSettings({globalConfig: false, state}); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); - test('1: Export Realm AuthenticationSettings', async () => { - const response = await AuthenticationSettingsOps.exportAuthenticationSettings({ state }); - expect(response).toMatchSnapshot({ - meta: expect.any(Object), + describe('importAuthenticationSettings()', () => { + test('0: Method is implemented', async () => { + expect(AuthenticationSettingsOps.importAuthenticationSettings).toBeDefined(); + }); + //TODO: create tests (globalConfig = false) }); }); - }); + } + // Phase 2 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '2') + ) { + describe('Classic Tests', () => { + beforeEach(() => { + setDefaultState(Constants.CLASSIC_DEPLOYMENT_TYPE_KEY); + }); + describe('readAuthenticationSettings()', () => { + test('2: Read Global AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.readAuthenticationSettings({globalConfig: true, state }); + expect(response).toMatchSnapshot(); + }); + + test('3: Read Realm AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.readAuthenticationSettings({globalConfig: false, state }); + expect(response).toMatchSnapshot(); + }); + }); - describe('importAuthenticationSettings()', () => { - test('0: Method is implemented', async () => { - expect(AuthenticationSettingsOps.importAuthenticationSettings).toBeDefined(); + describe('updateAuthenticationSettings()', () => { + //TODO: create tests (globalConfig = true) + }); + + describe('exportAuthenticationSettings()', () => { + test('2: Export Global AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.exportAuthenticationSettings({globalConfig: true, state }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + + test('3: Export Realm AuthenticationSettings', async () => { + const response = await AuthenticationSettingsOps.exportAuthenticationSettings({globalConfig: false, state }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); + + describe('importAuthenticationSettings()', () => { + //TODO: create tests (globalConfig = true) + }); }); - //TODO: create tests - }); + } }); diff --git a/src/ops/AuthenticationSettingsOps.ts b/src/ops/AuthenticationSettingsOps.ts index 1bcfbabef..6667491df 100644 --- a/src/ops/AuthenticationSettingsOps.ts +++ b/src/ops/AuthenticationSettingsOps.ts @@ -12,51 +12,66 @@ import { type ExportMetaData } from './OpsTypes'; export type AuthenticationSettings = { /** * Read authentication settings + * @param {boolean} globalConfig true if global authentication settings is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves an authentication settings object */ - readAuthenticationSettings(): Promise; + readAuthenticationSettings( + globalConfig: boolean + ): Promise; /** * Update authentication settings * @param {AuthenticationSettingsSkeleton} settings authentication settings data + * @param {boolean} globalConfig true if global authentication settings are the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves an authentication settings object */ updateAuthenticationSettings( - settings: AuthenticationSettingsSkeleton + settings: AuthenticationSettingsSkeleton, + globalConfig: boolean ): Promise; /** * Export authentication settings + * @param {boolean} globalConfig true if global authentication settings is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an AuthenticationSettingsExportInterface object */ - exportAuthenticationSettings(): Promise; + exportAuthenticationSettings( + globalConfig: boolean + ): Promise; /** * Import authentication settings * @param {AuthenticationSettingsExportInterface} importData import data + * @param {boolean} globalConfig true if global authentication settings are the target of the operation, false otherwise. Default: false. */ importAuthenticationSettings( - importData: AuthenticationSettingsExportInterface + importData: AuthenticationSettingsExportInterface, + globalConfig: boolean ): Promise; }; export default (state: State): AuthenticationSettings => { return { - async readAuthenticationSettings() { - return readAuthenticationSettings({ state }); + async readAuthenticationSettings(globalConfig = false) { + return readAuthenticationSettings({ state, globalConfig }); }, async updateAuthenticationSettings( - settings: AuthenticationSettingsSkeleton + settings: AuthenticationSettingsSkeleton, + globalConfig: boolean ) { return updateAuthenticationSettings({ settings, + globalConfig, state, }); }, - async exportAuthenticationSettings(): Promise { - return exportAuthenticationSettings({ state }); + async exportAuthenticationSettings( + globalConfig = false + ): Promise { + return exportAuthenticationSettings({ state, globalConfig }); }, async importAuthenticationSettings( - importData: AuthenticationSettingsExportInterface + importData: AuthenticationSettingsExportInterface, + globalConfig: boolean ): Promise { - return importAuthenticationSettings({ importData, state }); + return importAuthenticationSettings({ importData, globalConfig, state }); }, }; }; @@ -83,15 +98,18 @@ export function createAuthenticationSettingsExportTemplate({ /** * Read authentication settings + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to an object containing an array of authentication settingss */ export async function readAuthenticationSettings({ state, + globalConfig = false, }: { state: State; + globalConfig: boolean; }): Promise { try { - const settings = await _getAuthenticationSettings({ state }); + const settings = await _getAuthenticationSettings({ state, globalConfig }); return settings; } catch (error) { throw new FrodoError(`Error reading authentication settings`, error); @@ -100,9 +118,11 @@ export async function readAuthenticationSettings({ export async function updateAuthenticationSettings({ settings, + globalConfig = false, state, }: { settings: AuthenticationSettingsSkeleton; + globalConfig: boolean; state: State; }): Promise { try { @@ -112,6 +132,7 @@ export async function updateAuthenticationSettings({ }); const response = await _putAuthenticationSettings({ settings, + globalConfig, state, }); debugMessage({ @@ -126,19 +147,25 @@ export async function updateAuthenticationSettings({ /** * Export authentication settings + * @param {boolean} globalConfig true if global agent is the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise that resolves to a AuthenticationSettingsExportInterface object */ export async function exportAuthenticationSettings({ state, + globalConfig = false, }: { state: State; + globalConfig: boolean; }): Promise { try { debugMessage({ message: `AuthenticationSettingsOps.exportAuthenticationSettings: start`, state, }); - const settingsData = await readAuthenticationSettings({ state }); + const settingsData = await readAuthenticationSettings({ + state, + globalConfig, + }); const exportData = createAuthenticationSettingsExportTemplate({ state }); exportData.authentication = settingsData; debugMessage({ @@ -154,19 +181,23 @@ export async function exportAuthenticationSettings({ /** * Import authentication settings * @param {AuthenticationSettingsExportInterface} importData import data + * @param {boolean} globalConfig true if global authentication settings are the target of the operation, false otherwise. Default: false. * @returns {Promise} a promise resolving to a authentication settings object */ export async function importAuthenticationSettings({ importData, + globalConfig, state, }: { importData: AuthenticationSettingsExportInterface; + globalConfig: boolean; state: State; }): Promise { let response = null; try { response = await updateAuthenticationSettings({ settings: importData.authentication, + globalConfig, state, }); return response; diff --git a/src/ops/ConfigOps.ts b/src/ops/ConfigOps.ts index 98c20c2ce..24e2fc0af 100644 --- a/src/ops/ConfigOps.ts +++ b/src/ops/ConfigOps.ts @@ -1,12 +1,16 @@ -import { AgentSkeleton } from '../api/AgentApi'; +import { AgentGroupSkeleton, AgentSkeleton } from '../api/AgentApi'; +import { AmConfigEntitiesInterface } from '../api/AmConfigApi'; import { IdObjectSkeletonInterface } from '../api/ApiTypes'; import { AuthenticationSettingsSkeleton } from '../api/AuthenticationSettingsApi'; import { CircleOfTrustSkeleton } from '../api/CirclesOfTrustApi'; +import { SiteSkeleton } from '../api/classic/SiteApi'; import { SecretSkeleton } from '../api/cloud/SecretsApi'; import { VariableSkeleton } from '../api/cloud/VariablesApi'; import { OAuth2ClientSkeleton } from '../api/OAuth2ClientApi'; +import { OAuth2TrustedJwtIssuerSkeleton } from '../api/OAuth2TrustedJwtIssuerApi'; import { PolicySkeleton } from '../api/PoliciesApi'; import { PolicySetSkeleton } from '../api/PolicySetApi'; +import { RealmSkeleton } from '../api/RealmApi'; import { ResourceTypeSkeleton } from '../api/ResourceTypesApi'; import { Saml2ProviderSkeleton } from '../api/Saml2Api'; import { ScriptSkeleton } from '../api/ScriptApi'; @@ -23,11 +27,18 @@ import { getMetadata, importWithErrorHandling, } from '../utils/ExportImportUtils'; +import { getRealmUsingExportFormat } from '../utils/ForgeRockUtils'; import { - getRealmsForExport, - getRealmUsingExportFormat, -} from '../utils/ForgeRockUtils'; -import { exportAgents, importAgents } from './AgentOps'; + exportAgentGroups, + exportAgents, + importAgentGroups, + importAgents, +} from './AgentOps'; +import { + ConfigEntityExportInterface, + exportAmConfigEntities, + importAmConfigEntities, +} from './AmConfigOps'; import { ApplicationSkeleton, exportApplications, @@ -42,6 +53,17 @@ import { exportCirclesOfTrust, importCirclesOfTrust, } from './CirclesOfTrustOps'; +import { + exportSecretStores, + importSecretStores, + SecretStoreExportSkeleton, +} from './classic/SecretStoreOps'; +import { + exportServers, + importServers, + ServerExportInterface, +} from './classic/ServerOps'; +import { exportSites, importSites } from './classic/SiteOps'; import { exportSecrets, importSecrets } from './cloud/SecretsOps'; import { exportVariables, importVariables } from './cloud/VariablesOps'; import { @@ -55,6 +77,11 @@ import { exportSocialIdentityProviders, importSocialIdentityProviders, } from './IdpOps'; +import { + exportInternalRoles, + importInternalRoles, + InternalRoleSkeleton, +} from './InternalRoleOps'; import { exportJourneys, importJourneys, @@ -67,12 +94,22 @@ import { SyncSkeleton, } from './MappingOps'; import { exportOAuth2Clients, importOAuth2Clients } from './OAuth2ClientOps'; +import { + exportOAuth2TrustedJwtIssuers, + importOAuth2TrustedJwtIssuers, +} from './OAuth2TrustedJwtIssuerOps'; import { ExportMetaData } from './OpsTypes'; import { exportPolicies, importPolicies } from './PolicyOps'; import { exportPolicySets, importPolicySets } from './PolicySetOps'; +import { exportRealms, importRealms } from './RealmOps'; import { exportResourceTypes, importResourceTypes } from './ResourceTypeOps'; import { exportSaml2Providers, importSaml2Providers } from './Saml2Ops'; import { exportScripts, importScripts } from './ScriptOps'; +import { + exportScriptTypes, + importScriptTypes, + ScriptTypeExportSkeleton, +} from './ScriptTypeOps'; import { exportServices, importServices } from './ServiceOps'; import { exportThemes, importThemes, ThemeSkeleton } from './ThemeOps'; @@ -201,17 +238,26 @@ export interface FullExportInterface { realm: Record; } -export interface FullGlobalExportInterface { +export interface FullGlobalExportInterface extends AmConfigEntitiesInterface { + agent: Record | undefined; + authentication: AuthenticationSettingsSkeleton | undefined; emailTemplate: Record | undefined; idm: Record | undefined; + internalRole: Record; mapping: Record | undefined; + realm: Record | undefined; + scripttype: Record | undefined; secret: Record | undefined; + secretstore: Record | undefined; + server: ServerExportInterface | undefined; service: Record | undefined; + site: Record | undefined; sync: SyncSkeleton | undefined; variable: Record | undefined; } -export interface FullRealmExportInterface { +export interface FullRealmExportInterface extends AmConfigEntitiesInterface { + agentGroup: Record | undefined; agent: Record | undefined; application: Record | undefined; authentication: AuthenticationSettingsSkeleton | undefined; @@ -229,9 +275,11 @@ export interface FullRealmExportInterface { } | undefined; script: Record | undefined; + secretstore: Record | undefined; service: Record | undefined; theme: Record | undefined; trees: Record | undefined; + trustedJwtIssuer: Record | undefined; } /** @@ -272,11 +320,16 @@ export async function exportFullConfiguration({ const stateObj = { state }; const globalStateObj = { globalConfig: true, state }; const realmStateObj = { globalConfig: false, state }; + const isClassicDeployment = + state.getDeploymentType() === Constants.CLASSIC_DEPLOYMENT_TYPE_KEY; const isCloudDeployment = state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY; const isForgeOpsDeployment = state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY; const isPlatformDeployment = isCloudDeployment || isForgeOpsDeployment; + + const config = await exportAmConfigEntities(stateObj); + //Export mappings const mappings = await exportWithErrorHandling( exportMappings, @@ -292,8 +345,36 @@ export async function exportFullConfiguration({ errors, isPlatformDeployment ); + + //Export servers and server properties + const serverExport = await exportWithErrorHandling( + exportServers, + { options: { includeDefault: true }, state }, + errors, + isClassicDeployment + ); + if (serverExport) { + delete serverExport.meta; + } + //Export global config - const globalConfig: FullGlobalExportInterface = { + const globalConfig = { + agent: ( + await exportWithErrorHandling( + exportAgents, + globalStateObj, + errors, + isClassicDeployment + ) + )?.agent, + authentication: ( + await exportWithErrorHandling( + exportAuthenticationSettings, + globalStateObj, + errors, + isClassicDeployment + ) + )?.authentication, emailTemplate: ( await exportWithErrorHandling( exportEmailTemplates, @@ -316,7 +397,20 @@ export async function exportFullConfiguration({ isPlatformDeployment ) )?.idm, + internalRole: ( + await exportWithErrorHandling( + exportInternalRoles, + stateObj, + errors, + isPlatformDeployment + ) + )?.internalRole, mapping: mappings?.mapping, + realm: (await exportWithErrorHandling(exportRealms, stateObj, errors)) + ?.realm, + scripttype: ( + await exportWithErrorHandling(exportScriptTypes, stateObj, errors) + )?.scripttype, secret: ( await exportWithErrorHandling( exportSecrets, @@ -325,9 +419,26 @@ export async function exportFullConfiguration({ isCloudDeployment ) )?.secret, + secretstore: ( + await exportWithErrorHandling( + exportSecretStores, + globalStateObj, + errors, + isClassicDeployment + ) + )?.secretstore, + server: serverExport, service: ( await exportWithErrorHandling(exportServices, globalStateObj, errors) )?.service, + site: ( + await exportWithErrorHandling( + exportSites, + stateObj, + errors, + isClassicDeployment + ) + )?.site, sync: mappings?.sync, variable: ( await exportWithErrorHandling( @@ -340,6 +451,7 @@ export async function exportFullConfiguration({ isCloudDeployment ) )?.variable, + ...config.global, }; //Clean up duplicates @@ -358,7 +470,7 @@ export async function exportFullConfiguration({ //Export realm configs const realmConfig = {}; const currentRealm = state.getRealm(); - for (const realm of await getRealmsForExport(stateObj)) { + for (const realm of Object.keys(config.realm)) { state.setRealm(getRealmUsingExportFormat(realm)); //Export saml2 providers and circle of trusts let saml = ( @@ -379,6 +491,9 @@ export async function exportFullConfiguration({ saml = cotExport?.saml; } realmConfig[realm] = { + agentGroup: ( + await exportWithErrorHandling(exportAgentGroups, stateObj, errors) + )?.agentGroup, agent: ( await exportWithErrorHandling(exportAgents, realmStateObj, errors) )?.agent, @@ -406,6 +521,16 @@ export async function exportFullConfiguration({ errors ) )?.idp, + trees: ( + await exportWithErrorHandling( + exportJourneys, + { + options: { deps: false, useStringArrays, coords }, + state, + }, + errors + ) + )?.trees, managedApplication: ( await exportWithErrorHandling( exportApplications, @@ -455,6 +580,14 @@ export async function exportFullConfiguration({ errors ) )?.script, + secretstore: ( + await exportWithErrorHandling( + exportSecretStores, + realmStateObj, + errors, + isClassicDeployment + ) + )?.secretstore, service: ( await exportWithErrorHandling(exportServices, realmStateObj, errors) )?.service, @@ -468,16 +601,17 @@ export async function exportFullConfiguration({ isPlatformDeployment ) )?.theme, - trees: ( + trustedJwtIssuer: ( await exportWithErrorHandling( - exportJourneys, + exportOAuth2TrustedJwtIssuers, { - options: { deps: false, useStringArrays, coords }, + options: { deps: false, useStringArrays }, state, }, errors ) - )?.trees, + )?.trustedJwtIssuer, + ...config.realm[realm], }; } state.setRealm(currentRealm); @@ -488,7 +622,7 @@ export async function exportFullConfiguration({ return { meta: getMetadata(stateObj), - global: globalConfig, + global: globalConfig as FullGlobalExportInterface, realm: realmConfig, }; } @@ -524,6 +658,8 @@ export async function importFullConfiguration({ throwErrors = false; errors = collectErrors; } + const isClassicDeployment = + state.getDeploymentType() === Constants.CLASSIC_DEPLOYMENT_TYPE_KEY; const isCloudDeployment = state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY; const isForgeOpsDeployment = @@ -539,10 +675,87 @@ export async function importFullConfiguration({ } = options; // Import to global let indicatorId = createProgressIndicator({ - total: 6, + total: 14, message: `Importing everything for global...`, state, }); + response.push( + await importWithErrorHandling( + importServers, + { + serverId: '', + serverUrl: '', + importData: importData.global.server, + options: { + includeDefault: true, + }, + state, + }, + errors, + indicatorId, + 'Servers', + isClassicDeployment && !!importData.global.server + ) + ); + response.push( + await importWithErrorHandling( + importSites, + { + siteId: '', + siteUrl: '', + importData: importData.global, + state, + }, + errors, + indicatorId, + 'Sites', + isClassicDeployment && !!importData.global.site + ) + ); + response.push( + await importWithErrorHandling( + importRealms, + { + realmId: '', + realmName: '', + importData: importData.global, + state, + }, + errors, + indicatorId, + 'Realms', + isClassicDeployment && !!importData.global.realm + ) + ); + response.push( + await importWithErrorHandling( + importScriptTypes, + { + scriptTypeId: '', + importData: importData.global, + state, + }, + errors, + indicatorId, + 'Script Types', + isClassicDeployment && !!importData.global.scripttype + ) + ); + response.push( + await importWithErrorHandling( + importSecretStores, + { + importData: importData.global, + globalConfig: true, + secretStoreId: '', + state, + }, + errors, + indicatorId, + 'Secret Stores', + isClassicDeployment && !!importData.global.secretstore + ) + ); response.push( await importWithErrorHandling( importSecrets, @@ -632,6 +845,43 @@ export async function importFullConfiguration({ !!importData.global.service ) ); + response.push( + await importWithErrorHandling( + importAgents, + { importData: importData.global, globalConfig: true, state }, + errors, + indicatorId, + 'Agents', + !!importData.global.agent + ) + ); + response.push( + await importWithErrorHandling( + importAuthenticationSettings, + { + importData: importData.global, + globalConfig: true, + state, + }, + errors, + indicatorId, + 'Authentication Settings', + isClassicDeployment && !!importData.global.authentication + ) + ); + response.push( + await importWithErrorHandling( + importInternalRoles, + { + importData: importData.global, + state, + }, + errors, + indicatorId, + 'Internal Roles', + isPlatformDeployment && !!importData.global.internalRole + ) + ); stopProgressIndicator({ id: indicatorId, message: 'Finished Importing Everything to global!', @@ -643,7 +893,7 @@ export async function importFullConfiguration({ for (const realm of Object.keys(importData.realm)) { state.setRealm(getRealmUsingExportFormat(realm)); indicatorId = createProgressIndicator({ - total: 14, + total: 17, message: `Importing everything for ${realm} realm...`, state, }); @@ -683,10 +933,35 @@ export async function importFullConfiguration({ ); response.push( await importWithErrorHandling( - importAgents, + importSecretStores, + { + importData: importData.realm[realm], + globalConfig: false, + secretStoreId: '', + state, + }, + errors, + indicatorId, + 'Secret Stores', + isClassicDeployment && !!importData.realm[realm].secretstore + ) + ); + response.push( + await importWithErrorHandling( + importAgentGroups, { importData: importData.realm[realm], state }, errors, indicatorId, + 'Agent Groups', + !!importData.realm[realm].agentGroup + ) + ); + response.push( + await importWithErrorHandling( + importAgents, + { importData: importData.realm[realm], globalConfig: false, state }, + errors, + indicatorId, 'Agents', !!importData.realm[realm].agent ) @@ -759,6 +1034,19 @@ export async function importFullConfiguration({ !!importData.realm[realm].application ) ); + response.push( + await importWithErrorHandling( + importOAuth2TrustedJwtIssuers, + { + importData: importData.realm[realm], + state, + }, + errors, + indicatorId, + 'Trusted JWT Issuers', + !!importData.realm[realm].trustedJwtIssuer + ) + ); response.push( await importWithErrorHandling( importApplications, @@ -834,6 +1122,7 @@ export async function importFullConfiguration({ importAuthenticationSettings, { importData: importData.realm[realm], + globalConfig: false, state, }, errors, @@ -850,9 +1139,39 @@ export async function importFullConfiguration({ }); } state.setRealm(currentRealm); + // Import everything else + indicatorId = createProgressIndicator({ + total: 1, + message: `Importing all other AM config entities`, + state, + }); + response.push( + await importWithErrorHandling( + importAmConfigEntities, + { + importData: importData as unknown as ConfigEntityExportInterface, + state, + }, + errors, + indicatorId, + 'Other AM Config Entities' + ) + ); + stopProgressIndicator({ + id: indicatorId, + message: `Finished Importing all other AM config entities!`, + status: 'success', + state, + }); if (throwErrors && errors.length > 0) { throw new FrodoError(`Error importing full config`, errors); } // Filter out any null or empty results - return response.filter((o) => o && (!Array.isArray(o) || o.length > 0)); + return response.filter( + (o) => + o && + (!Array.isArray(o) || o.length > 0) && + (!(o as ServerExportInterface).server || + Object.keys((o as ServerExportInterface).server).length > 0) + ); } diff --git a/src/ops/ScriptOps.ts b/src/ops/ScriptOps.ts index 3166153ed..2a770dfce 100644 --- a/src/ops/ScriptOps.ts +++ b/src/ops/ScriptOps.ts @@ -4,6 +4,7 @@ import { deleteScript as _deleteScript, deleteScriptByName as _deleteScriptByName, deleteScripts as _deleteScripts, + getLibraryScriptConfigByName, getScript as _getScript, getScriptByName as _getScriptByName, getScripts as _getScripts, @@ -725,9 +726,10 @@ export async function exportScripts({ message: `Reading script ${scriptData.name}`, state, }); - exportData.script[scriptData._id] = prepareScriptForExport({ + exportData.script[scriptData._id] = await prepareScriptForExport({ scriptData, useStringArrays, + state, }); } catch (error) { errors.push(error); @@ -868,16 +870,18 @@ async function prepareScriptExport({ }): Promise { const { deps, useStringArrays } = options; const exportData = createScriptExportTemplate({ state }); - exportData.script[scriptData._id] = prepareScriptForExport({ + exportData.script[scriptData._id] = await prepareScriptForExport({ scriptData, useStringArrays, + state, }); // handle library scripts if (deps) { for (const script of await getLibraryScripts({ scriptData, state })) { - exportData.script[script._id] = prepareScriptForExport({ + exportData.script[script._id] = await prepareScriptForExport({ scriptData: script, useStringArrays, + state, }); } } @@ -891,16 +895,29 @@ async function prepareScriptExport({ * @param {ScriptExportOptions} options script export options * @returns {ScriptSkeleton} the prepared script data */ -function prepareScriptForExport({ +async function prepareScriptForExport({ scriptData, useStringArrays, + state, }: { scriptData: ScriptSkeleton; useStringArrays: boolean; -}): ScriptSkeleton { + state: State; +}): Promise { scriptData.script = convertBase64TextToArray(scriptData.script as string); if (!useStringArrays) { scriptData.script = scriptData.script.join('\n'); } + if (scriptData.context === 'LIBRARY') { + const { result } = await getLibraryScriptConfigByName({ + scriptName: scriptData.name, + state, + }); + const config = result.find((s) => s._id === scriptData._id); + return { + ...scriptData, + ...config, + }; + } return scriptData; } diff --git a/src/ops/TokenCacheOps.ts b/src/ops/TokenCacheOps.ts index 865b97d80..6af0a848f 100644 --- a/src/ops/TokenCacheOps.ts +++ b/src/ops/TokenCacheOps.ts @@ -379,9 +379,9 @@ function getHostKey(state: State): string { return uuidv5(state.getHost(), uuidv5.URL); } -function getRealmKey(state: State): string { +function getRealmKey(): string { // currently frodo only supports sessions and tokens minted in the root realm - return uuidv5('/' || state.getRealm(), UUIDV5_NAMESPACE); + return uuidv5('/', UUIDV5_NAMESPACE); } function getTypeKey(tokenType: tokenType): string { @@ -418,7 +418,7 @@ export async function readToken({ const data = fs.readFileSync(filename, 'utf8'); const tokenCache: TokenCacheInterface = JSON.parse(data); const hostKey = getHostKey(state); - const realmKey = getRealmKey(state); + const realmKey = getRealmKey(); const typeKey = getTypeKey(tokenType); const subjectKey = getSubjectKey(tokenType, state); if (get(tokenCache, [hostKey, realmKey, typeKey, subjectKey])) { @@ -520,7 +520,7 @@ export async function saveUserSessionToken({ const tokenCache: TokenCacheInterface = JSON.parse(data); purgeExpiredTokens(tokenCache, state); const hostKey = getHostKey(state); - const realmKey = getRealmKey(state); + const realmKey = getRealmKey(); const typeKey = getTypeKey('userSession'); const subjectKey = getSubjectKey('userSession', state); const dataProtection = new DataProtection({ @@ -603,7 +603,7 @@ export async function saveUserBearerToken({ const tokenCache: TokenCacheInterface = JSON.parse(data); purgeExpiredTokens(tokenCache, state); const hostKey = getHostKey(state); - const realmKey = getRealmKey(state); + const realmKey = getRealmKey(); const typeKey = getTypeKey('userBearer'); const subjectKey = getSubjectKey('userBearer', state); const dataProtection = new DataProtection({ @@ -686,7 +686,7 @@ export async function saveSaBearerToken({ const tokenCache: TokenCacheInterface = JSON.parse(data); purgeExpiredTokens(tokenCache, state); const hostKey = getHostKey(state); - const realmKey = getRealmKey(state); + const realmKey = getRealmKey(); const typeKey = getTypeKey('saBearer'); const subjectKey = getSubjectKey('saBearer', state); const dataProtection = new DataProtection({ diff --git a/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgentByTypeAndId_317890348/4-Get-global-agent-AgentService_2941256127/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgentByTypeAndId_317890348/4-Get-global-agent-AgentService_2941256127/recording.har new file mode 100644 index 000000000..16b36634a --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgentByTypeAndId_317890348/4-Get-global-agent-AgentService_2941256127/recording.har @@ -0,0 +1,149 @@ +{ + "log": { + "_recordingName": "AgentApi/Classic Tests/getAgentByTypeAndId()/4: Get global agent 'AgentService'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "815ab095396eca6ce44da127b5dd7c5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-861fdb46-faf0-40a6-9654-fffbae8a1daf" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/global-config/agents/AgentService/" + }, + "response": { + "bodySize": 102, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 102, + "text": "{\"_id\":\"\",\"_rev\":\"1570129136\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1570129136\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "102" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 19:01:09 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T19:01:09.785Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgents_2887770994/2-Get-all-global-agents_666482029/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgents_2887770994/2-Get-all-global-agents_666482029/recording.har new file mode 100644 index 000000000..31babff0c --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Classic-Tests_743483830/getAgents_2887770994/2-Get-all-global-agents_666482029/recording.har @@ -0,0 +1,159 @@ +{ + "log": { + "_recordingName": "AgentApi/Classic Tests/getAgents()/2: Get all global agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-861fdb46-faf0-40a6-9654-fffbae8a1daf" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 107, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "107" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 19:01:09 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T19:01:09.747Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/1-Delete-IdentityGatewayAgent-FrodoTestGatewayAgent3_2577316672/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/1-Delete-IdentityGatewayAgent-FrodoTestGatewayAgent3_2577316672/recording.har new file mode 100644 index 000000000..ec8e5dec7 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/1-Delete-IdentityGatewayAgent-FrodoTestGatewayAgent3_2577316672/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/deleteAgentByTypeAndId()/1: Delete IdentityGatewayAgent 'FrodoTestGatewayAgent3'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "70777a00fe07e51cf81456212bd23637", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1978, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoTestGatewayAgent3" + }, + "response": { + "bodySize": 393, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 393, + "text": "{\"_id\":\"FrodoTestGatewayAgent3\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "393" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.840Z", + "time": 77, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 77 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/2-Delete-J2EEAgent-FrodoTestJavaAgent3_3469550585/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/2-Delete-J2EEAgent-FrodoTestJavaAgent3_3469550585/recording.har new file mode 100644 index 000000000..b6ec63c9d --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/2-Delete-J2EEAgent-FrodoTestJavaAgent3_3469550585/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/deleteAgentByTypeAndId()/2: Delete J2EEAgent 'FrodoTestJavaAgent3'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "9308062fa80a5ed3fe6cc1ab6fbf66c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoTestJavaAgent3" + }, + "response": { + "bodySize": 9549, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9549, + "text": "{\"_id\":\"FrodoTestJavaAgent3\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.927Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/3-Delete-WebAgent-FrodoTestWebAgent3_1757694108/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/3-Delete-WebAgent-FrodoTestWebAgent3_1757694108/recording.har new file mode 100644 index 000000000..51c71c4cb --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/deleteAgentByTypeAndId_542702729/3-Delete-WebAgent-FrodoTestWebAgent3_1757694108/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/deleteAgentByTypeAndId()/3: Delete WebAgent 'FrodoTestWebAgent3'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "2b90d5264b9705b201b4d9471e1a6a91", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1962, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoTestWebAgent3" + }, + "response": { + "bodySize": 6593, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6593, + "text": "{\"_id\":\"FrodoTestWebAgent3\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6593" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:23.025Z", + "time": 86, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 86 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/1-Find-agent-FrodoTestGatewayAgent1_2351910916/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/1-Find-agent-FrodoTestGatewayAgent1_2351910916/recording.har new file mode 100644 index 000000000..63a4fd1a9 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/1-Find-agent-FrodoTestGatewayAgent1_2351910916/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentById()/1: Find agent 'FrodoTestGatewayAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "5989a068a20d681ed6700911f6c0e384", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1984, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestGatewayAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoTestGatewayAgent1%27" + }, + "response": { + "bodySize": 848, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 848, + "text": "{\"result\":[{\"_id\":\"FrodoTestGatewayAgent1\",\"_rev\":\"32378956\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"userpassword\":null,\"_type\":\"IdentityGatewayAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "848" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.537Z", + "time": 212, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 212 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/2-Find-agent-FrodoTestJavaAgent1_535431389/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/2-Find-agent-FrodoTestJavaAgent1_535431389/recording.har new file mode 100644 index 000000000..676a07c86 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/2-Find-agent-FrodoTestJavaAgent1_535431389/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentById()/2: Find agent 'FrodoTestJavaAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "28f79c8294dcda75633b2d91330d280e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestJavaAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoTestJavaAgent1%27" + }, + "response": { + "bodySize": 5441, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5441, + "text": "{\"result\":[{\"_id\":\"FrodoTestJavaAgent1\",\"_rev\":\"348124998\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":\"J2EEAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5441" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.762Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/3-Find-agent-FrodoTestWebAgent1_152041214/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/3-Find-agent-FrodoTestWebAgent1_152041214/recording.har new file mode 100644 index 000000000..9c38698d6 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentById_3025682460/3-Find-agent-FrodoTestWebAgent1_152041214/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentById()/3: Find agent 'FrodoTestWebAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "7714f4d2329f753ff083c6ff94ab3edc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestWebAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoTestWebAgent1%27" + }, + "response": { + "bodySize": 3837, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3837, + "text": "{\"result\":[{\"_id\":\"FrodoTestWebAgent1\",\"_rev\":\"1331974702\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":\"WebAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3837" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.848Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/1-Find-IdentityGatewayAgent-FrodoTestGatewayAgent1_495003422/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/1-Find-IdentityGatewayAgent-FrodoTestGatewayAgent1_495003422/recording.har new file mode 100644 index 000000000..a56d47f0c --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/1-Find-IdentityGatewayAgent-FrodoTestGatewayAgent1_495003422/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentByTypeAndId()/1: Find IdentityGatewayAgent 'FrodoTestGatewayAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dfd472084ed93c4aa04f82251ab41c92", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2005, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestGatewayAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=_id%20eq%20%27FrodoTestGatewayAgent1%27" + }, + "response": { + "bodySize": 890, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 890, + "text": "{\"result\":[{\"_id\":\"FrodoTestGatewayAgent1\",\"_rev\":\"-1960723701\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "890" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.926Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/2-Find-J2EEAgent-FrodoTestJavaAgent1_313621231/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/2-Find-J2EEAgent-FrodoTestJavaAgent1_313621231/recording.har new file mode 100644 index 000000000..09f409e49 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/2-Find-J2EEAgent-FrodoTestJavaAgent1_313621231/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentByTypeAndId()/2: Find J2EEAgent 'FrodoTestJavaAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "4642602d81adc2c682a2f1b0e410c49b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1991, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestJavaAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=_id%20eq%20%27FrodoTestJavaAgent1%27" + }, + "response": { + "bodySize": 5469, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5469, + "text": "{\"result\":[{\"_id\":\"FrodoTestJavaAgent1\",\"_rev\":\"-116709151\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5469" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.006Z", + "time": 70, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 70 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/3-Find-WebAgent-FrodoTestWebAgent1_534178474/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/3-Find-WebAgent-FrodoTestWebAgent1_534178474/recording.har new file mode 100644 index 000000000..d3ae7b8b3 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/findAgentByTypeAndId_330256441/3-Find-WebAgent-FrodoTestWebAgent1_534178474/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/findAgentByTypeAndId()/3: Find WebAgent 'FrodoTestWebAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dd573b84ffc821dfac04073a77b50e7e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1989, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoTestWebAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=_id%20eq%20%27FrodoTestWebAgent1%27" + }, + "response": { + "bodySize": 3863, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3863, + "text": "{\"result\":[{\"_id\":\"FrodoTestWebAgent1\",\"_rev\":\"1549383126\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3863" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.100Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/1-Get-IdentityGatewayAgent-FrodoTestGatewayAgent1_3534814173/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/1-Get-IdentityGatewayAgent-FrodoTestGatewayAgent1_3534814173/recording.har new file mode 100644 index 000000000..aacc55056 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/1-Get-IdentityGatewayAgent-FrodoTestGatewayAgent1_3534814173/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentByTypeAndId()/1: Get IdentityGatewayAgent 'FrodoTestGatewayAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "b723a7ad26e1d908915952a35336c045", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1975, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoTestGatewayAgent1" + }, + "response": { + "bodySize": 847, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 847, + "text": "{\"_id\":\"FrodoTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "847" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.185Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/2-Get-J2EEAgent-FrodoTestJavaAgent1_3406566174/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/2-Get-J2EEAgent-FrodoTestJavaAgent1_3406566174/recording.har new file mode 100644 index 000000000..720bd9fa8 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/2-Get-J2EEAgent-FrodoTestJavaAgent1_3406566174/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentByTypeAndId()/2: Get J2EEAgent 'FrodoTestJavaAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff5526bbb67a90f0753c64d8ac36fe74", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoTestJavaAgent1" + }, + "response": { + "bodySize": 9542, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9542, + "text": "{\"_id\":\"FrodoTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.262Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/3-Get-WebAgent-FrodoTestWebAgent1_1289906965/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/3-Get-WebAgent-FrodoTestWebAgent1_1289906965/recording.har new file mode 100644 index 000000000..a3a7924ed --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentByTypeAndId_317890348/3-Get-WebAgent-FrodoTestWebAgent1_1289906965/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentByTypeAndId()/3: Get WebAgent 'FrodoTestWebAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "621bd20c7b4e58a966a7ad7953e11b2f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoTestWebAgent1" + }, + "response": { + "bodySize": 6661, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6661, + "text": "{\"_id\":\"FrodoTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6661" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:22.339Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentGroups_439501799/1-Get-all-agent-groups_2818655444/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentGroups_439501799/1-Get-all-agent-groups_2818655444/recording.har new file mode 100644 index 000000000..93e83a2b0 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentGroups_439501799/1-Get-all-agent-groups_2818655444/recording.har @@ -0,0 +1,175 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentGroups()/1: Get all agent groups", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dcea3a6dcb13032966723225c5134b31", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-b9eef7a3-a29a-412e-ad68-89a9389e2403" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1984, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 8670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8670, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"test_web_agent_group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"test_java_group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"igTokenIntrospection\":\"None\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:39:44 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-b9eef7a3-a29a-412e-ad68-89a9389e2403" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:39:44.425Z", + "time": 109, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 109 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentTypes_654823194/1-Get-all-agent-types_2177621125/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentTypes_654823194/1-Get-all-agent-types_2177621125/recording.har new file mode 100644 index 000000000..77b417357 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentTypes_654823194/1-Get-all-agent-types_2177621125/recording.har @@ -0,0 +1,175 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentTypes()/1: Get all agent types", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "d1c9cb523e6de2e2996a45a3aa4d5590", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1971, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "getAllTypes" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_action=getAllTypes" + }, + "response": { + "bodySize": 728, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 728, + "text": "{\"result\":[{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true},{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true},{\"_id\":\"2.2_Agent\",\"name\":\"2.2 Agents\",\"collection\":true},{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Client Agents\",\"collection\":true},{\"_id\":\"SharedAgent\",\"name\":\"Shared Agents\",\"collection\":true},{\"_id\":\"SoapSTSAgent\",\"name\":\"Soap STS Agents\",\"collection\":true},{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Agents\",\"collection\":true},{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher Agents\",\"collection\":true},{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true},{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer Agents\",\"collection\":true}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "728" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:20 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:20.898Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/1-Get-all-gateway-agents_1106547087/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/1-Get-all-gateway-agents_1106547087/recording.har new file mode 100644 index 000000000..cbf879afa --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/1-Get-all-gateway-agents_1106547087/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentsByType()/1: Get all gateway agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 2889, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2889, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoTestGatewayAgent3\",\"_rev\":\"-1521434126\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoTestGatewayAgent1\",\"_rev\":\"-1960723701\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"1760721303\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2889" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:20 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:20.994Z", + "time": 94, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 94 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/2-Get-all-java-agents_341122240/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/2-Get-all-java-agents_341122240/recording.har new file mode 100644 index 000000000..285e8c3c2 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/2-Get-all-java-agents_341122240/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentsByType()/2: Get all java agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 21350, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 21350, + "text": "{\"result\":[{\"_id\":\"FrodoTestJavaAgent1\",\"_rev\":\"-116709151\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoTestJavaAgent3\",\"_rev\":\"-1871713927\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.111Z", + "time": 77, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 77 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/3-Get-all-web-agents_3795942825/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/3-Get-all-web-agents_3795942825/recording.har new file mode 100644 index 000000000..0c83411ef --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgentsByType_784791143/3-Get-all-web-agents_3795942825/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgentsByType()/3: Get all web agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1958, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 14716, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 14716, + "text": "{\"result\":[{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoTestWebAgent1\",\"_rev\":\"1549383126\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoTestWebAgent3\",\"_rev\":\"40364048\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.212Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har new file mode 100644 index 000000000..12ccb08b8 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har @@ -0,0 +1,175 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/getAgents()/1: Get all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "abb8dc5f0f4da1e05f6b5cd3a70c769d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1975, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 102811, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 102811, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"frodo-test-web-agent2\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"frodo-test-web-agent\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"FrodoTestWebAgent1\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"FrodoTestWebAgent3\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"FrodoTestJavaAgent1\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"frodo-test-java-agent\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"frodo-test-java-agent2\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"FrodoTestJavaAgent3\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"EncoreRCSClient\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\",\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"client_credentials\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"hrlite/id_token/callback\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback\"],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"hrlite-client\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:autoaccess:*\",\"fr:idc:analytics:*\",\"fr:idm:*\",\"fr:iga:*\",\"openid\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://openam-frodo-dev.forgeblocks.com/enduser/appAuthHelperRedirect.html\",\"https://openam-frodo-dev.forgeblocks.com/enduser/sessionCheck.html\"],\"clientName\":[],\"clientType\":\"Public\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"javascriptOrigins\":[\"https://openam-frodo-dev.forgeblocks.com\"],\"policyUri\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"grantTypes\":[\"authorization_code\",\"implicit\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[]},\"overrideOAuth2ClientConfig\":{\"oidcClaimsScript\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"statelessTokensEnabled\":true},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"endUserUIClient\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test App\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"testapp\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 8:09:47 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"60b7b032-68fc-45ed-98ca-262c1985fb7e\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"60b7b032-68fc-45ed-98ca-262c1985fb7e\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:30:37 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"RCSClient\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"EncoreWindowsRCSClient\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:am:*\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"clientName\":[\"rfc7523-client1\"],\"clientType\":\"Public\",\"authorizationCodeLifetime\":120},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE\\\"}]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"rfc7523-client1\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 5/13/2023, 8:07:37 PM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"49a2981c-e192-4739-a0e6-c7582168bdf5\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"49a2981c-e192-4739-a0e6-c7582168bdf5\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:device_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"Streaming Services\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"baseline-device\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"forgerock://oidc_callback\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"baseline-ios-sdk\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"userpassword\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\",\"openid\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"javascriptOrigins\":[],\"policyUri\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"grantTypes\":[\"client_credentials\",\"idm_delegation\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[]},\"overrideOAuth2ClientConfig\":{\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"statelessTokensEnabled\":true},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"idm-provisioning\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:openid:params:grant-type:ciba\",\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":\"{\\\"keys\\\" :[{ \\\"kty\\\": \\\"EC\\\", \\\"d\\\": \\\"bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k\\\", \\\"use\\\": \\\"sig\\\", \\\"crv\\\": \\\"P-256\\\", \\\"kid\\\": \\\"mykey\\\", \\\"x\\\": \\\"E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s\\\", \\\"y\\\": \\\"1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ\\\" }]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"baseline-ciba\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"baseline-web\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:46:11 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"openid\"],\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[\"test2\"],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"remoteConsentServiceId\":null,\"tokenEncryptionEnabled\":false,\"enableRemoteConsent\":false,\"oidcMayActScript\":\"[Empty]\",\"usePolicyEngineForScope\":false,\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"providerOverridesEnabled\":false,\"issueRefreshTokenOnRefreshedToken\":true,\"statelessTokensEnabled\":false},\"advancedOAuth2ClientConfig\":{\"descriptions\":[\"Modified by Frodo on 4/16/2022, 8:41:59 PM\"],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\",\"client_credentials\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"test2\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"testclient\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_id\":\"cdsso-ig-agent\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_id\":\"FrodoTestGatewayAgent3\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_id\":\"FrodoTestGatewayAgent1\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_id\":\"ig-agent\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_id\":\"frodo-test-ig-agent2\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_id\":\"frodo-test-ig-agent\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":\"{\\n \\\"keys\\\": [\\n {\\n \\\"alg\\\": \\\"RS256\\\",\\n \\\"e\\\": \\\"AQAB\\\",\\n \\\"kid\\\": \\\"F8XFabIUlF3EDIJNX7YXdmK5uanwbON7CRbaL1MEFqs\\\",\\n \\\"kty\\\": \\\"RSA\\\",\\n \\\"n\\\": \\\"nuFbAmaHuTnH5yMkEU8b0SiL7pfQtfJz1p50QMeN_ZRxd3rEMPkP95sEjd5d4CjzkGIlgF_vX3oLm1GreAqp97okjM-KCAlYI8rIqptDfMFRRJV-ydw0zeDFjNdIo1FFquat1rz_mgys6oBBgYyc1x2MSfuCL82lJK__E0KULdqgZ-93eEfS9UgxguPsHCYnrdUrLQbk7j0OWy0awaGgjw_GBeW6VriVMPNm7q0Ist4XoXpTHqfuDhrchdOadSw5wULJQLqkK2iOzKfE1JrunIVMcsN_FhyxMGhJ2f6j1_8txMac5ISW6AugGoW6yeeRL-H_y_Pc1MPHNPYPOAvzAyviomajaVSQImSCTIrrtYX1WUSdrVkEFwk0H379xwlfwux7-6DjgwbJKrbtHlKw28CGNanHs2j1eJNuWkPXF_1F5koqKr05jIC6h96g1vl_EKddN7Vy9j6yRYdfS1A5co5nW4UtuVo1VujQWVtOnDEpDOQFYriAxRrghk250FGW82jyxEstI2HmLznHgPYUw_xS6qEmboCJ2r9zfVMVTTcaE9KWaetEhSTZzVTLddQs2-1vp-7A_VmVU0OmUXIyFpAv0uE94nX1mW24yOf0tYUrEfmktfNNMxHh3fncSJu93q90yaj6e3m4Ibgc2JZnp4m_hDFjyuTAruclisN4u4M\\\"\\n }\\n ]\\n}\",\"consentedScopesClaim\":\"scope\",\"issuer\":\"https://my-issuer.com/issuer\",\"jwkStoreCacheMissCacheTime\":60000,\"resourceOwnerIdentityClaim\":\"sub\",\"jwksUri\":null,\"_id\":\"rfc7523-client1-issuer\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:21 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:59:21.301Z", + "time": 179, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 179 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/1-Put-IdentityGatewayAgent-FrodoTestGatewayAgent2_1756107103/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/1-Put-IdentityGatewayAgent-FrodoTestGatewayAgent2_1756107103/recording.har new file mode 100644 index 000000000..c71798fbc --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/1-Put-IdentityGatewayAgent-FrodoTestGatewayAgent2_1756107103/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/putAgentByTypeAndId()/1: Put IdentityGatewayAgent 'FrodoTestGatewayAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3490dcb8228ca3b7af6d8da542b2cc99", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1996, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoTestGatewayAgent2" + }, + "response": { + "bodySize": 393, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 393, + "text": "{\"_id\":\"FrodoTestGatewayAgent2\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoTestGatewayAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "393" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 933, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoTestGatewayAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-08-15T18:59:22.422Z", + "time": 96, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 96 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/2-Put-J2EEAgent-FrodoTestJavaAgent2_3032809272/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/2-Put-J2EEAgent-FrodoTestJavaAgent2_3032809272/recording.har new file mode 100644 index 000000000..bcc309392 --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/2-Put-J2EEAgent-FrodoTestJavaAgent2_3032809272/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/putAgentByTypeAndId()/2: Put J2EEAgent 'FrodoTestJavaAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "a3fb69c0d377906b175d358fe1e1b527", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9151, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9151" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoTestJavaAgent2" + }, + "response": { + "bodySize": 9549, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9549, + "text": "{\"_id\":\"FrodoTestJavaAgent2\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoTestJavaAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 927, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoTestJavaAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-08-15T18:59:22.564Z", + "time": 116, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 116 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/3-Put-WebAgent-FrodoTestWebAgent2_2899523683/recording.har b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/3-Put-WebAgent-FrodoTestWebAgent2_2899523683/recording.har new file mode 100644 index 000000000..d9334674a --- /dev/null +++ b/src/test/mock-recordings/AgentApi_3283790642/Cloud-Tests_2178067211/putAgentByTypeAndId_1574782821/3-Put-WebAgent-FrodoTestWebAgent2_2899523683/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentApi/Cloud Tests/putAgentByTypeAndId()/3: Put WebAgent 'FrodoTestWebAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "92967379c8aed2db854c64e33890ba69", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6523, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6523" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoTestWebAgent2" + }, + "response": { + "bodySize": 6593, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6593, + "text": "{\"_id\":\"FrodoTestWebAgent2\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoTestWebAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6593" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:59:22 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e4b4451d-1e4e-49bb-a559-0a1154ad319d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 919, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoTestWebAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-08-15T18:59:22.705Z", + "time": 121, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 121 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgent_1343483011/4-Export-agent-AgentService_1769707760/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgent_1343483011/4-Export-agent-AgentService_1769707760/recording.har new file mode 100644 index 000000000..3ae8b5b8b --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgent_1343483011/4-Export-agent-AgentService_1769707760/recording.har @@ -0,0 +1,294 @@ +{ + "log": { + "_recordingName": "AgentOps/Classic Tests/exportAgent()/4: Export agent 'AgentService'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 107, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "107" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.135Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "815ab095396eca6ce44da127b5dd7c5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/global-config/agents/AgentService/" + }, + "response": { + "bodySize": 102, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 102, + "text": "{\"_id\":\"\",\"_rev\":\"1570129136\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1570129136\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "102" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.146Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgents_1099944366/2-Export-all-agents_2462646072/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgents_1099944366/2-Export-all-agents_2462646072/recording.har new file mode 100644 index 000000000..69d29aeb1 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/exportAgents_1099944366/2-Export-all-agents_2462646072/recording.har @@ -0,0 +1,159 @@ +{ + "log": { + "_recordingName": "AgentOps/Classic Tests/exportAgents()/2: Export all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 107, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "107" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.117Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgent_3394511801/4-Read-agent-AgentService_257424302/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgent_3394511801/4-Read-agent-AgentService_257424302/recording.har new file mode 100644 index 000000000..bdff7c75f --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgent_3394511801/4-Read-agent-AgentService_257424302/recording.har @@ -0,0 +1,294 @@ +{ + "log": { + "_recordingName": "AgentOps/Classic Tests/readAgent()/4: Read agent 'AgentService'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 107, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "107" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.089Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "815ab095396eca6ce44da127b5dd7c5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/global-config/agents/AgentService/" + }, + "response": { + "bodySize": 102, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 102, + "text": "{\"_id\":\"\",\"_rev\":\"1570129136\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1570129136\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "102" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.100Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgents_991171460/2-Read-all-agents_2878291390/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgents_991171460/2-Read-all-agents_2878291390/recording.har new file mode 100644 index 000000000..f4a704c13 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Classic-Tests_743483830/readAgents_991171460/2-Read-all-agents_2878291390/recording.har @@ -0,0 +1,159 @@ +{ + "log": { + "_recordingName": "AgentOps/Classic Tests/readAgents()/2: Read all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ecc5990a-4cc2-4623-a47c-a6830fd23623" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" + }, + "response": { + "bodySize": 107, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "107" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:32:10 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:32:11.056Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har new file mode 100644 index 000000000..7ddbb3021 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/1: Delete agent 'FrodoOpsTestGatewayAgent8' (IdentityGatewayAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "b6cd1a8afe8cc95e3eaccba65cfee6e8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1987, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestGatewayAgent8'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestGatewayAgent8%27" + }, + "response": { + "bodySize": 399, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 399, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"91334310\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"userpassword\":null,\"_type\":\"IdentityGatewayAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "399" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:45 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:45.755Z", + "time": 206, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 206 + } + }, + { + "_id": "280e3b172c043aea58b8740c0874fddf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:45 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:45.970Z", + "time": 152, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 152 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har new file mode 100644 index 000000000..76a4559ca --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/2: Delete agent 'FrodoOpsTestJavaAgent8' (J2EEAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "c58d5468550592a077f6f260db32f16a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1984, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestJavaAgent8'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestJavaAgent8%27" + }, + "response": { + "bodySize": 5452, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5452, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"960046245\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":\"J2EEAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5452" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:46.140Z", + "time": 2316, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2316 + } + }, + { + "_id": "57e6b0f077baa482196b66a19a4b1922", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent8" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:48.463Z", + "time": 90, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 90 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har new file mode 100644 index 000000000..0b45017e0 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/3: Delete agent 'FrodoOpsTestWebAgent8' (WebAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fd002dbaf4b03318e6d8de3225b94124", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestWebAgent8'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestWebAgent8%27" + }, + "response": { + "bodySize": 3786, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3786, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1541107291\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":\"WebAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3786" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:48.566Z", + "time": 156, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 156 + } + }, + { + "_id": "cb0162e310aaa2a363b457e886865c09", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent8" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:48.728Z", + "time": 80, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 80 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har new file mode 100644 index 000000000..8518dfde9 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har @@ -0,0 +1,4703 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteAgents()/1: Delete all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "38c6b8f9cf2529728ebd21c7023cd093", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-504717871\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.349Z", + "time": 81, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 81 + } + }, + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 3965, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3965, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":8,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3965" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.351Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 32038, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 32038, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.352Z", + "time": 163, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 163 + } + }, + { + "_id": "4f61453430bd0d2ae640738492af9184", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-09-09T20:53:16.354Z", + "time": 119, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 119 + } + }, + { + "_id": "f4133ac6ad5b31dac504f3ba13b12318", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 810, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentResponseSigningAlg\":\"RS256\",\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "810" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.356Z", + "time": 141, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 141 + } + }, + { + "_id": "5bc916819d3bb67a4607e372c129f5fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.358Z", + "time": 134, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 134 + } + }, + { + "_id": "fa304c8238e2ce56ab11d5eb0a26d517", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 478, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"agentgroup\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "478" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.360Z", + "time": 127, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 127 + } + }, + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 22075, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 22075, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.362Z", + "time": 147, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 147 + } + }, + { + "_id": "214bea84d5fd913cf91b818aa6990257", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/cdsso-ig-agent" + }, + "response": { + "bodySize": 799, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 799, + "text": "{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"505834845\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"505834845\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "799" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.524Z", + "time": 125, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 125 + } + }, + { + "_id": "a9abe436a7bbcd363ac148fb1817f291", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1977, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/frodo-test-ig-agent" + }, + "response": { + "bodySize": 474, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 474, + "text": "{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-255733308\",\"secretLabelIdentifier\":null,\"agentgroup\":\"test_ig_group\",\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false,\"value\":\"http://testurl.com:8080/frodo\"},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"http://testurl.com:8080/frodo\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-255733308\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "474" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.657Z", + "time": 100, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 100 + } + }, + { + "_id": "d28ce1fdfdaf3239c90c7dd6f717595b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1978, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/frodo-test-ig-agent2" + }, + "response": { + "bodySize": 461, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 461, + "text": "{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1471334408\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false,\"value\":\"http://testurl.com:8080/frodo\"},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"http://testurl.com:8080/frodo\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1471334408\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "461" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.763Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "498f5e730700df58ec5073bae7c3fe14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1968, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/frodo-test-java-agent" + }, + "response": { + "bodySize": 9480, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9480, + "text": "{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1692981145\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"testurl.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":8080},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"http\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testurl.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testurl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"8080\":\"http\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1692981145\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.862Z", + "time": 96, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 96 + } + }, + { + "_id": "bcd2b19a4db77deb0ca37a58b931619b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/frodo-test-java-agent2" + }, + "response": { + "bodySize": 9481, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9481, + "text": "{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"1692981145\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"testurl.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":8080},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"http\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testurl.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testurl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"8080\":\"http\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1692981145\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:16.962Z", + "time": 123, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 123 + } + }, + { + "_id": "88db24b362db54787458c882624e6d28", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/frodo-test-web-agent" + }, + "response": { + "bodySize": 6528, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6528, + "text": "{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"-1940700403\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"http://testserverurl.com:8080/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testagenturl.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"http://testagenturl.com:8080/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testagenturl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1940700403\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6528" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.091Z", + "time": 102, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 102 + } + }, + { + "_id": "2c9d28390f9368ea1a62344e25190472", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/frodo-test-web-agent2" + }, + "response": { + "bodySize": 6529, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6529, + "text": "{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"-1940700403\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"http://testserverurl.com:8080/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testagenturl.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"http://testagenturl.com:8080/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testagenturl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1940700403\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6529" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.199Z", + "time": 104, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 104 + } + }, + { + "_id": "beac5a47c40521f6cee0f42a2af6bde0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.309Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "27cf45f37998bdcb317a7ff6f94e7720", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.407Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "280e3b172c043aea58b8740c0874fddf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.503Z", + "time": 104, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 104 + } + }, + { + "_id": "ec660f2c3bd50b0264be2a57b7f1ae06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1983, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.612Z", + "time": 113, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 113 + } + }, + { + "_id": "71960bee29a47d7cdaed8e6d8bcf5acc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.729Z", + "time": 97, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 97 + } + }, + { + "_id": "64c4999e3ce4e6369acb2839bda87e7c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent7" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.831Z", + "time": 119, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 119 + } + }, + { + "_id": "57e6b0f077baa482196b66a19a4b1922", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent8" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:17.959Z", + "time": 95, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 95 + } + }, + { + "_id": "49897c076ac969209dfd7dfdc568e697", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent9" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:17 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.060Z", + "time": 94, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 94 + } + }, + { + "_id": "11bfcd80bd1b27b1cb003c0dbdf82bf4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.161Z", + "time": 105, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 105 + } + }, + { + "_id": "27671c8c624cc340060421694ee976bb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent7" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.271Z", + "time": 95, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 95 + } + }, + { + "_id": "cb0162e310aaa2a363b457e886865c09", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent8" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.372Z", + "time": 118, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 118 + } + }, + { + "_id": "024466917cb099c1efc6f9f9b23e245d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent9" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.496Z", + "time": 134, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 134 + } + }, + { + "_id": "3ad2c8fac1a856d6974f61fb8e9a73c5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/ig-agent" + }, + "response": { + "bodySize": 379, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 379, + "text": "{\"_id\":\"ig-agent\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "379" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.637Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + }, + { + "_id": "047adc0e2ed3fcee9f48d1e09a10f74f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1962, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent/my-policy-agent" + }, + "response": { + "bodySize": 241, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 241, + "text": "{\"_id\":\"my-policy-agent\",\"_rev\":\"-1073182983\",\"cdssoRootUrl\":{\"inherited\":false,\"value\":[]},\"description\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1073182983\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "241" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.733Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "72e8809fc9443462c4cdb11299534ccd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent/test" + }, + "response": { + "bodySize": 1006, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1006, + "text": "{\"_id\":\"test\",\"_rev\":\"1629044953\",\"remoteConsentRequestEncryptionAlgorithm\":{\"inherited\":false,\"value\":\"RSA-OAEP-256\"},\"publicKeyLocation\":{\"inherited\":false,\"value\":\"jwks_uri\"},\"jwksCacheTimeout\":{\"inherited\":false,\"value\":3600000},\"remoteConsentResponseSigningAlg\":{\"inherited\":false,\"value\":\"RS256\"},\"remoteConsentRequestSigningAlgorithm\":{\"inherited\":false,\"value\":\"RS256\"},\"jwkSet\":{\"inherited\":false},\"jwkStoreCacheMissCacheTime\":{\"inherited\":false,\"value\":60000},\"remoteConsentResponseEncryptionMethod\":{\"inherited\":false,\"value\":\"A128GCM\"},\"remoteConsentRedirectUrl\":{\"inherited\":false},\"remoteConsentRequestEncryptionEnabled\":{\"inherited\":false,\"value\":true},\"remoteConsentRequestEncryptionMethod\":{\"inherited\":false,\"value\":\"A128GCM\"},\"remoteConsentResponseEncryptionAlgorithm\":{\"inherited\":false,\"value\":\"RSA-OAEP-256\"},\"requestTimeLimit\":{\"inherited\":false,\"value\":180},\"jwksUri\":{\"inherited\":false},\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1629044953\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1006" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.825Z", + "time": 102, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 102 + } + }, + { + "_id": "4e245febd5840f42daf5bfada5188e02", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1982, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher/test%20software%20publisher" + }, + "response": { + "bodySize": 479, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 479, + "text": "{\"_id\":\"test software publisher\",\"_rev\":\"1920993704\",\"publicKeyLocation\":{\"inherited\":false,\"value\":\"jwks_uri\"},\"jwksCacheTimeout\":{\"inherited\":false,\"value\":3600000},\"softwareStatementSigningAlgorithm\":{\"inherited\":false,\"value\":\"RS256\"},\"jwkSet\":{\"inherited\":false},\"issuer\":{\"inherited\":false},\"jwkStoreCacheMissCacheTime\":{\"inherited\":false,\"value\":60000},\"jwksUri\":{\"inherited\":false},\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1920993704\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "479" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:53:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c5a46f75-5906-48aa-9cdd-a9f3226be120" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:53:18.932Z", + "time": 97, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 97 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har new file mode 100644 index 000000000..c4b2cf1a3 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgent()/1: Delete IdentityGatewayAgent 'FrodoOpsTestGatewayAgent9'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dcadb1d949b025dc7fa9e7e3fdacb9bd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestGatewayAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestGatewayAgent9%27" + }, + "response": { + "bodySize": 892, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 892, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "892" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:48.822Z", + "time": 407, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 407 + } + }, + { + "_id": "ec660f2c3bd50b0264be2a57b7f1ae06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.236Z", + "time": 80, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 80 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har new file mode 100644 index 000000000..c2f086692 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgent()/2: Delete agent of wrong type 'FrodoOpsTestJavaAgent9' (J2EEAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "e877afc1df5dbd8724944b39126086fd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2005, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestJavaAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestJavaAgent9%27" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.328Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har new file mode 100644 index 000000000..1e07c5b12 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har @@ -0,0 +1,1374 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgents()/1: Delete all gateway agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 3953, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3953, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"1760721303\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":8,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3953" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:34.927Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + }, + { + "_id": "214bea84d5fd913cf91b818aa6990257", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/cdsso-ig-agent" + }, + "response": { + "bodySize": 799, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 799, + "text": "{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"505834845\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"505834845\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "799" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.011Z", + "time": 160, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 160 + } + }, + { + "_id": "beac5a47c40521f6cee0f42a2af6bde0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.179Z", + "time": 87, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 87 + } + }, + { + "_id": "280e3b172c043aea58b8740c0874fddf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.273Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "ec660f2c3bd50b0264be2a57b7f1ae06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.367Z", + "time": 89, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 89 + } + }, + { + "_id": "3ad2c8fac1a856d6974f61fb8e9a73c5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/ig-agent" + }, + "response": { + "bodySize": 379, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 379, + "text": "{\"_id\":\"ig-agent\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "379" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.463Z", + "time": 407, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 407 + } + }, + { + "_id": "d28ce1fdfdaf3239c90c7dd6f717595b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1976, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/frodo-test-ig-agent2" + }, + "response": { + "bodySize": 461, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 461, + "text": "{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1471334408\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false,\"value\":\"http://testurl.com:8080/frodo\"},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"http://testurl.com:8080/frodo\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1471334408\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "461" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.878Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + }, + { + "_id": "a9abe436a7bbcd363ac148fb1817f291", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1975, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/frodo-test-ig-agent" + }, + "response": { + "bodySize": 460, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 460, + "text": "{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"1471334408\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false,\"value\":\"http://testurl.com:8080/frodo\"},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"http://testurl.com:8080/frodo\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1471334408\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "460" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:35.997Z", + "time": 89, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 89 + } + }, + { + "_id": "27cf45f37998bdcb317a7ff6f94e7720", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.093Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har new file mode 100644 index 000000000..90da0f99c --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgent()/1: Delete J2EEAgent 'FrodoOpsTestJavaAgent9'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fa0d2c1aa959f5a2bf0c4ead35beea63", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1994, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestJavaAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestJavaAgent9%27" + }, + "response": { + "bodySize": 5479, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5479, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5479" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.419Z", + "time": 71, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 71 + } + }, + { + "_id": "49897c076ac969209dfd7dfdc568e697", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent9" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.497Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har new file mode 100644 index 000000000..aef8c9a97 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgent()/2: Delete agent of wrong type 'FrodoOpsTestWebAgent9' (WebAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "52ba5892b048608be10934608be943bb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1993, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestWebAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestWebAgent9%27" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.610Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har new file mode 100644 index 000000000..90a7892a9 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har @@ -0,0 +1,1072 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgents()/1: Delete all java agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 32038, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 32038, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.203Z", + "time": 97, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 97 + } + }, + { + "_id": "498f5e730700df58ec5073bae7c3fe14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/frodo-test-java-agent" + }, + "response": { + "bodySize": 9480, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9480, + "text": "{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1692981145\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"testurl.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":8080},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"http\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testurl.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testurl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"8080\":\"http\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1692981145\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.307Z", + "time": 86, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 86 + } + }, + { + "_id": "49897c076ac969209dfd7dfdc568e697", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent9" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.401Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + }, + { + "_id": "64c4999e3ce4e6369acb2839bda87e7c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent7" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.494Z", + "time": 93, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 93 + } + }, + { + "_id": "57e6b0f077baa482196b66a19a4b1922", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent8" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.595Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "bcd2b19a4db77deb0ca37a58b931619b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/frodo-test-java-agent2" + }, + "response": { + "bodySize": 9481, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9481, + "text": "{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"1692981145\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"testurl.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":8080},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"http\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testurl.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testurl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"8080\":\"http\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1692981145\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.689Z", + "time": 96, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 96 + } + }, + { + "_id": "71960bee29a47d7cdaed8e6d8bcf5acc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.791Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har new file mode 100644 index 000000000..9a97b4885 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgent()/1: Delete WebAgent 'FrodoOpsTestWebAgent9'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "4afb5f756563d9db0da38a60a0d11181", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1992, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestWebAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestWebAgent9%27" + }, + "response": { + "bodySize": 3812, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3812, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3812" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.696Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + }, + { + "_id": "024466917cb099c1efc6f9f9b23e245d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent9" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.771Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har new file mode 100644 index 000000000..0750035c6 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgent()/2: Delete agent of wrong type 'FrodoOpsTestGatewayAgent9' (IdentityGatewayAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "a2b8aa700d192224fae28688914f6d0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1996, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestGatewayAgent9'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=_id%20eq%20%27FrodoOpsTestGatewayAgent9%27" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:29:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-819ce1b0-b8b7-4771-b3e1-984cbc015a3a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:29:49.873Z", + "time": 398, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 398 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har new file mode 100644 index 000000000..eade869ee --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har @@ -0,0 +1,1072 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgents()/1: Delete all web agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1958, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 22075, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 22075, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.912Z", + "time": 79, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 79 + } + }, + { + "_id": "27671c8c624cc340060421694ee976bb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent7" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:36.998Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "cb0162e310aaa2a363b457e886865c09", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent8" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:37.092Z", + "time": 89, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 89 + } + }, + { + "_id": "2c9d28390f9368ea1a62344e25190472", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/frodo-test-web-agent2" + }, + "response": { + "bodySize": 6529, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6529, + "text": "{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"-1940700403\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"http://testserverurl.com:8080/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testagenturl.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"http://testagenturl.com:8080/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testagenturl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1940700403\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6529" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:37.187Z", + "time": 90, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 90 + } + }, + { + "_id": "024466917cb099c1efc6f9f9b23e245d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent9" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:37.283Z", + "time": 95, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 95 + } + }, + { + "_id": "88db24b362db54787458c882624e6d28", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/frodo-test-web-agent" + }, + "response": { + "bodySize": 6528, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6528, + "text": "{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"-1940700403\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"http://testserverurl.com:8080/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"testagenturl.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Inactive\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"http://testagenturl.com:8080/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://testagenturl.com:8080/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1940700403\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6528" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:37.385Z", + "time": 93, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 93 + } + }, + { + "_id": "11bfcd80bd1b27b1cb003c0dbdf82bf4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1965, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:30:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d86ceb3a-04ff-4c49-aa70-28b8a85ff296" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:30:37.484Z", + "time": 308, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 308 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgentGroups_1077967443/1-Export-Agent-Groups_596572567/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgentGroups_1077967443/1-Export-Agent-Groups_596572567/recording.har new file mode 100644 index 000000000..1dc701320 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgentGroups_1077967443/1-Export-Agent-Groups_596572567/recording.har @@ -0,0 +1,175 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportAgentGroups()/1: Export Agent Groups", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dcea3a6dcb13032966723225c5134b31", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1984, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 8670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8670, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"test_web_agent_group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"test_java_group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"igTokenIntrospection\":\"None\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.468Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har new file mode 100644 index 000000000..4c6c4b92f --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/1: Export agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "9ea66ba3eb5c16b5d5a5d0813390337a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1989, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestGatewayAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestGatewayAgent1%27" + }, + "response": { + "bodySize": 853, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 853, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"-347955262\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"userpassword\":null,\"_type\":\"IdentityGatewayAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "853" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.155Z", + "time": 247, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 247 + } + }, + { + "_id": "46a3ab1ad36fed1727dd40c6664ec648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.407Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har new file mode 100644 index 000000000..f4e89883f --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "77510ec3f126388e42f2a2e6f1daa9ef", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestJavaAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestJavaAgent1%27" + }, + "response": { + "bodySize": 5446, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5446, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-1713077232\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":\"J2EEAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5446" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.477Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + }, + { + "_id": "8224f3a87d3b9e9c8271aa8960d2b1c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.556Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har new file mode 100644 index 000000000..9a9c7f7ac --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/3: Export agent 'FrodoOpsTestWebAgent1' (WebAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "bd52b236920c1f613eb074bcd51ef65e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1985, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestWebAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestWebAgent1%27" + }, + "response": { + "bodySize": 3841, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3841, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1228466012\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":\"WebAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3841" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.629Z", + "time": 75, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 75 + } + }, + { + "_id": "fb688455998291e8f0fcef6b29afc931", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.709Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har new file mode 100644 index 000000000..d190a3be7 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har @@ -0,0 +1,1230 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportAgents()/1: Export all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "38c6b8f9cf2529728ebd21c7023cd093", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-504717871\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.726Z", + "time": 114, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 114 + } + }, + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 4269, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4269, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent2\",\"_rev\":\"-1901768341\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4269" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.726Z", + "time": 119, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 119 + } + }, + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 37380, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 37380, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent2\",\"_rev\":\"362051150\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.727Z", + "time": 129, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 129 + } + }, + { + "_id": "4f61453430bd0d2ae640738492af9184", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-09-09T20:52:10.728Z", + "time": 93, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 93 + } + }, + { + "_id": "f4133ac6ad5b31dac504f3ba13b12318", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 810, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentResponseSigningAlg\":\"RS256\",\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "810" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.728Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + }, + { + "_id": "5bc916819d3bb67a4607e372c129f5fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.729Z", + "time": 113, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 113 + } + }, + { + "_id": "fa304c8238e2ce56ab11d5eb0a26d517", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 478, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"agentgroup\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "478" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.730Z", + "time": 103, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 103 + } + }, + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 25750, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 25750, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent2\",\"_rev\":\"1774890633\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.730Z", + "time": 130, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 130 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har new file mode 100644 index 000000000..e53d04e28 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportIdentityGatewayAgent()/1: Export IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "46a3ab1ad36fed1727dd40c6664ec648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.789Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har new file mode 100644 index 000000000..593948e68 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportIdentityGatewayAgents()/1: Export gateway agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 4269, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4269, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent2\",\"_rev\":\"-1901768341\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4269" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.873Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har new file mode 100644 index 000000000..7a2be5040 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportJavaAgent()/1: Export J2EEAgent 'FrodoOpsTestJavaAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "8224f3a87d3b9e9c8271aa8960d2b1c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.866Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har new file mode 100644 index 000000000..aa4040560 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportJavaAgents()/1: Export java agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 37380, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 37380, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent2\",\"_rev\":\"362051150\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.952Z", + "time": 95, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 95 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har new file mode 100644 index 000000000..88b98c6ac --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportWebAgent()/1: Export WebAgent 'FrodoOpsTestWebAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fb688455998291e8f0fcef6b29afc931", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.941Z", + "time": 80, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 80 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har new file mode 100644 index 000000000..37ed75d7d --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/exportWebAgents()/1: Export web agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 25750, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 25750, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent2\",\"_rev\":\"1774890633\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:11.060Z", + "time": 85, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 85 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har new file mode 100644 index 000000000..2f710eb59 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importAgent()/1: Import gateway agent", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dacc4ee56d289c9e67bdee8613c63874", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent6\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 936, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:13.119Z", + "time": 94, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 94 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/2-Import-java-agent_1995328899/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/2-Import-java-agent_1995328899/recording.har new file mode 100644 index 000000000..e17a7b055 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/2-Import-java-agent_1995328899/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importAgent()/2: Import java agent", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "160743afb9f3d0c748e5761eab9ca1cb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9151, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9151" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent6" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent6\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent6" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 930, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent6", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:13.223Z", + "time": 106, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 106 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/3-Import-web-agent_1315924014/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/3-Import-web-agent_1315924014/recording.har new file mode 100644 index 000000000..79e085e71 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgent_336813858/3-Import-web-agent_1315924014/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importAgent()/3: Import web agent", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "92626b33bb08faff9e27ef01b6fe68c3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6523, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6523" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent6" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent6\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent6" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 922, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent6", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:13.339Z", + "time": 104, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 104 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgents_710150157/1-Import-all-agents_1082210830/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgents_710150157/1-Import-all-agents_1082210830/recording.har new file mode 100644 index 000000000..e3379d143 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importAgents_710150157/1-Import-all-agents_1082210830/recording.har @@ -0,0 +1,506 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importAgents()/1: Import all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ac5eb927f1f6e1af146277bbfc6c9351", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent3\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 936, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.031Z", + "time": 95, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 95 + } + }, + { + "_id": "8202ba714a8d2611d9043706aa68fcc1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9151, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9151" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent3" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent3\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent3" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 930, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent3", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.135Z", + "time": 110, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 110 + } + }, + { + "_id": "9ae4f73e2f38880618ab273654e59578", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6523, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6523" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent3" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent3\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent3" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 922, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent3", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.256Z", + "time": 102, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 102 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har new file mode 100644 index 000000000..3d117222d --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har @@ -0,0 +1,174 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importIdentityGatewayAgent()/1: Import IdentityGatewayAgent 'FrodoOpsTestGatewayAgent7'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "e84c64aa3b36bf926ca37ad0aa74b67d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"899690511\",\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"899690511\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:13.451Z", + "time": 136, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 136 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har new file mode 100644 index 000000000..61b05ed89 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har @@ -0,0 +1,342 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importIdentityGatewayAgents()/1: Import all gateway agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff93bb2c4dfcd1ecfcf998c6670819bf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 726, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "726" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent4\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 938, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.370Z", + "time": 89, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 89 + } + }, + { + "_id": "14afbf435fa5e30294fd8a2b51e939fc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent5\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 936, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.463Z", + "time": 106, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 106 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har new file mode 100644 index 000000000..eae8d614d --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har @@ -0,0 +1,174 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importJavaAgent()/1: Import J2EEAgent 'FrodoOpsTestJavaAgent7'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "59089c2f631062f91bccd8e65a892201", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9151, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9151" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent7" + }, + "response": { + "bodySize": 9183, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9183, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"-1750716182\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1750716182\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:13.597Z", + "time": 210, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 210 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har new file mode 100644 index 000000000..eaace0828 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har @@ -0,0 +1,342 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importJavaAgents()/1: Import all java agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1737db106e1073a99e7d5ede0b34165c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9078, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9078" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent4" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent4\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent4" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 931, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent4", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.580Z", + "time": 119, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 119 + } + }, + { + "_id": "26c939bdde66a4400b29c29d2edd21cd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9078, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9078" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent5" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent5\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent5" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 931, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent5", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.706Z", + "time": 155, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 155 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har new file mode 100644 index 000000000..b854335d9 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har @@ -0,0 +1,174 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importWebAgent()/1: Import WebAgent 'FrodoOpsTestWebAgent7'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "1c8ba0b8fa54a21a7a5961f313798e29", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6523, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6523" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent7" + }, + "response": { + "bodySize": 6552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6552, + "text": "{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"528305929\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"528305929\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6552" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:13.819Z", + "time": 145, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 145 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har new file mode 100644 index 000000000..9d4ab2612 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har @@ -0,0 +1,342 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/importWebAgents()/1: Import all web agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "d76b8cd13164fc039334fc2c8543b111", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6590, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6590" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent4" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent4\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent4" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 923, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent4", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.871Z", + "time": 111, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 111 + } + }, + { + "_id": "03e69f55899d8b0ace959c52f0ed53f6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6590, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6590" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent5" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent5\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent5" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 923, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent5", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:12.987Z", + "time": 117, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 117 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har new file mode 100644 index 000000000..7fc825264 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/1: Read agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "46a3ab1ad36fed1727dd40c6664ec648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.569Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har new file mode 100644 index 000000000..e214c2d32 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/2: Read agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "8224f3a87d3b9e9c8271aa8960d2b1c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.641Z", + "time": 71, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 71 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har new file mode 100644 index 000000000..bb2408882 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/3: Read agent by type 'FrodoOpsTestWebAgent1' (WebAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fb688455998291e8f0fcef6b29afc931", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.729Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentGroups_2219684497/1-Read-Agent-Groups_1421275301/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentGroups_2219684497/1-Read-Agent-Groups_1421275301/recording.har new file mode 100644 index 000000000..11bb94264 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgentGroups_2219684497/1-Read-Agent-Groups_1421275301/recording.har @@ -0,0 +1,175 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgentGroups()/1: Read Agent Groups", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "dcea3a6dcb13032966723225c5134b31", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1984, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 8670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8670, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"test_web_agent_group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"test_java_group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"igTokenIntrospection\":\"None\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.366Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har new file mode 100644 index 000000000..5edde5b41 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgent()/1: Read agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "9ea66ba3eb5c16b5d5a5d0813390337a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1989, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestGatewayAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestGatewayAgent1%27" + }, + "response": { + "bodySize": 853, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 853, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"-347955262\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"userpassword\":null,\"_type\":\"IdentityGatewayAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "853" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.666Z", + "time": 255, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 255 + } + }, + { + "_id": "46a3ab1ad36fed1727dd40c6664ec648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.927Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har new file mode 100644 index 000000000..96aac5e92 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgent()/2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "77510ec3f126388e42f2a2e6f1daa9ef", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestJavaAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestJavaAgent1%27" + }, + "response": { + "bodySize": 5446, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5446, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-1713077232\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":\"J2EEAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5446" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.011Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "8224f3a87d3b9e9c8271aa8960d2b1c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.095Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har new file mode 100644 index 000000000..1d69ee65b --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har @@ -0,0 +1,317 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgent()/3: Read agent 'FrodoOpsTestWebAgent1' (WebAgent)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "bd52b236920c1f613eb074bcd51ef65e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1985, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id eq 'FrodoOpsTestWebAgent1'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents?_queryFilter=_id%20eq%20%27FrodoOpsTestWebAgent1%27" + }, + "response": { + "bodySize": 3841, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3841, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1228466012\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":\"WebAgent\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3841" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.190Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "fb688455998291e8f0fcef6b29afc931", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.274Z", + "time": 77, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 77 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgents_991171460/1-Read-all-agents_4178462681/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgents_991171460/1-Read-all-agents_4178462681/recording.har new file mode 100644 index 000000000..2caa11ddb --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readAgents_991171460/1-Read-all-agents_4178462681/recording.har @@ -0,0 +1,1230 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readAgents()/1: Read all agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "38c6b8f9cf2529728ebd21c7023cd093", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-504717871\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.466Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 3965, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3965, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":8,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3965" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.468Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 32038, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 32038, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.469Z", + "time": 170, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 170 + } + }, + { + "_id": "4f61453430bd0d2ae640738492af9184", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-09-09T20:52:08.471Z", + "time": 133, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 133 + } + }, + { + "_id": "f4133ac6ad5b31dac504f3ba13b12318", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 810, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentResponseSigningAlg\":\"RS256\",\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "810" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.473Z", + "time": 149, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 149 + } + }, + { + "_id": "5bc916819d3bb67a4607e372c129f5fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.474Z", + "time": 147, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 147 + } + }, + { + "_id": "fa304c8238e2ce56ab11d5eb0a26d517", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1969, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 478, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"agentgroup\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "478" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.476Z", + "time": 145, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 145 + } + }, + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 22075, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 22075, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:08.478Z", + "time": 160, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 160 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har new file mode 100644 index 000000000..325661cf6 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readIdentityGatewayAgent()/1: Read IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "46a3ab1ad36fed1727dd40c6664ec648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1980, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 850, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1997142121\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1997142121\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "850" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.881Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har new file mode 100644 index 000000000..f650f082a --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readIdentityGatewayAgents()/1: Read gateway agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1972, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 3965, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3965, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent1\",\"_rev\":\"1953909377\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent8\",\"_rev\":\"-1901768347\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent9\",\"_rev\":\"1953909369\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://ig.mytestrun.com/expanse/cdsso/redirect\",\"https://ig.mytestrun.com/ig/cdsso/redirect\",\"https://ig.scheuber.io/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/grafana/cdsso/redirect\",\"https://ig.mytestrun.com/ig-sample-app/cdsso/redirect\",\"https://ig.mytestrun.com/bi/cdsso/redirect\",\"https://ig.mytestrun.com/prometheus/cdsso/redirect\",\"https://ig.mytestrun.com/ig/studio/cdsso/redirect\",\"https://ig.mytestrun.com/forgerock/cdsso/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestGatewayAgent7\",\"_rev\":\"-1901768348\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"igCdssoLoginUrlTemplate\":null,\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":8,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3965" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:09.803Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har new file mode 100644 index 000000000..e5514e7b6 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readJavaAgent()/1: Read J2EEAgent 'FrodoOpsTestJavaAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "8224f3a87d3b9e9c8271aa8960d2b1c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1966, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent1" + }, + "response": { + "bodySize": 9545, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9545, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"-723100226\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agent/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"iPlanetAMWebAgentService\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"ALL\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"error\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":0},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"employeenumber\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/agent/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-723100226\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.210Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har new file mode 100644 index 000000000..6c92dea28 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readJavaAgents()/1: Read java agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 32038, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 32038, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent9\",\"_rev\":\"362051141\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent7\",\"_rev\":\"362051135\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent8\",\"_rev\":\"362051136\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agentapp/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/alpha\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"|?realm=/alpha\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"apps\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps2.mytestrun.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"URL_POLICY\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"message\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"ALL\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":10,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"uid\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":false,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/app1/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestJavaAgent1\",\"_rev\":\"2117055915\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"openam-volker-dev.forgeblocks.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":443,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"https\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"openam-volker-dev.forgeblocks.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=https://openam-volker-dev.forgeblocks.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"443\":\"https\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.110Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har new file mode 100644 index 000000000..004df23b7 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readWebAgent()/1: Read WebAgent 'FrodoOpsTestWebAgent1'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "fb688455998291e8f0fcef6b29afc931", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent1" + }, + "response": { + "bodySize": 6664, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6664, + "text": "{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-696084654\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":true},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":true},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":true},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":true},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io/login?realm=/alpha\"]},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://idc.scheuber.io:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\",\"https://apps.mytestrun.com/app1/*\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Info\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_BOTH\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://apps.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://apps.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-696084654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6664" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.522Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har new file mode 100644 index 000000000..e579f2802 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/readWebAgents()/1: Read web agents", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 22075, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 22075, + "text": "{\"result\":[{\"_id\":\"FrodoOpsTestWebAgent7\",\"_rev\":\"1774890626\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent8\",\"_rev\":\"1774890627\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent9\",\"_rev\":\"1774890624\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":null,\"amLogoutUrl\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"www.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://www.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://www.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"FrodoOpsTestWebAgent1\",\"_rev\":\"-1011057588\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":true,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":true,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":true,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":true,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/alpha\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[\"https://idc.scheuber.io/login?realm=/alpha\"],\"policyEvaluationApplication\":\"apps\",\"amLogoutUrl\":[\"https://idc.scheuber.io:443/am/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\",\"https://apps.mytestrun.com/app1/*\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Info\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"apps.mytestrun.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"ALL\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_BOTH\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"https://apps.mytestrun.com:443/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=https://apps.mytestrun.com:443/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-09-09T20:52:10.425Z", + "time": 85, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 85 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har new file mode 100644 index 000000000..795a8bbe2 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/uodateJavaAgent()/1: Update J2EEAgent 'FrodoOpsTestJavaAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "b23559187804faf2e78436a2f4fb7a96", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9151, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "9151" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent2" + }, + "response": { + "bodySize": 9552, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9552, + "text": "{\"_id\":\"FrodoOpsTestJavaAgent2\",\"_rev\":\"404270524\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":{\"inherited\":false,\"value\":false},\"cookieResetDomains\":{\"inherited\":false,\"value\":{}},\"authExchangeUri\":{\"inherited\":false},\"authExchangeCookieName\":{\"inherited\":false},\"setCookieInternalMap\":{\"inherited\":false,\"value\":{}},\"excludedUserAgentsList\":{\"inherited\":false,\"value\":[]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"/agentapp/post-authn-redirect\"},\"cookieResetPaths\":{\"inherited\":false,\"value\":{}},\"cdssoSecureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenEnabled\":{\"inherited\":false,\"value\":false},\"acceptSsoTokenDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoDomainList\":{\"inherited\":false,\"value\":[\"\"]},\"setCookieAttributeMap\":{\"inherited\":false,\"value\":{}},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieResetNames\":{\"inherited\":false,\"value\":[\"\"]},\"acceptIPDPCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":{\"inherited\":false,\"value\":[\"\"]},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"authServiceHost\":{\"inherited\":false,\"value\":\"openam-volker-dev.forgeblocks.com\"},\"policyNotifications\":{\"inherited\":false,\"value\":true},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|?realm=/alpha\"]},\"customLoginEnabled\":{\"inherited\":false,\"value\":false},\"legacyLoginUrlList\":{\"inherited\":false,\"value\":[\"\"]},\"agentAdviceEncode\":{\"inherited\":false,\"value\":false},\"authServicePort\":{\"inherited\":false,\"value\":443},\"urlPolicyEnvGetParameters\":{\"inherited\":false,\"value\":[\"\"]},\"restrictToRealm\":{\"inherited\":false,\"value\":{}},\"urlPolicyEnvJsessionParameters\":{\"inherited\":false,\"value\":[\"\"]},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"conditionalLogoutUrl\":{\"inherited\":false,\"value\":[\"\"]},\"authServiceProtocol\":{\"inherited\":false,\"value\":\"https\"},\"policyEvaluationApplication\":{\"inherited\":false,\"value\":\"apps\"},\"authSuccessRedirectUrl\":{\"inherited\":false,\"value\":false},\"strategyWhenAMUnavailable\":{\"inherited\":false,\"value\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\"},\"overridePolicyEvaluationRealmEnabled\":{\"inherited\":false,\"value\":false}},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUris\":{\"inherited\":false,\"value\":[\"\"]},\"notEnforcedIpsCacheEnabled\":{\"inherited\":false,\"value\":true},\"logoutIntrospection\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUris\":{\"inherited\":false,\"value\":false},\"cookieAttributeUrlEncoded\":{\"inherited\":false,\"value\":true},\"cookieAttributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"notEnforcedRuleCompoundSeparator\":{\"inherited\":false,\"value\":\"|\"},\"logoutRequestParameters\":{\"inherited\":false,\"value\":{}},\"resourceAccessDeniedUri\":{\"inherited\":false,\"value\":{}},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"notEnforcedUrisCacheEnabled\":{\"inherited\":false,\"value\":true},\"headerAttributeDateFormat\":{\"inherited\":false,\"value\":\"EEE, d MMM yyyy hh:mm:ss z\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrisCacheSize\":{\"inherited\":false,\"value\":1000},\"invertNotEnforcedIps\":{\"inherited\":false,\"value\":false},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"clientIpValidationRange\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsCacheSize\":{\"inherited\":false,\"value\":1000},\"clientIpValidationMode\":{\"inherited\":false,\"value\":{\"\":\"OFF\"}},\"notEnforcedFavicon\":{\"inherited\":false,\"value\":true},\"logoutEntryUri\":{\"inherited\":false,\"value\":{}},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]},\"applicationLogoutUris\":{\"inherited\":false,\"value\":{}}},\"globalJ2EEAgentConfig\":{\"repositoryLocation\":\"centralized\",\"userTokenName\":{\"inherited\":false,\"value\":\"UserToken\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"apps2.mytestrun.com\"},\"recheckAmUnavailabilityInSeconds\":{\"inherited\":false,\"value\":5},\"httpSessionBinding\":{\"inherited\":false,\"value\":true},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"localAuditLogRotation\":{\"inherited\":false,\"value\":false},\"filterMode\":{\"inherited\":false,\"value\":{\"\":\"URL_POLICY\"}},\"debugLogfileRotationSize\":{\"inherited\":false,\"value\":52428800},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"debugLevel\":{\"inherited\":false,\"value\":\"message\"},\"lbCookieName\":{\"inherited\":false,\"value\":\"amlbcookie\"},\"auditLogLocation\":{\"inherited\":false,\"value\":\"ALL\"},\"lbCookieEnabled\":{\"inherited\":false,\"value\":false},\"userPrincipalFlag\":{\"inherited\":false,\"value\":false},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"preAuthCookieMaxAge\":{\"inherited\":false,\"value\":300},\"localAuditRotationSize\":{\"inherited\":false,\"value\":52428800},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"debugLogfileRotationMinutes\":{\"inherited\":false,\"value\":-1},\"loginAttemptLimit\":{\"inherited\":false,\"value\":0},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"redirectAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterRDParam\"},\"debugLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"configurationReloadInterval\":{\"inherited\":false,\"value\":10},\"debugLogfileSuffix\":{\"inherited\":false,\"value\":\"-yyyy.MM.dd-HH.mm.ss\"},\"userAttributeName\":{\"inherited\":false,\"value\":\"uid\"},\"localAuditLogfileRetentionCount\":{\"inherited\":false,\"value\":-1},\"customResponseHeader\":{\"inherited\":false,\"value\":{}},\"redirectAttemptLimit\":{\"inherited\":false,\"value\":0},\"userMappingMode\":{\"inherited\":false,\"value\":\"USER_ID\"},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"loginAttemptLimitCookieName\":{\"inherited\":false,\"value\":\"amFilterParam\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=http://localhost:8080/\",\"agentRootURL=https://apps2.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":false},\"debugLogfilePrefix\":{\"inherited\":false},\"preAuthCookieName\":{\"inherited\":false,\"value\":\"amFilterCDSSORequest\"}},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":{\"inherited\":false},\"xssDetectionRedirectUri\":{\"inherited\":false,\"value\":{}},\"postDataCacheTtlMin\":{\"inherited\":false,\"value\":5},\"jwtCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"policyCacheSize\":{\"inherited\":false,\"value\":5000},\"postDataPreserveCacheEntryMaxEntries\":{\"inherited\":false,\"value\":1000},\"postDataPreserveCacheEntryMaxTotalSizeMb\":{\"inherited\":false,\"value\":-1},\"ssoExchangeCacheSize\":{\"inherited\":false,\"value\":100},\"sessionCacheTTL\":{\"inherited\":false,\"value\":15},\"idleTimeRefreshWindow\":{\"inherited\":false,\"value\":1},\"ssoExchangeCacheTTL\":{\"inherited\":false,\"value\":5},\"possibleXssCodeElements\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentPort\":{\"inherited\":false},\"policyClientPollingInterval\":{\"inherited\":false,\"value\":3},\"missingPostDataPreservationEntryUri\":{\"inherited\":false,\"value\":[\"\"]},\"alternativeAgentProtocol\":{\"inherited\":false},\"clientIpHeader\":{\"inherited\":false},\"retainPreviousOverrideBehavior\":{\"inherited\":false,\"value\":true},\"postDataPreserveMultipartLimitBytes\":{\"inherited\":false,\"value\":104857600},\"jwtCacheTTL\":{\"inherited\":false,\"value\":30},\"customProperties\":{\"inherited\":false,\"value\":[]},\"policyCachePerUser\":{\"inherited\":false,\"value\":50},\"expiredSessionCacheTTL\":{\"inherited\":false,\"value\":20},\"fragmentRelayUri\":{\"inherited\":false},\"postDataStickySessionMode\":{\"inherited\":false,\"value\":\"URL\"},\"alternativeAgentHostname\":{\"inherited\":false},\"expiredSessionCacheSize\":{\"inherited\":false,\"value\":500},\"clientHostnameHeader\":{\"inherited\":false},\"monitoringToCSV\":{\"inherited\":false,\"value\":false},\"postDataPreserveMultipartParameterLimitBytes\":{\"inherited\":false,\"value\":104857600}},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":{\"inherited\":false,\"value\":[\"Mozilla/4.7*\"]},\"loginReasonMap\":{\"inherited\":false,\"value\":{}},\"authFailReasonParameterRemapper\":{\"inherited\":false,\"value\":{}},\"agent302RedirectStatusCode\":{\"inherited\":false,\"value\":200},\"loginReasonParameterName\":{\"inherited\":false},\"gotoUrl\":{\"inherited\":false},\"localeLanguage\":{\"inherited\":false,\"value\":\"en\"},\"authFailReasonParameterName\":{\"inherited\":false},\"unwantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"agent302RedirectContentType\":{\"inherited\":false,\"value\":\"application/json\"},\"agent302RedirectEnabled\":{\"inherited\":false,\"value\":true},\"legacyUserAgentSupport\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlParams\":{\"inherited\":false,\"value\":[\"\"]},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"agent302RedirectInvertEnabled\":{\"inherited\":false,\"value\":false},\"wantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"localeCountry\":{\"inherited\":false,\"value\":\"US\"},\"agent302RedirectHttpData\":{\"inherited\":false,\"value\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\"},\"agent302RedirectNerList\":{\"inherited\":false,\"value\":[\"\"]},\"legacyRedirectUri\":{\"inherited\":false,\"value\":\"/app1/sunwLegacySupportURI\"},\"portCheckFile\":{\"inherited\":false,\"value\":\"PortCheckContent.txt\"},\"authFailReasonUrl\":{\"inherited\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"portCheckSetting\":{\"inherited\":false,\"value\":{\"443\":\"https\"}},\"unwantedHttpUrlRegexParams\":{\"inherited\":false,\"value\":[\"\"]},\"portCheckEnabled\":{\"inherited\":false,\"value\":false}},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"404270524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 930, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent/FrodoOpsTestJavaAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:10.296Z", + "time": 118, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 118 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har new file mode 100644 index 000000000..3c1a549a4 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/updateIdentityGatewayAgent()/1: Update IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "d72fa1fb9577a371ddc1dbe2f95eb25f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 274, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "274" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"userpassword\":null,\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2" + }, + "response": { + "bodySize": 396, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 396, + "text": "{\"_id\":\"FrodoOpsTestGatewayAgent2\",\"_rev\":\"81854864\",\"secretLabelIdentifier\":{\"inherited\":false},\"igTokenIntrospection\":{\"inherited\":false,\"value\":\"Realm_Subs\"},\"igCdssoLoginUrlTemplate\":{\"inherited\":false},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"igCdssoRedirectUrls\":{\"inherited\":false,\"value\":[]},\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"81854864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "396" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 936, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:09.952Z", + "time": 148, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 148 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har new file mode 100644 index 000000000..88fdd2f95 --- /dev/null +++ b/src/test/mock-recordings/AgentOps_2598976438/Cloud-Tests_2178067211/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har @@ -0,0 +1,178 @@ +{ + "log": { + "_recordingName": "AgentOps/Cloud Tests/updateWebAgent()/1: Update WebAgent 'FrodoOpsTestWebAgent2'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "037670e81577d9d5ce5b05413bbe141f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 6523, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "6523" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"userpassword\":null,\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent2" + }, + "response": { + "bodySize": 6596, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 6596, + "text": "{\"_id\":\"FrodoOpsTestWebAgent2\",\"_rev\":\"426296999\",\"miscWebAgentConfig\":{\"anonymousUserId\":{\"inherited\":false,\"value\":\"anonymous\"},\"profileAttributesCookieMaxAge\":{\"inherited\":false,\"value\":300},\"urlJsonResponse\":{\"inherited\":false,\"value\":[\"\"]},\"caseInsensitiveUrlComparison\":{\"inherited\":false,\"value\":true},\"compositeAdviceRedirect\":{\"inherited\":false,\"value\":false},\"compositeAdviceEncode\":{\"inherited\":false,\"value\":false},\"addCacheControlHeader\":{\"inherited\":false,\"value\":false},\"anonymousUserEnabled\":{\"inherited\":false,\"value\":false},\"invalidUrlRegex\":{\"inherited\":false},\"ignorePathInfo\":{\"inherited\":false,\"value\":false},\"invertUrlJsonResponse\":{\"inherited\":false,\"value\":false},\"statusCodeJsonResponse\":{\"inherited\":false,\"value\":202},\"headerJsonResponse\":{\"inherited\":false,\"value\":{}},\"encodeSpecialCharsInCookies\":{\"inherited\":false,\"value\":false},\"gotoParameterName\":{\"inherited\":false,\"value\":\"goto\"},\"encodeUrlSpecialCharacters\":{\"inherited\":false,\"value\":false},\"mineEncodeHeader\":{\"inherited\":false,\"value\":0},\"profileAttributesCookiePrefix\":{\"inherited\":false,\"value\":\"HTTP_\"}},\"advancedWebAgentConfig\":{\"overrideRequestHost\":{\"inherited\":false,\"value\":false},\"pdpSkipPostUrl\":{\"inherited\":false,\"value\":[\"\"]},\"pdpStickySessionValue\":{\"inherited\":false},\"postDataPreservation\":{\"inherited\":false,\"value\":false},\"hostnameToIpAddress\":{\"inherited\":false,\"value\":[]},\"showPasswordInHeader\":{\"inherited\":false,\"value\":false},\"overrideRequestProtocol\":{\"inherited\":false,\"value\":false},\"clientIpHeader\":{\"inherited\":false},\"replayPasswordKey\":{\"inherited\":false},\"customProperties\":{\"inherited\":false,\"value\":[]},\"postDataCachePeriod\":{\"inherited\":false,\"value\":10},\"retainSessionCache\":{\"inherited\":false,\"value\":false},\"pdpJavascriptRepost\":{\"inherited\":false,\"value\":false},\"pdpStickySessionMode\":{\"inherited\":false,\"value\":\"OFF\"},\"overrideRequestPort\":{\"inherited\":false,\"value\":false},\"apacheAuthDirectives\":{\"inherited\":false},\"clientHostnameHeader\":{\"inherited\":false},\"fragmentRedirectEnabled\":{\"inherited\":false,\"value\":false},\"pdpStickySessionCookieName\":{\"inherited\":false},\"logonAndImpersonation\":{\"inherited\":false,\"value\":false}},\"ssoWebAgentConfig\":{\"cookieResetList\":{\"inherited\":false,\"value\":[\"\"]},\"cdssoRedirectUri\":{\"inherited\":false,\"value\":\"agent/cdsso-oauth2\"},\"persistentJwtCookie\":{\"inherited\":false,\"value\":false},\"secureCookies\":{\"inherited\":false,\"value\":false},\"acceptSsoToken\":{\"inherited\":false,\"value\":false},\"cookieResetOnRedirect\":{\"inherited\":false,\"value\":false},\"sameSite\":{\"inherited\":false},\"cdssoCookieDomain\":{\"inherited\":false,\"value\":[\"\"]},\"cookieResetEnabled\":{\"inherited\":false,\"value\":false},\"cookieName\":{\"inherited\":false,\"value\":\"iPlanetDirectoryPro\"},\"multivaluePreAuthnCookie\":{\"inherited\":false,\"value\":false},\"httpOnly\":{\"inherited\":false,\"value\":true}},\"amServicesWebAgent\":{\"policyClockSkew\":{\"inherited\":false,\"value\":0},\"enableLogoutRegex\":{\"inherited\":false,\"value\":false},\"policyEvaluationRealm\":{\"inherited\":false,\"value\":\"/alpha\"},\"fetchPoliciesFromRootResource\":{\"inherited\":false,\"value\":false},\"logoutUrlRegex\":{\"inherited\":false},\"conditionalLoginUrl\":{\"inherited\":false,\"value\":[\"|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha\"]},\"customLoginMode\":{\"inherited\":false,\"value\":0},\"invalidateLogoutSession\":{\"inherited\":false,\"value\":true},\"logoutResetCookies\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectUrl\":{\"inherited\":false},\"regexConditionalLoginUrl\":{\"inherited\":false,\"value\":[\"\"]},\"policyCachePollingInterval\":{\"inherited\":false,\"value\":3},\"regexConditionalLoginPattern\":{\"inherited\":false,\"value\":[\"\"]},\"logoutRedirectDisabled\":{\"inherited\":false,\"value\":false},\"retrieveClientHostname\":{\"inherited\":false,\"value\":false},\"applicationLogoutUrls\":{\"inherited\":false,\"value\":[\"\"]},\"userIdParameterType\":{\"inherited\":false,\"value\":\"session\"},\"publicAmUrl\":{\"inherited\":false},\"userIdParameter\":{\"inherited\":false,\"value\":\"UserToken\"},\"amLoginUrl\":{\"inherited\":false,\"value\":[]},\"policyEvaluationApplication\":{\"inherited\":false},\"amLogoutUrl\":{\"inherited\":false,\"value\":[\"https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout\"]},\"ssoCachePollingInterval\":{\"inherited\":false,\"value\":3}},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"clientIpValidation\":{\"inherited\":false,\"value\":false},\"notEnforcedIpsRegex\":{\"inherited\":false,\"value\":false},\"continuousSecurityCookies\":{\"inherited\":false,\"value\":{}},\"fetchAttributesForNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"ignorePathInfoForNotEnforcedUrls\":{\"inherited\":false,\"value\":true},\"responseAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"attributeMultiValueSeparator\":{\"inherited\":false,\"value\":\"|\"},\"profileAttributeMap\":{\"inherited\":false,\"value\":{}},\"sessionAttributeFetchMode\":{\"inherited\":false,\"value\":\"NONE\"},\"continuousSecurityHeaders\":{\"inherited\":false,\"value\":{}},\"notEnforcedIpsList\":{\"inherited\":false,\"value\":[\"\"]},\"responseAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrls\":{\"inherited\":false,\"value\":[\"\"]},\"sessionAttributeMap\":{\"inherited\":false,\"value\":{}},\"notEnforcedUrlsRegex\":{\"inherited\":false,\"value\":false},\"invertNotEnforcedUrls\":{\"inherited\":false,\"value\":false},\"notEnforcedIps\":{\"inherited\":false,\"value\":[\"\"]}},\"globalWebAgentConfig\":{\"repositoryLocation\":\"centralized\",\"agentDebugLevel\":{\"inherited\":false,\"value\":\"Error\"},\"secretLabelIdentifier\":{\"inherited\":false},\"fqdnDefault\":{\"inherited\":false,\"value\":\"www.mytestrun.com\"},\"webSocketConnectionIntervalInMinutes\":{\"inherited\":false,\"value\":30},\"status\":{\"inherited\":false,\"value\":\"Active\"},\"configurationPollingInterval\":{\"inherited\":false,\"value\":60},\"auditLogLocation\":{\"inherited\":false,\"value\":\"REMOTE\"},\"fqdnCheck\":{\"inherited\":false,\"value\":false},\"amLbCookieEnable\":{\"inherited\":false,\"value\":false},\"fqdnMapping\":{\"inherited\":false,\"value\":{}},\"accessDeniedUrl\":{\"inherited\":false},\"resetIdleTime\":{\"inherited\":false,\"value\":false},\"ssoOnlyMode\":{\"inherited\":false,\"value\":false},\"auditAccessType\":{\"inherited\":false,\"value\":\"LOG_NONE\"},\"notificationsEnabled\":{\"inherited\":false,\"value\":true},\"agentUriPrefix\":{\"inherited\":false,\"value\":\"https://www.mytestrun.com:443/amagent\"},\"disableJwtAudit\":{\"inherited\":false,\"value\":false},\"jwtName\":{\"inherited\":false,\"value\":\"am-auth-jwt\"},\"cdssoRootUrl\":{\"inherited\":false,\"value\":[\"agentRootURL=https://www.mytestrun.com:443/\"]},\"agentConfigChangeNotificationsEnabled\":{\"inherited\":false,\"value\":true},\"jwtAuditWhitelist\":{\"inherited\":false}},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"426296999\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent2" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "6596" + }, + { + "name": "date", + "value": "Mon, 09 Sep 2024 20:52:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c8616ad-a53d-4cff-a147-a926536f9546" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 922, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent/FrodoOpsTestWebAgent2", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-09-09T20:52:10.600Z", + "time": 115, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 115 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har index 2a1504f77..db938270e 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/1-Delete-agent-FrodoOpsTestGatewayAgent8-IdentityGatewayAgent_2201184981/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteAgent()/1: Delete agent 'FrodoOpsTestGatewayAgent8' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/1: Delete agent 'FrodoOpsTestGatewayAgent8' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har index 959438102..45caab571 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/2-Delete-agent-FrodoOpsTestJavaAgent8-J2EEAgent_995500642/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteAgent()/2: Delete agent 'FrodoOpsTestJavaAgent8' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/2: Delete agent 'FrodoOpsTestJavaAgent8' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har index 3f46c4d5f..721dd629b 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteAgent_593673428/3-Delete-agent-FrodoOpsTestWebAgent8-WebAgent_2850844729/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteAgent()/3: Delete agent 'FrodoOpsTestWebAgent8' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteAgent()/3: Delete agent 'FrodoOpsTestWebAgent8' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har index 659c12519..91c36c963 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteAgents_702222583/1-Delete-all-agents_3664113900/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteAgents()/1: Delete all agents", + "_recordingName": "AgentOps/Cloud Tests/deleteAgents()/1: Delete all agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har index 0ff884ad0..883ec6a95 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/1-Delete-IdentityGatewayAgent-FrodoOpsTestGatewayAgent9_1583444812/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteIdentityGatewayAgent()/1: Delete IdentityGatewayAgent 'FrodoOpsTestGatewayAgent9'", + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgent()/1: Delete IdentityGatewayAgent 'FrodoOpsTestGatewayAgent9'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har index 1b4b1539a..30c92664a 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgent_3795380848/2-Delete-agent-of-wrong-type-FrodoOpsTestJavaAgent9-J2EEAgent_3477067415/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteIdentityGatewayAgent()/2: Delete agent of wrong type 'FrodoOpsTestJavaAgent9' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgent()/2: Delete agent of wrong type 'FrodoOpsTestJavaAgent9' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har index 96db2cb2e..244b1bd41 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteIdentityGatewayAgents_2390352171/1-Delete-all-gateway-agents_2302576314/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteIdentityGatewayAgents()/1: Delete all gateway agents", + "_recordingName": "AgentOps/Cloud Tests/deleteIdentityGatewayAgents()/1: Delete all gateway agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har index 7f62bb5f8..9cd68c62d 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/1-Delete-J2EEAgent-FrodoOpsTestJavaAgent9_1309510264/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteJavaAgent()/1: Delete J2EEAgent 'FrodoOpsTestJavaAgent9'", + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgent()/1: Delete J2EEAgent 'FrodoOpsTestJavaAgent9'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har index 0a15ac7d4..30f4952ee 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgent_2912841764/2-Delete-agent-of-wrong-type-FrodoOpsTestWebAgent9-WebAgent_1050331355/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteJavaAgent()/2: Delete agent of wrong type 'FrodoOpsTestWebAgent9' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgent()/2: Delete agent of wrong type 'FrodoOpsTestWebAgent9' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har index c5b7dff75..9efd4fe31 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteJavaAgents_2785463175/1-Delete-all-java-agents_1765247680/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteJavaAgents()/1: Delete all java agents", + "_recordingName": "AgentOps/Cloud Tests/deleteJavaAgents()/1: Delete all java agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har index 240232cfd..b582c8e6b 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/1-Delete-WebAgent-FrodoOpsTestWebAgent9_3946111654/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteWebAgent()/1: Delete WebAgent 'FrodoOpsTestWebAgent9'", + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgent()/1: Delete WebAgent 'FrodoOpsTestWebAgent9'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har index a356ac4df..e4b044938 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgent_1357252058/2-Delete-agent-of-wrong-type-FrodoOpsTestGatewayAgent9-IdentityGatewayAgent_2706937801/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteWebAgent()/2: Delete agent of wrong type 'FrodoOpsTestGatewayAgent9' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgent()/2: Delete agent of wrong type 'FrodoOpsTestGatewayAgent9' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har index e1a2fc20a..e850d46ea 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/deleteWebAgents_1659304021/1-Delete-all-web-agents_83802898/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/deleteWebAgents()/1: Delete all web agents", + "_recordingName": "AgentOps/Cloud Tests/deleteWebAgents()/1: Delete all web agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har index f0ae5354e..0a19a4786 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/1-Export-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_1993776261/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportAgent()/1: Export agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/1: Export agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har index bc8c7f244..41d917f23 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/2-Export-agent-FrodoOpsTestJavaAgent1-J2EEAgent_163744232/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportAgent()/2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har index e35804f46..bbba58592 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportAgent_1343483011/3-Export-agent-FrodoOpsTestWebAgent1-WebAgent_2638580409/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportAgent()/3: Export agent 'FrodoOpsTestWebAgent1' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/exportAgent()/3: Export agent 'FrodoOpsTestWebAgent1' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har index 561e9238e..e1951a1bc 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportAgents_1099944366/1-Export-all-agents_3931683255/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportAgents()/1: Export all agents", + "_recordingName": "AgentOps/Cloud Tests/exportAgents()/1: Export all agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har index 1ef1488b7..d681c5ce9 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgent_3328675965/1-Export-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2690390147/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportIdentityGatewayAgent()/1: Export IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", + "_recordingName": "AgentOps/Cloud Tests/exportIdentityGatewayAgent()/1: Export IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har index bec430493..669fb49bd 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportIdentityGatewayAgents_44459904/1-Export-gateway-agents_2412758760/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportIdentityGatewayAgents()/1: Export gateway agents", + "_recordingName": "AgentOps/Cloud Tests/exportIdentityGatewayAgents()/1: Export gateway agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har index 511428f95..ba582fb86 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgent_32020443/1-Export-J2EEAgent-FrodoOpsTestJavaAgent1_1468436319/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportJavaAgent()/1: Export J2EEAgent 'FrodoOpsTestJavaAgent1'", + "_recordingName": "AgentOps/Cloud Tests/exportJavaAgent()/1: Export J2EEAgent 'FrodoOpsTestJavaAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har index e007ea7a9..64a923cb2 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportJavaAgents_2364424022/1-Export-java-agents_2888505754/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportJavaAgents()/1: Export java agents", + "_recordingName": "AgentOps/Cloud Tests/exportJavaAgents()/1: Export java agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har index f6e095b0f..25e1a5315 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportWebAgent_504014715/1-Export-WebAgent-FrodoOpsTestWebAgent1_1475840317/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportWebAgent()/1: Export WebAgent 'FrodoOpsTestWebAgent1'", + "_recordingName": "AgentOps/Cloud Tests/exportWebAgent()/1: Export WebAgent 'FrodoOpsTestWebAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har b/src/test/mock-recordings/AgentOps_2598976438/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har index d3e60dc93..3bf26c309 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/exportWebAgents_1106666230/1-Export-web-agents_4158747616/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/exportWebAgents()/1: Export web agents", + "_recordingName": "AgentOps/Cloud Tests/exportWebAgents()/1: Export web agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/1-Get-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_2655207394/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/1-Get-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_2655207394/recording.har index b6f738bdd..bd2e39417 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/1-Get-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_2655207394/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/1-Get-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_2655207394/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgentByTypeAndId()/1: Get agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgentByTypeAndId()/1: Get agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/2-Get-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_3783010893/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/2-Get-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_3783010893/recording.har index c8dbb095f..c0bb03f7c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/2-Get-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_3783010893/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/2-Get-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_3783010893/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgentByTypeAndId()/2: Get agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgentByTypeAndId()/2: Get agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/3-Get-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_2535978390/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/3-Get-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_2535978390/recording.har index a3b0b905b..902b4106c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/3-Get-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_2535978390/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgentByTypeAndId_317890348/3-Get-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_2535978390/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgentByTypeAndId()/3: Get agent by type 'FrodoOpsTestWebAgent1' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgentByTypeAndId()/3: Get agent by type 'FrodoOpsTestWebAgent1' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/1-Get-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_542573487/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/1-Get-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_542573487/recording.har index 5ee8105d4..5308a5b00 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/1-Get-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_542573487/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/1-Get-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_542573487/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgent()/1: Get agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgent()/1: Get agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/2-Get-agent-FrodoOpsTestJavaAgent1-J2EEAgent_3257902468/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/2-Get-agent-FrodoOpsTestJavaAgent1-J2EEAgent_3257902468/recording.har index 510e87989..fb65a2ed3 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/2-Get-agent-FrodoOpsTestJavaAgent1-J2EEAgent_3257902468/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/2-Get-agent-FrodoOpsTestJavaAgent1-J2EEAgent_3257902468/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgent()/2: Get agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgent()/2: Get agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/3-Get-agent-FrodoOpsTestWebAgent1-WebAgent_2655023975/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/3-Get-agent-FrodoOpsTestWebAgent1-WebAgent_2655023975/recording.har index 4e03ac31c..1ebf0f6ea 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/3-Get-agent-FrodoOpsTestWebAgent1-WebAgent_2655023975/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgent_3785254095/3-Get-agent-FrodoOpsTestWebAgent1-WebAgent_2655023975/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgent()/3: Get agent 'FrodoOpsTestWebAgent1' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/getAgent()/3: Get agent 'FrodoOpsTestWebAgent1' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har index e964cef4c..0461af52e 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getAgents_2887770994/1-Get-all-agents_2669503397/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getAgents()/1: Get all agents", + "_recordingName": "AgentOps/Cloud Tests/getAgents()/1: Get all agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgent_62635465/1-Get-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2551564589/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgent_62635465/1-Get-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2551564589/recording.har index e7457771e..827fb4066 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgent_62635465/1-Get-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2551564589/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgent_62635465/1-Get-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_2551564589/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getIdentityGatewayAgent()/1: Get IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", + "_recordingName": "AgentOps/Cloud Tests/getIdentityGatewayAgent()/1: Get IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgents_2131744724/1-Get-gateway-agents_889558750/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgents_2131744724/1-Get-gateway-agents_889558750/recording.har index 805d1635c..a985aa947 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgents_2131744724/1-Get-gateway-agents_889558750/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getIdentityGatewayAgents_2131744724/1-Get-gateway-agents_889558750/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getIdentityGatewayAgents()/1: Get gateway agents", + "_recordingName": "AgentOps/Cloud Tests/getIdentityGatewayAgents()/1: Get gateway agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getJavaAgent_1156455567/1-Get-J2EEAgent-FrodoOpsTestJavaAgent1_530188269/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getJavaAgent_1156455567/1-Get-J2EEAgent-FrodoOpsTestJavaAgent1_530188269/recording.har index 0a22ac52b..09bb968ae 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getJavaAgent_1156455567/1-Get-J2EEAgent-FrodoOpsTestJavaAgent1_530188269/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getJavaAgent_1156455567/1-Get-J2EEAgent-FrodoOpsTestJavaAgent1_530188269/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getJavaAgent()/1: Get J2EEAgent 'FrodoOpsTestJavaAgent1'", + "_recordingName": "AgentOps/Cloud Tests/getJavaAgent()/1: Get J2EEAgent 'FrodoOpsTestJavaAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getJavaAgents_1329889586/1-Get-java-agents_967620/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getJavaAgents_1329889586/1-Get-java-agents_967620/recording.har index c49fc4184..60a2b8444 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getJavaAgents_1329889586/1-Get-java-agents_967620/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getJavaAgents_1329889586/1-Get-java-agents_967620/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getJavaAgents()/1: Get java agents", + "_recordingName": "AgentOps/Cloud Tests/getJavaAgents()/1: Get java agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getWebAgent_2622001631/1-Get-WebAgent-FrodoOpsTestWebAgent1_1291940587/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getWebAgent_2622001631/1-Get-WebAgent-FrodoOpsTestWebAgent1_1291940587/recording.har index 74821960a..cf715c60c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getWebAgent_2622001631/1-Get-WebAgent-FrodoOpsTestWebAgent1_1291940587/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getWebAgent_2622001631/1-Get-WebAgent-FrodoOpsTestWebAgent1_1291940587/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getWebAgent()/1: Get WebAgent 'FrodoOpsTestWebAgent1'", + "_recordingName": "AgentOps/Cloud Tests/getWebAgent()/1: Get WebAgent 'FrodoOpsTestWebAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/getWebAgents_842860418/1-Get-web-agents_2875236438/recording.har b/src/test/mock-recordings/AgentOps_2598976438/getWebAgents_842860418/1-Get-web-agents_2875236438/recording.har index 8a623f514..136468ca8 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/getWebAgents_842860418/1-Get-web-agents_2875236438/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/getWebAgents_842860418/1-Get-web-agents_2875236438/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/getWebAgents()/1: Get web agents", + "_recordingName": "AgentOps/Cloud Tests/getWebAgents()/1: Get web agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har index 06d53fd86..4a3f9c2d8 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/1-Import-gateway-agent_3960975900/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importAgent()/1: Import gateway agent", + "_recordingName": "AgentOps/Cloud Tests/importAgent()/1: Import gateway agent", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/2-Import-java-agent_1995328899/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/2-Import-java-agent_1995328899/recording.har index 991224cae..1dae6b851 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/2-Import-java-agent_1995328899/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/2-Import-java-agent_1995328899/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importAgent()/2: Import java agent", + "_recordingName": "AgentOps/Cloud Tests/importAgent()/2: Import java agent", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/3-Import-web-agent_1315924014/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/3-Import-web-agent_1315924014/recording.har index 4332c4ffc..853676cf1 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/3-Import-web-agent_1315924014/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importAgent_336813858/3-Import-web-agent_1315924014/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importAgent()/3: Import web agent", + "_recordingName": "AgentOps/Cloud Tests/importAgent()/3: Import web agent", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importAgents_710150157/1-Import-all-agents_1082210830/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importAgents_710150157/1-Import-all-agents_1082210830/recording.har index ad062bd79..d3e31eb39 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importAgents_710150157/1-Import-all-agents_1082210830/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importAgents_710150157/1-Import-all-agents_1082210830/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importAgents()/1: Import all agents", + "_recordingName": "AgentOps/Cloud Tests/importAgents()/1: Import all agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har index b3dd67a18..cdca28b1a 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgent_4262161734/1-Import-IdentityGatewayAgent-FrodoOpsTestGatewayAgent7_89179464/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importIdentityGatewayAgent()/1: Import IdentityGatewayAgent 'FrodoOpsTestGatewayAgent7'", + "_recordingName": "AgentOps/Cloud Tests/importIdentityGatewayAgent()/1: Import IdentityGatewayAgent 'FrodoOpsTestGatewayAgent7'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har index 56f531f04..e23fac536 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importIdentityGatewayAgents_2365049193/1-Import-all-gateway-agents_1699998268/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importIdentityGatewayAgents()/1: Import all gateway agents", + "_recordingName": "AgentOps/Cloud Tests/importIdentityGatewayAgents()/1: Import all gateway agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har index 501482ebb..6c6fde202 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importJavaAgent_44215914/1-Import-J2EEAgent-FrodoOpsTestJavaAgent7_2617981144/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importJavaAgent()/1: Import J2EEAgent 'FrodoOpsTestJavaAgent7'", + "_recordingName": "AgentOps/Cloud Tests/importJavaAgent()/1: Import J2EEAgent 'FrodoOpsTestJavaAgent7'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har index cad6d3c6f..f0c1707c3 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importJavaAgents_3792562597/1-Import-all-java-agents_3990515502/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importJavaAgents()/1: Import all java agents", + "_recordingName": "AgentOps/Cloud Tests/importJavaAgents()/1: Import all java agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har index 9cdb172b0..0bc15645a 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importWebAgent_1401610124/1-Import-WebAgent-FrodoOpsTestWebAgent7_3904069722/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importWebAgent()/1: Import WebAgent 'FrodoOpsTestWebAgent7'", + "_recordingName": "AgentOps/Cloud Tests/importWebAgent()/1: Import WebAgent 'FrodoOpsTestWebAgent7'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har b/src/test/mock-recordings/AgentOps_2598976438/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har index e1823036b..b69776edc 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/importWebAgents_4070494079/1-Import-all-web-agents_1622913476/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/importWebAgents()/1: Import all web agents", + "_recordingName": "AgentOps/Cloud Tests/importWebAgents()/1: Import all web agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/putIdentityGatewayAgent_86771084/1-Put-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_2746163149/recording.har b/src/test/mock-recordings/AgentOps_2598976438/putIdentityGatewayAgent_86771084/1-Put-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_2746163149/recording.har index cda6305c9..239de674c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/putIdentityGatewayAgent_86771084/1-Put-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_2746163149/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/putIdentityGatewayAgent_86771084/1-Put-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_2746163149/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/putIdentityGatewayAgent()/1: Put IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2'", + "_recordingName": "AgentOps/Cloud Tests/putIdentityGatewayAgent()/1: Put IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/putJavaAgent_3565606376/1-Put-J2EEAgent-FrodoOpsTestJavaAgent2_3715945821/recording.har b/src/test/mock-recordings/AgentOps_2598976438/putJavaAgent_3565606376/1-Put-J2EEAgent-FrodoOpsTestJavaAgent2_3715945821/recording.har index db553e82f..9f367fa45 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/putJavaAgent_3565606376/1-Put-J2EEAgent-FrodoOpsTestJavaAgent2_3715945821/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/putJavaAgent_3565606376/1-Put-J2EEAgent-FrodoOpsTestJavaAgent2_3715945821/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/putJavaAgent()/1: Put J2EEAgent 'FrodoOpsTestJavaAgent2'", + "_recordingName": "AgentOps/Cloud Tests/putJavaAgent()/1: Put J2EEAgent 'FrodoOpsTestJavaAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/putWebAgent_3060681134/1-Put-WebAgent-FrodoOpsTestWebAgent2_2012240919/recording.har b/src/test/mock-recordings/AgentOps_2598976438/putWebAgent_3060681134/1-Put-WebAgent-FrodoOpsTestWebAgent2_2012240919/recording.har index deb16ed6e..f59a0a70d 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/putWebAgent_3060681134/1-Put-WebAgent-FrodoOpsTestWebAgent2_2012240919/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/putWebAgent_3060681134/1-Put-WebAgent-FrodoOpsTestWebAgent2_2012240919/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/putWebAgent()/1: Put WebAgent 'FrodoOpsTestWebAgent2'", + "_recordingName": "AgentOps/Cloud Tests/putWebAgent()/1: Put WebAgent 'FrodoOpsTestWebAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har index 4966e122f..811e7ed1c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/1-Read-agent-by-type-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_995680878/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgentByTypeAndId()/1: Read agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/1: Read agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har index 3161f4226..97c329433 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/2-Read-agent-by-type-FrodoOpsTestJavaAgent1-J2EEAgent_1175501827/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgentByTypeAndId()/2: Read agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/2: Read agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har index 10fda5145..f50c7b401 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgentByTypeAndId_2624927826/3-Read-agent-by-type-FrodoOpsTestWebAgent1-WebAgent_813570606/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgentByTypeAndId()/3: Read agent by type 'FrodoOpsTestWebAgent1' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgentByTypeAndId()/3: Read agent by type 'FrodoOpsTestWebAgent1' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har index f9b54ccdd..3504500c6 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/1-Read-agent-FrodoOpsTestGatewayAgent1-IdentityGatewayAgent_312582651/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgent()/1: Read agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgent()/1: Read agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har index 3560b4149..218bdd1c7 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/2-Read-agent-FrodoOpsTestJavaAgent1-J2EEAgent_1266368190/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgent()/2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgent()/2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har index 81f9ca613..9aaff78c8 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgent_3394511801/3-Read-agent-FrodoOpsTestWebAgent1-WebAgent_2999824511/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgent()/3: Read agent 'FrodoOpsTestWebAgent1' (WebAgent)", + "_recordingName": "AgentOps/Cloud Tests/readAgent()/3: Read agent 'FrodoOpsTestWebAgent1' (WebAgent)", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readAgents_991171460/1-Read-all-agents_4178462681/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readAgents_991171460/1-Read-all-agents_4178462681/recording.har index d90942cf4..755940bab 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readAgents_991171460/1-Read-all-agents_4178462681/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readAgents_991171460/1-Read-all-agents_4178462681/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readAgents()/1: Read all agents", + "_recordingName": "AgentOps/Cloud Tests/readAgents()/1: Read all agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har index 3e767ed61..fa102a72d 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgent_2207884747/1-Read-IdentityGatewayAgent-FrodoOpsTestGatewayAgent1_650107113/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readIdentityGatewayAgent()/1: Read IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", + "_recordingName": "AgentOps/Cloud Tests/readIdentityGatewayAgent()/1: Read IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har index 4eea5dfe2..93fe1a46e 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readIdentityGatewayAgents_3481648774/1-Read-gateway-agents_3946400322/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readIdentityGatewayAgents()/1: Read gateway agents", + "_recordingName": "AgentOps/Cloud Tests/readIdentityGatewayAgents()/1: Read gateway agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har index abc6cd028..4a9588b51 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readJavaAgent_1413219449/1-Read-J2EEAgent-FrodoOpsTestJavaAgent1_3206913193/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readJavaAgent()/1: Read J2EEAgent 'FrodoOpsTestJavaAgent1'", + "_recordingName": "AgentOps/Cloud Tests/readJavaAgent()/1: Read J2EEAgent 'FrodoOpsTestJavaAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har index 5fd50f8a3..245cbf237 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readJavaAgents_2255783748/1-Read-java-agents_287457048/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readJavaAgents()/1: Read java agents", + "_recordingName": "AgentOps/Cloud Tests/readJavaAgents()/1: Read java agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har index 55d3b2024..c53a88527 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readWebAgent_4160596893/1-Read-WebAgent-FrodoOpsTestWebAgent1_186067343/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readWebAgent()/1: Read WebAgent 'FrodoOpsTestWebAgent1'", + "_recordingName": "AgentOps/Cloud Tests/readWebAgent()/1: Read WebAgent 'FrodoOpsTestWebAgent1'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har b/src/test/mock-recordings/AgentOps_2598976438/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har index 5472d52ea..c19b4138c 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/readWebAgents_1932571680/1-Read-web-agents_1183495306/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/readWebAgents()/1: Read web agents", + "_recordingName": "AgentOps/Cloud Tests/readWebAgents()/1: Read web agents", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har b/src/test/mock-recordings/AgentOps_2598976438/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har index afea93319..788068863 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/uodateJavaAgent_3941756501/1-Update-J2EEAgent-FrodoOpsTestJavaAgent2_959638089/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/uodateJavaAgent()/1: Update J2EEAgent 'FrodoOpsTestJavaAgent2'", + "_recordingName": "AgentOps/Cloud Tests/uodateJavaAgent()/1: Update J2EEAgent 'FrodoOpsTestJavaAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har b/src/test/mock-recordings/AgentOps_2598976438/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har index ce936a709..61aaa6e32 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/updateIdentityGatewayAgent_1996475046/1-Update-IdentityGatewayAgent-FrodoOpsTestGatewayAgent2_1739514665/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/updateIdentityGatewayAgent()/1: Update IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2'", + "_recordingName": "AgentOps/Cloud Tests/updateIdentityGatewayAgent()/1: Update IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AgentOps_2598976438/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har b/src/test/mock-recordings/AgentOps_2598976438/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har index 1b3924b61..53f4e5075 100644 --- a/src/test/mock-recordings/AgentOps_2598976438/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har +++ b/src/test/mock-recordings/AgentOps_2598976438/updateWebAgent_2270254380/1-Update-WebAgent-FrodoOpsTestWebAgent2_3793545467/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "AgentOps/updateWebAgent()/1: Update WebAgent 'FrodoOpsTestWebAgent2'", + "_recordingName": "AgentOps/Cloud Tests/updateWebAgent()/1: Update WebAgent 'FrodoOpsTestWebAgent2'", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/2-Export-Global-AuthenticationSettings_3533522477/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/2-Export-Global-AuthenticationSettings_3533522477/recording.har new file mode 100644 index 000000000..9c6139a16 --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/2-Export-Global-AuthenticationSettings_3533522477/recording.har @@ -0,0 +1,149 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Classic Tests/exportAuthenticationSettings()/2: Export Global AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "19457f41bdd07bd5b8952336c527d39e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c0d3f4e8-7899-410b-aca9-071910943563" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication" + }, + "response": { + "bodySize": 3951, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3951, + "text": "{\"keepPostProcessInstances\":false,\"ldapConnectionPoolSize\":[],\"ldapConnectionPoolDefaultSize\":\"1:10\",\"remoteAuthSecurityEnabled\":false,\"authenticators\":[\"com.sun.identity.authentication.modules.ad.AD\",\"org.forgerock.openam.authentication.modules.saml2.SAML2\",\"org.forgerock.openam.authentication.modules.social.SocialAuthInstagram\",\"org.forgerock.openam.authentication.modules.oath.OATH\",\"org.forgerock.openam.authentication.modules.social.SocialAuthVK\",\"com.sun.identity.authentication.modules.membership.Membership\",\"com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave\",\"com.sun.identity.authentication.modules.federation.Federation\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch\",\"com.sun.identity.authentication.modules.jdbc.JDBC\",\"com.sun.identity.authentication.modules.radius.RADIUS\",\"com.sun.identity.authentication.modules.anonymous.Anonymous\",\"com.sun.identity.authentication.modules.cert.Cert\",\"org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration\",\"com.sun.identity.authentication.modules.httpbasic.HTTPBasic\",\"org.forgerock.openam.authentication.modules.oidc.OpenIdConnect\",\"com.sun.identity.authentication.modules.sae.SAE\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChat\",\"org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie\",\"org.forgerock.openam.authentication.modules.social.SocialAuthTwitter\",\"com.sun.identity.authentication.modules.ldap.LDAP\",\"org.forgerock.openam.authentication.modules.push.AuthenticatorPush\",\"org.forgerock.openam.authentication.modules.oauth2.OAuth\",\"com.sun.identity.authentication.modules.nt.NT\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile\",\"org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession\",\"com.sun.identity.authentication.modules.application.Application\",\"org.forgerock.openam.authentication.modules.scripted.Scripted\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2\",\"com.sun.identity.authentication.modules.hotp.HOTP\",\"org.forgerock.openam.authentication.modules.adaptive.Adaptive\",\"org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOpenID\",\"com.sun.identity.authentication.modules.msisdn.MSISDN\",\"org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH\",\"com.sun.identity.authentication.modules.datastore.DataStore\",\"com.sun.identity.authentication.modules.securid.SecurID\",\"org.forgerock.openam.authentication.modules.amster.Amster\"],\"defaults\":{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"core\":{\"adminAuthModule\":\"[Empty]\",\"orgConfig\":\"[Empty]\"},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[]}},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-524457684\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3951" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:25 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:25.487Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/3-Export-Realm-AuthenticationSettings_1748163966/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/3-Export-Realm-AuthenticationSettings_1748163966/recording.har new file mode 100644 index 000000000..4ae59f621 --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/exportAuthenticationSettings_3213590925/3-Export-Realm-AuthenticationSettings_1748163966/recording.har @@ -0,0 +1,149 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Classic Tests/exportAuthenticationSettings()/3: Export Realm AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "011d22df4815560b84d2c34a13278ef2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c0d3f4e8-7899-410b-aca9-071910943563" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" + }, + "response": { + "bodySize": 1278, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1278, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2141370265\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1278" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:25 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:25.505Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/2-Read-Global-AuthenticationSettings_1660991687/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/2-Read-Global-AuthenticationSettings_1660991687/recording.har new file mode 100644 index 000000000..d81b75576 --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/2-Read-Global-AuthenticationSettings_1660991687/recording.har @@ -0,0 +1,149 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Classic Tests/readAuthenticationSettings()/2: Read Global AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "19457f41bdd07bd5b8952336c527d39e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c0d3f4e8-7899-410b-aca9-071910943563" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication" + }, + "response": { + "bodySize": 3951, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3951, + "text": "{\"keepPostProcessInstances\":false,\"ldapConnectionPoolSize\":[],\"ldapConnectionPoolDefaultSize\":\"1:10\",\"remoteAuthSecurityEnabled\":false,\"authenticators\":[\"com.sun.identity.authentication.modules.ad.AD\",\"org.forgerock.openam.authentication.modules.saml2.SAML2\",\"org.forgerock.openam.authentication.modules.social.SocialAuthInstagram\",\"org.forgerock.openam.authentication.modules.oath.OATH\",\"org.forgerock.openam.authentication.modules.social.SocialAuthVK\",\"com.sun.identity.authentication.modules.membership.Membership\",\"com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave\",\"com.sun.identity.authentication.modules.federation.Federation\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch\",\"com.sun.identity.authentication.modules.jdbc.JDBC\",\"com.sun.identity.authentication.modules.radius.RADIUS\",\"com.sun.identity.authentication.modules.anonymous.Anonymous\",\"com.sun.identity.authentication.modules.cert.Cert\",\"org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration\",\"com.sun.identity.authentication.modules.httpbasic.HTTPBasic\",\"org.forgerock.openam.authentication.modules.oidc.OpenIdConnect\",\"com.sun.identity.authentication.modules.sae.SAE\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChat\",\"org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie\",\"org.forgerock.openam.authentication.modules.social.SocialAuthTwitter\",\"com.sun.identity.authentication.modules.ldap.LDAP\",\"org.forgerock.openam.authentication.modules.push.AuthenticatorPush\",\"org.forgerock.openam.authentication.modules.oauth2.OAuth\",\"com.sun.identity.authentication.modules.nt.NT\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile\",\"org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession\",\"com.sun.identity.authentication.modules.application.Application\",\"org.forgerock.openam.authentication.modules.scripted.Scripted\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2\",\"com.sun.identity.authentication.modules.hotp.HOTP\",\"org.forgerock.openam.authentication.modules.adaptive.Adaptive\",\"org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOpenID\",\"com.sun.identity.authentication.modules.msisdn.MSISDN\",\"org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH\",\"com.sun.identity.authentication.modules.datastore.DataStore\",\"com.sun.identity.authentication.modules.securid.SecurID\",\"org.forgerock.openam.authentication.modules.amster.Amster\"],\"defaults\":{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"core\":{\"adminAuthModule\":\"[Empty]\",\"orgConfig\":\"[Empty]\"},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[]}},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-524457684\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3951" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:25 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:25.407Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/3-Read-Realm-AuthenticationSettings_552108220/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/3-Read-Realm-AuthenticationSettings_552108220/recording.har new file mode 100644 index 000000000..d65475e64 --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Classic-Tests_743483830/readAuthenticationSettings_1770800575/3-Read-Realm-AuthenticationSettings_552108220/recording.har @@ -0,0 +1,149 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Classic Tests/readAuthenticationSettings()/3: Read Realm AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "011d22df4815560b84d2c34a13278ef2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-c0d3f4e8-7899-410b-aca9-071910943563" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" + }, + "response": { + "bodySize": 1278, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1278, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2141370265\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1278" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:25 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:25.443Z", + "time": 29, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 29 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/exportAuthenticationSettings_3213590925/1-Export-Realm-AuthenticationSettings_2113955020/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/exportAuthenticationSettings_3213590925/1-Export-Realm-AuthenticationSettings_2113955020/recording.har new file mode 100644 index 000000000..dc315ed0b --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/exportAuthenticationSettings_3213590925/1-Export-Realm-AuthenticationSettings_2113955020/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Cloud Tests/exportAuthenticationSettings()/1: Export Realm AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "567773b06e735b1cc8a5ad23a155606f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-57e98d27-5e54-430d-be78-420753892868" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1939, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" + }, + "response": { + "bodySize": 1438, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1438, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1952817720\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1438" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-57e98d27-5e54-430d-be78-420753892868" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:04.578Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/readAuthenticationSettings_1770800575/1-Read-Realm-AuthenticationSettings_3391469998/recording.har b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/readAuthenticationSettings_1770800575/1-Read-Realm-AuthenticationSettings_3391469998/recording.har new file mode 100644 index 000000000..4783fec05 --- /dev/null +++ b/src/test/mock-recordings/AuthenticationSettingsOps_435006376/Cloud-Tests_2178067211/readAuthenticationSettings_1770800575/1-Read-Realm-AuthenticationSettings_3391469998/recording.har @@ -0,0 +1,165 @@ +{ + "log": { + "_recordingName": "AuthenticationSettingsOps/Cloud Tests/readAuthenticationSettings()/1: Read Realm AuthenticationSettings", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "567773b06e735b1cc8a5ad23a155606f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.3" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-57e98d27-5e54-430d-be78-420753892868" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1939, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" + }, + "response": { + "bodySize": 1438, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1438, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1952817720\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1438" + }, + { + "name": "date", + "value": "Thu, 15 Aug 2024 18:50:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-57e98d27-5e54-430d-be78-420753892868" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-15T18:50:04.480Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/3-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-and_70682628/recording.har b/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/3-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-and_70682628/recording.har index 4cf68e7ed..f71dcc083 100644 --- a/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/3-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-and_70682628/recording.har +++ b/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/3-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-and_70682628/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "f7edea2a16a82469cfa9512da84a820a", + "_id": "eb697468085abfef6b608e5d514d9750", "_order": 0, "cache": {}, "request": { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -48,154 +48,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services?_action=nextdescendents" - }, - "response": { - "bodySize": 28867, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 28867, - "text": "{\"result\":[{\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_id\":\"globalization\",\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}},{\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_id\":\"logging\",\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}},{\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_id\":\"naming\",\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}},{\"cookieDomains\":[],\"locale\":\"en_US\",\"_id\":\"platform\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}},{\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"requestHandlers\":[],\"_id\":\"federation/saml2soapbinding\",\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}},{\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_id\":\"federation/multi\",\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}},{\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_id\":\"federation/common\",\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}},{\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}},{\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_id\":\"androidKeyAttestation\",\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}},{\"defaultContext\":\"POLICY_CONDITION\",\"_id\":\"scripting\",\"_type\":{\"_id\":\"scripting\",\"name\":\"Scripting\",\"collection\":false}},{\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_id\":\"monitoring\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}},{\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_id\":\"idm-integration\",\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}},{\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_id\":\"saml2\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}},{\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_id\":\"rest\",\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_id\":\"uma\",\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}},{\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_id\":\"ConfigurationVersionService\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}},{\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_id\":\"RadiusServerService\",\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}},{\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"defaults\":{\"timeToLive\":\"180\"},\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"GoogleCloudServiceAccountService\",\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 472, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.112Z", - "time": 26, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 26 - } - }, - { - "_id": "f72fabd8fbe5156f0b7e3b99e0534b8f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_queryFilter", + "value": "true" } ], - "headersSize": 565, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/realms/?_queryFilter=true" }, "response": { - "bodySize": 359, + "bodySize": 540, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 359, - "text": "{\"_id\":\"\",\"_rev\":\"-1106014221\",\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 540, + "text": "{\"result\":[{\"_id\":\"Lw\",\"_rev\":\"492331277\",\"parentPath\":null,\"active\":true,\"name\":\"/\",\"aliases\":[\"localhost\",\"openam-frodo-dev.classic.com\",\"openam\",\"testurl.com\"]},{\"_id\":\"L2ZpcnN0\",\"_rev\":\"1051737267\",\"parentPath\":\"/\",\"active\":true,\"name\":\"first\",\"aliases\":[\"one\",\"dnsfirst\"]},{\"_id\":\"L2ZpcnN0L3NlY29uZA\",\"_rev\":\"-1167290418\",\"parentPath\":\"/first\",\"active\":false,\"name\":\"second\",\"aliases\":[\"secondDNS\",\"second\"]}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -213,7 +82,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -227,10 +96,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1106014221\"" - }, { "name": "expires", "value": "0" @@ -245,11 +110,11 @@ }, { "name": "content-length", - "value": "359" + "value": "540" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -260,14 +125,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.178Z", - "time": 76, + "startedDateTime": "2024-11-06T16:35:35.331Z", + "time": 14, "timings": { "blocked": -1, "connect": -1, @@ -275,11 +140,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 14 } }, { - "_id": "c0a5f6a64ac0b5f920701298c5b6ca45", + "_id": "c426bec4c6e4c9edc112fa80b40a8fe1", "_order": 0, "cache": {}, "request": { @@ -296,15 +161,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -319,23 +184,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 573, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 1558, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1558, - "text": "{\"result\":[{\"_id\":\"agent\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentgroup\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentonly\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"filteredrole\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"group\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"realm\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"role\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"user\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"givenName\":\"amAdmin\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"amAdmin\",\"dn\":\"uid=amAdmin,ou=people,\",\"cn\":\"amAdmin\",\"_id\":\"amAdmin\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Inactive\",\"givenName\":\"anonymous\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"anonymous\",\"dn\":\"uid=anonymous,ou=people,\",\"cn\":\"anonymous\",\"_id\":\"anonymous\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"dn\":\"cn=dsameuser,ou=DSAME Users,\",\"_id\":\"dsameuser\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}}]}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -353,7 +218,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -381,11 +246,11 @@ }, { "name": "content-length", - "value": "1558" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -396,14 +261,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.180Z", - "time": 121, + "startedDateTime": "2024-11-06T16:35:35.353Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -411,11 +276,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 121 + "wait": 80 } }, { - "_id": "b4d643d9dbff0a4f3368d4dcfe3586f8", + "_id": "b2e1e76f847112ebbebb9f4a3b6daff6", "_order": 0, "cache": {}, "request": { @@ -432,15 +297,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -455,18 +320,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 563, + "headersSize": 586, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 709, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 709, - "text": "{\"_id\":\"\",\"_rev\":\"770074612\",\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -484,7 +354,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -498,10 +368,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"770074612\"" - }, { "name": "expires", "value": "0" @@ -516,11 +382,11 @@ }, { "name": "content-length", - "value": "709" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -531,14 +397,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.181Z", - "time": 78, + "startedDateTime": "2024-11-06T16:35:35.439Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -546,11 +412,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 10 } }, { - "_id": "cdb17bfb6150d6d446734c1f95070d64", + "_id": "2d20e9e2c4bf0838a319b8db3c9917d4", "_order": 0, "cache": {}, "request": { @@ -567,15 +433,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -590,23 +456,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 588, + "headersSize": 600, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -624,7 +490,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -652,11 +518,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -667,14 +533,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.182Z", - "time": 77, + "startedDateTime": "2024-11-06T16:35:35.455Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -682,11 +548,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 7 } }, { - "_id": "b4bd42e147d54913501b28c40eec17bb", + "_id": "2b170236615f1a0725d65e635326a219", "_order": 0, "cache": {}, "request": { @@ -703,15 +569,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -726,18 +592,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/chains" }, "response": { - "bodySize": 899, + "bodySize": 158, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 899, - "text": "{\"_id\":\"\",\"_rev\":\"1282484869\",\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}}" + "size": 158, + "text": "{\"_id\":\"\",\"_rev\":\"1147129562\",\"dynamic\":{\"authChainConfiguration\":\"[Empty]\"},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -771,7 +637,7 @@ }, { "name": "etag", - "value": "\"1282484869\"" + "value": "\"1147129562\"" }, { "name": "expires", @@ -787,11 +653,11 @@ }, { "name": "content-length", - "value": "899" + "value": "158" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -808,8 +674,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.183Z", - "time": 77, + "startedDateTime": "2024-11-06T16:35:35.468Z", + "time": 14, "timings": { "blocked": -1, "connect": -1, @@ -817,11 +683,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 14 } }, { - "_id": "43064d89e2802be220333e8c45f76ef0", + "_id": "1f8e327660d8b21ea224a12080b31c72", "_order": 0, "cache": {}, "request": { @@ -838,15 +704,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -861,23 +727,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -895,7 +761,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -923,11 +789,11 @@ }, { "name": "content-length", - "value": "13" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -938,14 +804,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.184Z", - "time": 77, + "startedDateTime": "2024-11-06T16:35:35.488Z", + "time": 17, "timings": { "blocked": -1, "connect": -1, @@ -953,11 +819,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 17 } }, { - "_id": "8bcf7e69c1b5f4bae9e93b6c31ce1164", + "_id": "944c4947782014980962c47952c62871", "_order": 0, "cache": {}, "request": { @@ -974,15 +840,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -997,18 +863,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 556, + "headersSize": 604, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 942, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 942, - "text": "{\"_id\":\"\",\"_rev\":\"329242288\",\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -1026,7 +897,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -1040,10 +911,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"329242288\"" - }, { "name": "expires", "value": "0" @@ -1058,11 +925,11 @@ }, { "name": "content-length", - "value": "942" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1073,14 +940,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.185Z", - "time": 76, + "startedDateTime": "2024-11-06T16:35:35.511Z", + "time": 34, "timings": { "blocked": -1, "connect": -1, @@ -1088,11 +955,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 34 } }, { - "_id": "c02a739d10f1807e59a4503855eabcfa", + "_id": "25942edffa1a4f106d805387e16c8840", "_order": 0, "cache": {}, "request": { @@ -1109,15 +976,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -1132,23 +999,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 618, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -1166,7 +1033,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -1194,11 +1061,11 @@ }, { "name": "content-length", - "value": "13" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1209,14 +1076,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.187Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:35.551Z", + "time": 16, "timings": { "blocked": -1, "connect": -1, @@ -1224,15 +1091,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 16 } }, { - "_id": "e78947475e372e0b8923e8b52eeea9e6", + "_id": "70bf31ef32b535a321a001c748b0f61e", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1245,154 +1112,23 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 558, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform" - }, - "response": { - "bodySize": 131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"-1580305574\",\"cookieDomains\":[],\"locale\":\"en_US\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1580305574\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, { "name": "content-length", - "value": "131" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 486, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.188Z", - "time": 79, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 79 - } - }, - { - "_id": "996dfe7751e7a0d7d4e616e93535cf25", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" + "value": "2" }, { "name": "accept-encoding", @@ -1403,23 +1139,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 607, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 20544, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 20544, + "text": "{\"result\":[{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"httpbasic\",\"_type\":{\"_id\":\"httpbasic\",\"name\":\"HTTP Basic\",\"collection\":false}},{\"defaults\":{\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":1,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"primaryLdapServer\":[\"localhost:50636\"],\"userBindDN\":\"cn=Directory Manager\",\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"connectionHeartbeatTimeUnit\":\"MINUTES\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\"},\"_id\":\"activedirectory\",\"_type\":{\"_id\":\"activedirectory\",\"name\":\"Active Directory\",\"collection\":false}},{\"defaults\":{\"iprange\":{\"ipRangeScore\":1,\"ipRangeCheckEnabled\":false,\"ipRange\":[\"10.0.0.0/24\"],\"invertIPRangeScoreEnabled\":false},\"knowncookie\":{\"invertKnownCookieScore\":false,\"knownCookieScore\":1,\"createKnownCookieOnSuccessfulLogin\":false,\"knownCookieCheckEnabled\":false},\"iphistory\":{\"ipHistoryCheckEnabled\":false,\"ipHistoryCount\":5,\"ipHistoryScore\":1,\"ipHistoryProfileAttribute\":\"iphistory\",\"saveSuccessfulIP\":false,\"invertIPHistoryScore\":false},\"geolocation\":{\"geolocationScore\":1,\"geolocationCheckEnabled\":false,\"invertGeolocationScore\":false},\"authfailed\":{\"failureScore\":1,\"failedAuthenticationCheckEnabled\":false,\"invertFailureScore\":false},\"attributecheck\":{\"profileRiskAttributeScore\":1,\"invertProfileRiskAttributeScore\":false,\"profileRiskAttributeCheckEnabled\":false},\"lastlogin\":{\"saveLastLoginTimeOnSuccessfulLogin\":false,\"invertTimeSinceLastLoginScore\":false,\"timeSinceLastLoginScore\":1,\"timeSinceLastLoginCheckEnabled\":false},\"general\":{\"authenticationLevel\":0,\"riskThreshold\":1},\"devicecookie\":{\"deviceCookieName\":\"Device\",\"deviceCookieScore\":1,\"invertDeviceCookieScore\":false,\"deviceCookieCheckEnabled\":false,\"saveDeviceCookieValueOnSuccessfulLogin\":false},\"requestheader\":{\"requestHeaderCheckEnabled\":false,\"invertRequestHeaderScore\":false,\"requestHeaderScore\":1}},\"_id\":\"adaptiverisk\",\"_type\":{\"_id\":\"adaptiverisk\",\"name\":\"Adaptive Risk \",\"collection\":false}},{\"defaults\":{\"validAnonymousUsers\":[],\"defaultAnonymousUsername\":\"anonymous\",\"authenticationLevel\":0,\"caseSensitiveUsernameMatchingEnabled\":false},\"_id\":\"anonymous\",\"_type\":{\"_id\":\"anonymous\",\"name\":\"Anonymous\",\"collection\":false}},{\"defaults\":{\"ldapCertificateAttribute\":\"CN\",\"updateCRLsFromDistributionPoint\":true,\"crlMatchingCertificateAttribute\":\"CN\",\"certificateAttributeToProfileMapping\":\"subject CN\",\"userBindDN\":\"cn=Directory Manager\",\"trustedRemoteHosts\":[\"none\"],\"sslEnabled\":false,\"ocspValidationEnabled\":false,\"authenticationLevel\":0,\"cacheCRLsInMemory\":true,\"matchCACertificateToCRL\":false,\"ldapSearchStartDN\":[],\"matchCertificateToCRL\":false,\"matchCertificateInLdap\":false,\"certificateLdapServers\":[\"localhost:50636\"],\"certificateAttributeProfileMappingExtension\":\"none\",\"iplanet-am-auth-cert-gw-cert-preferred\":false},\"_id\":\"certificate\",\"_type\":{\"_id\":\"certificate\",\"name\":\"Certificate\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":false}},{\"defaults\":{\"useSecureCookie\":true,\"cookieName\":\"session-jwt\",\"enforceClientIP\":false,\"idleTimeout\":5,\"maxLife\":5,\"useHttpOnlyCookie\":true},\"_id\":\"persistentcookie\",\"_type\":{\"_id\":\"persistentcookie\",\"name\":\"Persistent Cookie\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0,\"passwordColumn\":\"PASSWORD_COLUMN\",\"password\":null,\"jdbcDriver\":\"com.mysql.jdbc.Driver\",\"jdbcUrl\":\"jdbc:mysql://127.0.0.1:3306/test\",\"username\":\"root\",\"passwordTransformClass\":\"com.sun.identity.authentication.modules.jdbc.ClearTextTransform\",\"connectionType\":\"JNDI\",\"passwordStatement\":\"select PASSWORD_COLUMN from TABLE where USERNAME_COLUMN = ?\",\"connectionPoolJndiName\":\"java:comp/env/jdbc/samplePool\"},\"_id\":\"jdbc\",\"_type\":{\"_id\":\"jdbc\",\"name\":\"JDBC\",\"collection\":false}},{\"defaults\":{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"primaryLdapServer\":[\"localhost:50636\"],\"userBindDN\":\"cn=Directory Manager\",\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\"},\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":false}},{\"defaults\":{\"baseSearchDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"authenticationLevel\":0,\"msisdnRequestSearchLocations\":[\"searchRequest\",\"searchParam\",\"searchCookie\"],\"returnUserDN\":true,\"userProfileMsisdnAttribute\":\"sunIdentityMSISDNNumber\",\"ldapSslEnabled\":false,\"msisdnUserNamingAttribute\":\"uid\",\"ldapUserBindDN\":\"cn=Directory Manager\",\"msisdnParameterNames\":[],\"ldapProviderUrl\":[\"localhost:50636\"],\"trustedGatewayIPAddresses\":[]},\"_id\":\"msisdn\",\"_type\":{\"_id\":\"msisdn\",\"name\":\"MSISDN\",\"collection\":false}},{\"defaults\":{\"defaultUserStatus\":\"Active\",\"minimumPasswordLength\":8,\"defaultUserRoles\":[],\"authenticationLevel\":0},\"_id\":\"membership\",\"_type\":{\"_id\":\"membership\",\"name\":\"Membership\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"windowsnt\",\"_type\":{\"_id\":\"windowsnt\",\"name\":\"Windows NT\",\"collection\":false}},{\"defaults\":{\"mailGatewayClass\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\",\"mapToAnonymousUser\":false,\"scope\":\"email,read_stream\",\"userProfileServiceUrl\":\"https://graph.facebook.com/me\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authenticationEndpointUrl\":\"https://www.facebook.com/dialog/oauth\",\"createAccount\":true,\"attributeMapperConfiguration\":[\"first_name=givenname\",\"id=facebook-id\",\"email=facebook-email\",\"last_name=facebook-lname\",\"first_name=facebook-fname\",\"name=cn\",\"email=mail\",\"last_name=sn\"],\"accountMapperConfiguration\":[\"id=facebook-id\",\"email=mail\"],\"saveAttributesInSession\":true,\"logoutBehaviour\":\"prompt\",\"anonymousUserName\":\"anonymous\",\"mixUpMitigation\":false,\"smtpHostName\":\"localhost\",\"promptForPassword\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"authenticationLevel\":0,\"accessTokenParameterName\":\"access_token\",\"accessTokenEndpointUrl\":\"https://graph.facebook.com/oauth/access_token\",\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper\"],\"smtpHostPort\":\"25\",\"smtpFromAddress\":\"info@forgerock.com\"},\"_id\":\"oauth2\",\"_type\":{\"_id\":\"oauth2\",\"name\":\"Legacy OAuth 2.0 / OpenID Connect\",\"collection\":false}},{\"defaults\":{\"kerberosServiceIsinitiator\":true,\"trustedKerberosRealms\":[],\"lookupUserInRealm\":false,\"authenticationLevel\":0,\"returnPrincipalWithDomainName\":false},\"_id\":\"windowsdesktopsso\",\"_type\":{\"_id\":\"windowsdesktopsso\",\"name\":\"Windows Desktop SSO\",\"collection\":false}},{\"defaults\":{\"jwtToLdapAttributeMappings\":[\"sub=uid\",\"email=mail\"],\"useSubClaimIfNoMatch\":false,\"cryptoContextType\":\".well-known/openid-configuration_url\",\"idTokenIssuer\":\"accounts.google.com\",\"cryptoContextValue\":\"https://accounts.google.com/.well-known/openid-configuration\",\"idTokenHeaderName\":\"oidc_id_token\",\"audienceName\":\"example\",\"acceptedAuthorizedParties\":[\"http://www.example.com/authorized/party\",\"AuthorizedPartyExample\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"principalMapperClass\":\"org.forgerock.openam.authentication.modules.oidc.JwtAttributeMapper\"},\"_id\":\"openidconnect\",\"_type\":{\"_id\":\"openidconnect\",\"name\":\"OpenID Connect id_token bearer\",\"collection\":false}},{\"defaults\":{\"serverPortNumber\":1645,\"secondaryRadiusServers\":[\"127.0.0.1\"],\"stopRadiusbindAfterInmemoryLockedEnabled\":false,\"authenticationLevel\":0,\"serverTimeout\":3,\"primaryRadiusServers\":[\"127.0.0.1\"],\"healthCheckInterval\":5},\"_id\":\"radius\",\"_type\":{\"_id\":\"radius\",\"name\":\"RADIUS\",\"collection\":false}},{\"defaults\":{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"smtpSslEnabled\":\"SSL\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpUserPassword\":null,\"smtpHostPort\":465,\"smtpFromAddress\":\"no-reply@openam.org\",\"smtpUsername\":\"opensso.sun\",\"otpValidityDuration\":5,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"autoSendOTP\":false,\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\"},\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":false}},{\"defaults\":{\"serverConfigPath\":\"/home/prestonhales/am/config/auth/ace/data\",\"authenticationLevel\":0},\"_id\":\"securid\",\"_type\":{\"_id\":\"securid\",\"name\":\"SecurID\",\"collection\":false}},{\"defaults\":{\"totpTimeStepInterval\":30,\"minimumSecretKeyLength\":32,\"frOathOtpMaxRetry\":3,\"totpTimeStepsInWindow\":2,\"hotpWindowSize\":100,\"totpMaximumClockDrift\":5,\"passwordLength\":\"6\",\"truncationOffset\":-1,\"addChecksumToOtpEnabled\":\"False\",\"authenticationLevel\":0,\"oathAlgorithm\":\"HOTP\"},\"_id\":\"authenticatoroath\",\"_type\":{\"_id\":\"authenticatoroath\",\"name\":\"ForgeRock Authenticator (OATH)\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":false}},{\"defaults\":{\"clientScript\":\"[Empty]\",\"serverScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"authenticationLevel\":1,\"clientScriptEnabled\":true},\"_id\":\"scripted\",\"_type\":{\"_id\":\"scripted\",\"name\":\"Scripted Module\",\"collection\":false}},{\"defaults\":{\"clientScript\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"serverScript\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"authenticationLevel\":0,\"clientScriptEnabled\":true},\"_id\":\"deviceidmatch\",\"_type\":{\"_id\":\"deviceidmatch\",\"name\":\"Device Id (Match)\",\"collection\":false}},{\"defaults\":{\"maxProfilesAllowed\":5,\"autoStoreProfiles\":false,\"authenticationLevel\":0},\"_id\":\"deviceidsave\",\"_type\":{\"_id\":\"deviceidsave\",\"name\":\"Device Id (Save)\",\"collection\":false}},{\"defaults\":{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"forgerock-oath-maximum-clock-drift\":0,\"stepsInWindow\":2,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\"},\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":false}},{\"defaults\":{\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"entityName\":\"http://\",\"authComparison\":\"exact\",\"sloEnabled\":\"false\",\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"allowCreate\":\"true\",\"metaAlias\":\"/sp\",\"isPassive\":\"false\",\"reqBinding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"forceAuthn\":\"false\",\"sloRelay\":\"http://\",\"authenticationLevel\":0},\"_id\":\"authSaml\",\"_type\":{\"_id\":\"authSaml\",\"name\":\"SAML2\",\"collection\":false}},{\"defaults\":{\"pushMessage\":\"Login attempt from {{user}} at {{issuer}}\",\"authenticationLevel\":0,\"timeoutInMilliSecconds\":120000},\"_id\":\"authPush\",\"_type\":{\"_id\":\"authPush\",\"name\":\"ForgeRock Authenticator (Push)\",\"collection\":false}},{\"defaults\":{\"issuer\":\"ForgeRock\",\"bgcolour\":\"#519387\",\"appleLink\":\"https://itunes.apple.com/app/forgerock-authenticator/id1038442926\",\"authenticationLevel\":0,\"timeoutInMilliSecconds\":120000,\"googleLink\":\"https://play.google.com/store/apps/details?id=com.forgerock.authenticator\"},\"_id\":\"authPushReg\",\"_type\":{\"_id\":\"authPushReg\",\"name\":\"ForgeRock Authenticator (Push) Registration\",\"collection\":false}},{\"defaults\":{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true},\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[],\"attributeMappingClasses\":[],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true},\"core\":{\"scope\":[],\"authenticationLevel\":0,\"mixUpMitigation\":false,\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"logoutBehaviour\":\"prompt\",\"usesBasicAuth\":true},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialOAuth2\",\"_type\":{\"_id\":\"authSocialOAuth2\",\"name\":\"Social Auth OAuth2\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"first_name=givenName\",\"first_name=cn\",\"id=uid\",\"last_name=sn\",\"email=mail\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-\"},\"core\":{\"scope\":[\"email\"],\"apiVersion\":\"5.73\",\"subjectProperty\":\"id\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://oauth.vk.com/authorize\",\"forgerock-am-auth-socialauthvk-auth-level\":0,\"userInfoEndpoint\":\"https://api.vk.com/method/users.get\",\"provider\":\"VKontakte\",\"tokenEndpoint\":\"https://oauth.vk.com/access_token\"},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialVk\",\"_type\":{\"_id\":\"authSocialVk\",\"name\":\"Social Auth VKontakte\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"openid=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"nickname=givenName\",\"openid=uid\",\"nickname=cn\",\"nickname=sn\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-\"},\"core\":{\"scope\":[\"snsapi_login\"],\"subjectProperty\":\"openid\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://open.weixin.qq.com/connect/qrconnect\",\"authenticationLevel\":0,\"userInfoEndpoint\":\"https://api.wechat.com/sns/userinfo\",\"provider\":\"WeChat\",\"tokenEndpoint\":\"https://api.wechat.com/sns/oauth2/access_token\",\"usesBasicAuth\":false},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialWeChat\",\"_type\":{\"_id\":\"authSocialWeChat\",\"name\":\"Social Auth WeChat\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"openid=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"nickname=givenName\",\"openid=uid\",\"nickname=cn\",\"nickname=sn\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-\"},\"core\":{\"scope\":[\"snsapi_userinfo\"],\"subjectProperty\":\"openid\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authenticationLevel\":0,\"userInfoEndpoint\":\"https://api.wechat.com/sns/userinfo\",\"provider\":\"WeChat\"},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialWeChatMobile\",\"_type\":{\"_id\":\"authSocialWeChatMobile\",\"name\":\"Social Auth WeChat Mobile\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[],\"attributeMappingClasses\":[],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true},\"core\":{\"scope\":[\"openid\"],\"authenticationLevel\":0,\"mixUpMitigation\":false,\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"logoutBehaviour\":\"prompt\",\"usesBasicAuth\":true},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialOpenID\",\"_type\":{\"_id\":\"authSocialOpenID\",\"name\":\"Social Auth OpenID\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"id=uid\",\"full_name=sn\",\"username=cn\",\"username=givenName\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|instagram-\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|instagram-\"},\"core\":{\"scope\":[\"basic\"],\"subjectProperty\":\"id\",\"authenticationLevel\":0,\"logoutServiceUrl\":\"https://instagram.com/accounts/logout\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://api.instagram.com/oauth/authorize\",\"logoutBehaviour\":\"prompt\",\"userInfoEndpoint\":\"https://api.instagram.com/v1/users/self\",\"provider\":\"Instagram\",\"tokenEndpoint\":\"https://api.instagram.com/oauth/access_token\",\"usesBasicAuth\":false}},\"_id\":\"authSocialInstagram\",\"_type\":{\"_id\":\"authSocialInstagram\",\"name\":\"Social Auth Instagram\",\"collection\":false}},{\"defaults\":{\"core\":{\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"subjectProperty\":\"id_str\",\"authorizeEndpoint\":\"https://api.twitter.com/oauth/authenticate\",\"authenticationLevel\":0,\"requestTokenEndpoint\":\"https://api.twitter.com/oauth/request_token\",\"userInfoEndpoint\":\"https://api.twitter.com/1.1/account/verify_credentials.json\",\"provider\":\"Twitter\",\"tokenEndpoint\":\"https://api.twitter.com/oauth/access_token\",\"usesBasicAuth\":false},\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id_str=uid\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"mapToAnonymousUser\":false,\"attributeMapperConfiguration\":[\"full_name=sn\",\"username=cn\",\"id_str=uid\",\"username=givenName\"],\"createAccount\":true,\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|twitter-\"],\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|twitter-\"}},\"_id\":\"authSocialTwitter\",\"_type\":{\"_id\":\"authSocialTwitter\",\"name\":\"Social Auth Twitter\",\"collection\":false}},{\"defaults\":{\"responseEncryptionCipher\":\"A128GCM\",\"responseEncryptionMethod\":\"ECDHE\",\"enableTlsSessionBinding\":true,\"authenticationLevel\":0},\"_id\":\"authJwtPoP\",\"_type\":{\"_id\":\"authJwtPoP\",\"name\":\"JWT Proof of Possession (PoP)\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"accountactivecheck\",\"_type\":{\"_id\":\"accountactivecheck\",\"name\":\"Account Active Check\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -1464,12 +1205,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1480,14 +1221,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.189Z", - "time": 81, + "startedDateTime": "2024-11-06T16:35:35.572Z", + "time": 131, "timings": { "blocked": -1, "connect": -1, @@ -1495,15 +1236,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 131 } }, { - "_id": "41c773c232b700ee97639341ad461f77", + "_id": "788f84832b115ddecf70fb6197162e1a", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1516,20 +1257,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1539,18 +1284,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 569, + "headersSize": 618, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 949, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 949, - "text": "{\"_id\":\"\",\"_rev\":\"-2097165782\",\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1568,7 +1323,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1582,10 +1337,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2097165782\"" - }, { "name": "expires", "value": "0" @@ -1600,11 +1351,11 @@ }, { "name": "content-length", - "value": "949" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1615,14 +1366,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.190Z", - "time": 81, + "startedDateTime": "2024-11-06T16:35:35.710Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -1630,15 +1381,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 106 } }, { - "_id": "b26a03ad2a29757d280a26ebea4e3d3e", + "_id": "852736e3bf7d46b8ab672a45c768eb8f", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1651,20 +1402,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1674,23 +1429,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 631, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1708,7 +1468,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1736,11 +1496,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1751,14 +1511,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.191Z", - "time": 71, + "startedDateTime": "2024-11-06T16:35:35.821Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -1766,15 +1526,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 84 } }, { - "_id": "1c37478e04a3db7d9cde5720465c32b8", + "_id": "c1582cd0908b92ec27b4aed42f13b347", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1787,20 +1547,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1810,18 +1574,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 645, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 1163, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1163, - "text": "{\"_id\":\"\",\"_rev\":\"-1239124536\",\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1839,7 +1613,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1853,10 +1627,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1239124536\"" - }, { "name": "expires", "value": "0" @@ -1871,11 +1641,11 @@ }, { "name": "content-length", - "value": "1163" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -1886,14 +1656,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.192Z", - "time": 96, + "startedDateTime": "2024-11-06T16:35:35.910Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -1901,11 +1671,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 71 } }, { - "_id": "57e9213351b2982ca9d30f3468d2bd78", + "_id": "2647940ae50b79d7f431c91534e3fb2c", "_order": 0, "cache": {}, "request": { @@ -1922,15 +1692,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -1945,23 +1715,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 575, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/authenticationtrees" }, "response": { - "bodySize": 13, + "bodySize": 117, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 117, + "text": "{\"_id\":\"\",\"_rev\":\"1047121059\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Trees Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -1993,6 +1758,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1047121059\"" + }, { "name": "expires", "value": "0" @@ -2007,11 +1776,11 @@ }, { "name": "content-length", - "value": "13" + "value": "117" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2022,14 +1791,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.194Z", - "time": 69, + "startedDateTime": "2024-11-06T16:35:35.986Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -2037,11 +1806,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 5 } }, { - "_id": "bbb1533f6bafd1b6115bc5d903dd688d", + "_id": "0d273976f7cb8615d0f7eefecca5ee98", "_order": 0, "cache": {}, "request": { @@ -2058,15 +1827,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2081,23 +1850,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2115,7 +1884,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2143,11 +1912,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2158,14 +1927,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.195Z", - "time": 77, + "startedDateTime": "2024-11-06T16:35:35.997Z", + "time": 26, "timings": { "blocked": -1, "connect": -1, @@ -2173,11 +1942,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 26 } }, { - "_id": "c6c93d35607a2cc6fe4a484b6bcc7be9", + "_id": "e769b011d89094c5d6c5962bbbc0727c", "_order": 0, "cache": {}, "request": { @@ -2194,15 +1963,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2217,18 +1986,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 554, + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 127, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 127, - "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2246,7 +2020,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2260,10 +2034,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1193526377\"" - }, { "name": "expires", "value": "0" @@ -2278,11 +2048,11 @@ }, { "name": "content-length", - "value": "127" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2293,14 +2063,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.195Z", - "time": 80, + "startedDateTime": "2024-11-06T16:35:36.029Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -2308,11 +2078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 5 } }, { - "_id": "6ccc3dc796ae4e2e8d09a9062b019563", + "_id": "2461b700422e3a6cbd891caadff4e9c9", "_order": 0, "cache": {}, "request": { @@ -2329,15 +2099,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2352,18 +2122,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 147, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 147, - "text": "{\"_id\":\"\",\"_rev\":\"197569431\",\"requestHandlers\":[],\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2381,7 +2156,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2395,10 +2170,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"197569431\"" - }, { "name": "expires", "value": "0" @@ -2413,11 +2184,11 @@ }, { "name": "content-length", - "value": "147" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2428,14 +2199,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.196Z", - "time": 76, + "startedDateTime": "2024-11-06T16:35:36.039Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -2443,11 +2214,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 6 } }, { - "_id": "08998121189c015851592c4e2c36206b", + "_id": "f2b816d038942f9491cab71932335c93", "_order": 0, "cache": {}, "request": { @@ -2464,15 +2235,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2487,23 +2258,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 574, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2521,7 +2292,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2549,11 +2320,11 @@ }, { "name": "content-length", - "value": "13" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2564,14 +2335,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.197Z", - "time": 69, + "startedDateTime": "2024-11-06T16:35:36.050Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -2579,11 +2350,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 4 } }, { - "_id": "e5c50987759b28e178a22a06b8921007", + "_id": "7e98d74748df68ba7a6263e58c7fec56", "_order": 0, "cache": {}, "request": { @@ -2600,15 +2371,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2623,18 +2394,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 587, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 301, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 301, - "text": "{\"_id\":\"\",\"_rev\":\"302817247\",\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2652,7 +2428,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2666,10 +2442,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"302817247\"" - }, { "name": "expires", "value": "0" @@ -2684,11 +2456,11 @@ }, { "name": "content-length", - "value": "301" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2699,14 +2471,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.198Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:36.058Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -2714,11 +2486,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 4 } }, { - "_id": "92c0a6a00d9c6acb82b35ef1ce066cb7", + "_id": "98b9288352212752f60b81bf260b8500", "_order": 0, "cache": {}, "request": { @@ -2735,15 +2507,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2758,23 +2530,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2792,7 +2564,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2820,11 +2592,11 @@ }, { "name": "content-length", - "value": "13" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2835,14 +2607,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.199Z", - "time": 86, + "startedDateTime": "2024-11-06T16:35:36.067Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -2850,15 +2622,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 4 } }, { - "_id": "860c8c26449f0643c88df83bf80913b6", + "_id": "10ab138df840f1bbe158d0ec4fc6dc19", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -2871,20 +2643,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -2894,18 +2670,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 567, + "headersSize": 592, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 1850, + "bodySize": 321, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1850, - "text": "{\"_id\":\"\",\"_rev\":\"1228566638\",\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}}" + "size": 321, + "text": "{\"result\":[{\"storeTypes\":[\"EnvironmentAndSystemPropertySecretStore\",\"KeyStoreSecretStore\",\"GoogleSecretManagerSecretStoreProvider\",\"GoogleKeyManagementServiceSecretStore\",\"HsmSecretStore\",\"FileSystemSecretStore\"],\"_id\":\"GlobalSecrets\",\"_type\":{\"_id\":\"GlobalSecrets\",\"name\":\"Global Secrets Settings\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -2937,10 +2723,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1228566638\"" - }, { "name": "expires", "value": "0" @@ -2955,11 +2737,11 @@ }, { "name": "content-length", - "value": "1850" + "value": "321" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -2970,14 +2752,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.199Z", - "time": 100, + "startedDateTime": "2024-11-06T16:35:36.075Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -2985,15 +2767,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 8 } }, { - "_id": "ae14330f552038a2bccd22ce65d3265f", + "_id": "3390a06531c831ed59c684dd225c63b9", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -3006,20 +2788,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -3029,16 +2815,21 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 592, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -3063,7 +2854,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3095,7 +2886,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3112,8 +2903,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.200Z", - "time": 105, + "startedDateTime": "2024-11-06T16:35:36.088Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3121,15 +2912,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 105 + "wait": 3 } }, { - "_id": "90680889cf3393fcc200bca188068a72", + "_id": "13733c47f2daf768f909866ffa9fe2e7", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -3142,20 +2933,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -3165,18 +2960,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 558, + "headersSize": 616, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 574, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 574, - "text": "{\"_id\":\"\",\"_rev\":\"1264778823\",\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -3194,7 +2999,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3209,8 +3014,149 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"1264778823\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:35 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.097Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "495e428c463c3279681fcb798830e647", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 630, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -3226,11 +3172,11 @@ }, { "name": "content-length", - "value": "574" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3241,14 +3187,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.201Z", - "time": 80, + "startedDateTime": "2024-11-06T16:35:36.105Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3256,11 +3202,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 3 } }, { - "_id": "1e6746c063fda434ae9932431bbcbc9f", + "_id": "a92fbf6a95676ead13c4d7e1621eb0a1", "_order": 0, "cache": {}, "request": { @@ -3277,15 +3223,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -3300,18 +3246,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 539, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/serverinfo/*" }, "response": { - "bodySize": 160, + "bodySize": 563, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 160, - "text": "{\"_id\":\"\",\"_rev\":\"-2049191873\",\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 563, + "text": "{\"_id\":\"*\",\"_rev\":\"1352294770\",\"domains\":[null],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"iPlanetDirectoryPro\",\"secureCookie\":false,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":false,\"userIdAttributes\":[]}" }, "cookies": [], "headers": [ @@ -3325,11 +3271,11 @@ }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3345,7 +3291,7 @@ }, { "name": "etag", - "value": "\"-2049191873\"" + "value": "\"1352294770\"" }, { "name": "expires", @@ -3361,11 +3307,11 @@ }, { "name": "content-length", - "value": "160" + "value": "563" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3382,8 +3328,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.202Z", - "time": 82, + "startedDateTime": "2024-11-06T16:35:36.112Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -3391,11 +3337,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 5 } }, { - "_id": "bfb1e6e8b82f8a31219b7546ae34d438", + "_id": "aa49f3ff76d93ac5b0dbc7d6f8a32b44", "_order": 0, "cache": {}, "request": { @@ -3412,15 +3358,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -3435,23 +3381,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 545, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/serverinfo/version" }, "response": { - "bodySize": 13, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 258, + "text": "{\"_id\":\"version\",\"_rev\":\"-1772220916\",\"version\":\"7.5.0\",\"fullVersion\":\"ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)\",\"revision\":\"89116d59a1ebe73ed1931dd3649adb7f217cd06b\",\"date\":\"2024-March-28 16:00\"}" }, "cookies": [], "headers": [ @@ -3465,7 +3406,7 @@ }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", @@ -3483,6 +3424,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1772220916\"" + }, { "name": "expires", "value": "0" @@ -3497,11 +3442,11 @@ }, { "name": "content-length", - "value": "13" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3512,14 +3457,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.202Z", - "time": 96, + "startedDateTime": "2024-11-06T16:35:36.121Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3527,11 +3472,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 3 } }, { - "_id": "64ff9b04badfbe7a92867ac7f6e7ead3", + "_id": "c1f9b21132b93e7115da94f5a83f72b4", "_order": 0, "cache": {}, "request": { @@ -3548,15 +3493,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3571,23 +3516,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 574, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1622, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1622, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"thingKeys\",\"retryLimitNodeCount\",\"thingType\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"thingConfig\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"thingProperties\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"thingOAuth2ClientName\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -3605,7 +3550,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -3633,11 +3578,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1622" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3648,14 +3593,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.203Z", - "time": 74, + "startedDateTime": "2024-11-06T16:35:36.128Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -3663,11 +3608,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 11 } }, { - "_id": "8a6544b71e9eafd8d57a8d358f3a4e74", + "_id": "284e8e2c6bf3a8fa43271f86c475f77b", "_order": 0, "cache": {}, "request": { @@ -3684,15 +3629,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3707,18 +3652,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 587, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 1542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"\",\"_rev\":\"1805413690\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" + "size": 1542, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":62,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -3736,7 +3686,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -3750,10 +3700,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1805413690\"" - }, { "name": "expires", "value": "0" @@ -3768,11 +3714,11 @@ }, { "name": "content-length", - "value": "257" + "value": "1542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3783,14 +3729,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.204Z", - "time": 83, + "startedDateTime": "2024-11-06T16:35:36.144Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -3798,11 +3744,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 10 } }, { - "_id": "3cbf2251cc837fc1a7a37249334e2efe", + "_id": "0c4c212316c4b5fecb1dc306b9213247", "_order": 0, "cache": {}, "request": { @@ -3819,15 +3765,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3842,23 +3788,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 793, + "bodySize": 1542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 793, - "text": "{\"result\":[{\"jsonFileRotation\":{\"rotationTimes\":[],\"rotationFileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"rotationMaxFileSize\":\"100000000\",\"rotationInterval\":\"-1\",\"rotationEnabled\":true},\"jsonFileRetention\":{\"retentionMaxDiskSpaceToUse\":\"-1\",\"retentionMaxNumberOfHistoryFiles\":\"1\",\"retentionMinFreeSpaceRequired\":\"-1\"},\"jsonConfig\":{\"rotationRetentionCheckInterval\":\"5\",\"location\":\"%BASE_DIR%/var/audit/\",\"elasticsearchCompatible\":false},\"jsonBuffering\":{\"bufferingMaxSize\":\"100000\",\"bufferingWriteInterval\":\"5\"},\"commonHandler\":{\"enabled\":true,\"topics\":[\"access\",\"activity\",\"config\",\"authentication\"]},\"commonHandlerPlugin\":{\"handlerFactory\":\"org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory\"},\"_id\":\"Global JSON Handler\",\"_type\":{\"_id\":\"JSON\",\"name\":\"JSON\",\"collection\":true}}]}" + "size": 1542, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":62,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -3876,7 +3822,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -3904,11 +3850,11 @@ }, { "name": "content-length", - "value": "793" + "value": "1542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -3919,14 +3865,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.204Z", - "time": 106, + "startedDateTime": "2024-11-06T16:35:36.159Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -3934,11 +3880,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 106 + "wait": 11 } }, { - "_id": "df2d51d1849244b2bdce55a223a31e37", + "_id": "06e8d6eb7f64590e79c9176346ea74d3", "_order": 0, "cache": {}, "request": { @@ -3955,15 +3901,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -3978,18 +3924,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 510, + "bodySize": 1206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 510, - "text": "{\"_id\":\"\",\"_rev\":\"1539309580\",\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -4007,7 +3958,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4022,8 +3973,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"1539309580\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1206" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:35 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.176Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "9ecf5e4820ad306d6dce52ef4ff90437", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 582, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/subjecttypes?_queryFilter=true" + }, + "response": { + "bodySize": 1206, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -4039,11 +4122,11 @@ }, { "name": "content-length", - "value": "510" + "value": "1206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -4054,14 +4137,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.205Z", - "time": 100, + "startedDateTime": "2024-11-06T16:35:36.191Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -4069,11 +4152,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 5 } }, { - "_id": "6802302e73e17463931c5e9f0e5c7a10", + "_id": "9ce9f8208bcf496d74904cf3c5ad7f91", "_order": 0, "cache": {}, "request": { @@ -4090,15 +4173,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4113,23 +4196,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -4147,7 +4230,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4175,11 +4258,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -4190,14 +4273,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.206Z", - "time": 82, + "startedDateTime": "2024-11-06T16:35:36.200Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -4205,11 +4288,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 5 } }, { - "_id": "1469c7f1e1fca8b2b38bc1de2daba051", + "_id": "5e6829b1cf77274baadd39c5b2a78e56", "_order": 0, "cache": {}, "request": { @@ -4226,15 +4309,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4249,18 +4332,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 549, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/webhooks" }, "response": { - "bodySize": 395, + "bodySize": 101, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 395, - "text": "{\"_id\":\"\",\"_rev\":\"809911232\",\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" + "size": 101, + "text": "{\"_id\":\"\",\"_rev\":\"-124688335\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -4294,7 +4377,7 @@ }, { "name": "etag", - "value": "\"809911232\"" + "value": "\"-124688335\"" }, { "name": "expires", @@ -4310,11 +4393,11 @@ }, { "name": "content-length", - "value": "395" + "value": "101" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -4325,14 +4408,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.206Z", - "time": 98, + "startedDateTime": "2024-11-06T16:35:36.213Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -4340,11 +4423,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 7 } }, { - "_id": "d74c13af1a35b7215588511b275beda8", + "_id": "0d21aba3571beb564eb6a439845dae0e", "_order": 0, "cache": {}, "request": { @@ -4361,15 +4444,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4384,23 +4467,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 473, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 473, + "text": "{\"result\":[{\"_id\":\"Cool Webhook\",\"_rev\":\"1386996185\",\"url\":\"test\",\"headers\":{\"accept\":\"*/*\",\"cool\":\"test\"},\"body\":\"body\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}},{\"_id\":\"Test Webhook\",\"_rev\":\"2105362594\",\"headers\":{\"accept\":\"*/*\"},\"body\":\"hello\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4418,7 +4501,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4446,11 +4529,11 @@ }, { "name": "content-length", - "value": "13" + "value": "473" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -4461,14 +4544,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.207Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:36.224Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -4476,11 +4559,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 7 } }, { - "_id": "71a644272b08dd8b601889853d02e4f5", + "_id": "b7f9bd808e7b497cfdc6743976a03ad3", "_order": 0, "cache": {}, "request": { @@ -4497,15 +4580,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4520,18 +4603,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 251, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 251, - "text": "{\"_id\":\"\",\"_rev\":\"-1336068590\",\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}" + "size": 273, + "text": "{\"result\":[{\"_id\":\"webhooks\",\"_rev\":\"1954901829\",\"headers\":{\"accept\":\"*/*\"},\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4549,7 +4637,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4563,10 +4651,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1336068590\"" - }, { "name": "expires", "value": "0" @@ -4581,11 +4665,11 @@ }, { "name": "content-length", - "value": "251" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:35 GMT" }, { "name": "keep-alive", @@ -4596,14 +4680,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.207Z", - "time": 99, + "startedDateTime": "2024-11-06T16:35:36.237Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -4611,11 +4695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 99 + "wait": 7 } }, { - "_id": "3832fbb15c176e939c76961b1eb31ced", + "_id": "0d325343bb64528cf8526c4d5680c8a6", "_order": 0, "cache": {}, "request": { @@ -4632,15 +4716,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4655,23 +4739,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 605, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 273, + "text": "{\"result\":[{\"_id\":\"webhooks\",\"_rev\":\"1954901829\",\"headers\":{\"accept\":\"*/*\"},\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4689,7 +4773,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4717,11 +4801,11 @@ }, { "name": "content-length", - "value": "13" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -4732,14 +4816,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.211Z", - "time": 98, + "startedDateTime": "2024-11-06T16:35:36.249Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -4747,11 +4831,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 7 } }, { - "_id": "e931cc31a8916862a93e6b98b8a3ccf5", + "_id": "793a27f1bb756a04b52cdb6863ebc513", "_order": 0, "cache": {}, "request": { @@ -4768,15 +4852,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4791,18 +4875,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 432, + "bodySize": 236, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 432, - "text": "{\"_id\":\"\",\"_rev\":\"592757986\",\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4820,7 +4909,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4835,8 +4924,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"592757986\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "236" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:36 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.261Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "b05de0403c6385f635b26a29de2e0b16", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 612, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/entityproviders/ws?_queryFilter=true" + }, + "response": { + "bodySize": 236, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -4852,11 +5073,11 @@ }, { "name": "content-length", - "value": "432" + "value": "236" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -4867,14 +5088,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.213Z", - "time": 73, + "startedDateTime": "2024-11-06T16:35:36.276Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -4882,11 +5103,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 6 } }, { - "_id": "2543c11b2f4e14c08672932c8442f532", + "_id": "cdd6ee5d9afcdeea7efeca5b757ce79a", "_order": 0, "cache": {}, "request": { @@ -4903,15 +5124,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4926,23 +5147,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 626, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 236, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4960,7 +5181,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4988,11 +5209,11 @@ }, { "name": "content-length", - "value": "13" + "value": "236" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5003,14 +5224,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.214Z", - "time": 74, + "startedDateTime": "2024-11-06T16:35:36.287Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -5018,11 +5239,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 8 } }, { - "_id": "98b2543f74b1861e3c986a5e72a6ceff", + "_id": "76b32eba382ec9176be262a1048cdec2", "_order": 0, "cache": {}, "request": { @@ -5039,15 +5260,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5065,155 +5286,20 @@ "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification" - }, - "response": { - "bodySize": 291, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 291, - "text": "{\"_id\":\"\",\"_rev\":\"-747878660\",\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-747878660\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "291" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.215Z", - "time": 83, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 83 - } - }, - { - "_id": "9126e8dc362bb096776e49fcf4e6cfa7", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 591, - "httpVersion": "HTTP/1.1", - "method": "POST", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 388, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 388, + "text": "{\"result\":[{\"_id\":\"01\",\"_rev\":\"-931963190\",\"url\":\"http://localhost:8080/am\",\"siteName\":null},{\"_id\":\"03\",\"_rev\":\"868438946\",\"url\":\"http://localhost:8081/am\",\"siteName\":\"testsite\"},{\"_id\":\"04\",\"_rev\":\"-931739121\",\"url\":\"http://localhost:8082/am\",\"siteName\":null}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -5231,7 +5317,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -5259,11 +5345,11 @@ }, { "name": "content-length", - "value": "13" + "value": "388" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5274,14 +5360,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.217Z", - "time": 69, + "startedDateTime": "2024-11-06T16:35:36.301Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -5289,11 +5375,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 8 } }, { - "_id": "a290e68730822468f00ec60ba9d902ff", + "_id": "a881d34fa69200f99adfc9e71e2a6c6b", "_order": 0, "cache": {}, "request": { @@ -5310,15 +5396,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5333,18 +5419,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/advanced" }, "response": { - "bodySize": 2746, + "bodySize": 645, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2746, - "text": "{\"_id\":\"\",\"_rev\":\"768990089\",\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" + "size": 645, + "text": "{\"_id\":\"01/properties/advanced\",\"_rev\":\"407759923\",\"com.sun.identity.urlconnection.useCache\":false,\"com.iplanet.am.serverMode\":true,\"com.sun.identity.sm.sms_object_class_name\":\"com.sun.identity.sm.SmsWrapperObject\",\"org.forgerock.embedded.dsadminport\":\"4444\",\"com.sun.embedded.sync.servers\":\"on\",\"com.sun.embedded.replicationport\":\"\",\"com.iplanet.security.SSLSocketFactoryImpl\":\"com.sun.identity.shared.ldap.factory.JSSESocketFactory\",\"com.sun.identity.common.systemtimerpool.size\":\"3\",\"bootstrap.file\":\"/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_\",\"com.iplanet.am.lbcookie.value\":\"01\",\"opensso.protocol.handler.pkgs\":\"\"}" }, "cookies": [], "headers": [ @@ -5378,7 +5464,7 @@ }, { "name": "etag", - "value": "\"768990089\"" + "value": "\"407759923\"" }, { "name": "expires", @@ -5394,11 +5480,11 @@ }, { "name": "content-length", - "value": "2746" + "value": "645" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5409,14 +5495,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.218Z", - "time": 80, + "startedDateTime": "2024-11-06T16:35:36.314Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -5424,11 +5510,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 10 } }, { - "_id": "8fb0cec6800f2411def5492d7024dd94", + "_id": "097a8e6e4f3f8f245fbbd6c8ce7576c4", "_order": 0, "cache": {}, "request": { @@ -5445,15 +5531,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5468,18 +5554,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/cts" }, "response": { - "bodySize": 219, + "bodySize": 1198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 219, - "text": "{\"_id\":\"\",\"_rev\":\"455613826\",\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" + "size": 1198, + "text": "{\"_id\":\"01/properties/cts\",\"_rev\":\"765446917\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -5513,7 +5599,7 @@ }, { "name": "etag", - "value": "\"455613826\"" + "value": "\"765446917\"" }, { "name": "expires", @@ -5529,11 +5615,11 @@ }, { "name": "content-length", - "value": "219" + "value": "1198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5544,14 +5630,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.219Z", - "time": 61, + "startedDateTime": "2024-11-06T16:35:36.328Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -5559,11 +5645,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 8 } }, { - "_id": "f527a5e5d7c33133b663d3970e2498b9", + "_id": "2de9af30586fa3ef0c876107923ffdce", "_order": 0, "cache": {}, "request": { @@ -5580,15 +5666,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5603,23 +5689,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/directoryConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 439, + "text": "{\"_id\":\"01/properties/directoryConfiguration\",\"_rev\":\"1510475958\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" }, "cookies": [], "headers": [ @@ -5651,6 +5732,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1510475958\"" + }, { "name": "expires", "value": "0" @@ -5665,11 +5750,11 @@ }, { "name": "content-length", - "value": "13" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5680,14 +5765,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.219Z", - "time": 78, + "startedDateTime": "2024-11-06T16:35:36.341Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -5695,11 +5780,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 6 } }, { - "_id": "3fe697737a3a3b5f58f227c48474a7a6", + "_id": "636cd7d41bb569a7d80cd609812779c4", "_order": 0, "cache": {}, "request": { @@ -5716,15 +5801,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5739,23 +5824,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 570, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/general" }, "response": { - "bodySize": 13, + "bodySize": 904, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 904, + "text": "{\"_id\":\"01/properties/general\",\"_rev\":\"241119428\",\"amconfig.header.site\":{\"singleChoiceSite\":\"[Empty]\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"/home/prestonhales/am\",\"inherited\":false},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":false},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -5787,6 +5867,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"241119428\"" + }, { "name": "expires", "value": "0" @@ -5801,11 +5885,11 @@ }, { "name": "content-length", - "value": "13" + "value": "904" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5816,14 +5900,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.220Z", - "time": 58, + "startedDateTime": "2024-11-06T16:35:36.352Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -5831,11 +5915,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 9 } }, { - "_id": "c5e92ec298dc6780ab0a5d9471cfe061", + "_id": "1ef913d2a189c841927fa13a131df3af", "_order": 0, "cache": {}, "request": { @@ -5852,15 +5936,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5875,23 +5959,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/sdk" }, "response": { - "bodySize": 13, + "bodySize": 1308, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1308, + "text": "{\"_id\":\"01/properties/sdk\",\"_rev\":\"474186647\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":true,\"inherited\":false},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um\",\"inherited\":false}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":false}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -5923,6 +6002,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"474186647\"" + }, { "name": "expires", "value": "0" @@ -5937,11 +6020,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1308" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -5952,14 +6035,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.221Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:36.365Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -5967,11 +6050,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 8 } }, { - "_id": "e72bf68fea3347e80c5eb2fa8be5864c", + "_id": "dc0ffe73364c49fd72ece588ee23207e", "_order": 0, "cache": {}, "request": { @@ -5988,15 +6071,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6011,18 +6094,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/security" }, "response": { - "bodySize": 8676, + "bodySize": 4198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8676, - "text": "{\"_id\":\"\",\"_rev\":\"865723864\",\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 4198, + "text": "{\"_id\":\"01/properties/security\",\"_rev\":\"1454506959\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"efSYcwIhr7uKH30rgciGTVTFzb63LhYu\",\"inherited\":false},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6056,7 +6139,7 @@ }, { "name": "etag", - "value": "\"865723864\"" + "value": "\"1454506959\"" }, { "name": "expires", @@ -6071,12 +6154,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "4198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6087,14 +6170,14 @@ "value": "keep-alive" } ], - "headersSize": 491, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.221Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:36.377Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -6102,11 +6185,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 8 } }, { - "_id": "e162b06688e44865625171daf618df47", + "_id": "b591cc4dc8949e995f0c298ba20e27ee", "_order": 0, "cache": {}, "request": { @@ -6123,15 +6206,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6150,14 +6233,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/session" }, "response": { - "bodySize": 423, + "bodySize": 914, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 423, - "text": "{\"_id\":\"\",\"_rev\":\"924957352\",\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" + "size": 914, + "text": "{\"_id\":\"01/properties/session\",\"_rev\":\"591674434\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6191,7 +6274,7 @@ }, { "name": "etag", - "value": "\"924957352\"" + "value": "\"591674434\"" }, { "name": "expires", @@ -6207,11 +6290,11 @@ }, { "name": "content-length", - "value": "423" + "value": "914" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6228,8 +6311,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.222Z", - "time": 58, + "startedDateTime": "2024-11-06T16:35:36.388Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -6237,11 +6320,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 8 } }, { - "_id": "afc5568192609fec2ef1713d080c7c90", + "_id": "af92a95f6908f2418301347c072b8792", "_order": 0, "cache": {}, "request": { @@ -6258,15 +6341,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6281,23 +6364,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/uma" }, "response": { - "bodySize": 13, + "bodySize": 4122, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4122, + "text": "{\"_id\":\"01/properties/uma\",\"_rev\":\"1085771714\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6329,6 +6407,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1085771714\"" + }, { "name": "expires", "value": "0" @@ -6343,11 +6425,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4122" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6358,14 +6440,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.223Z", - "time": 60, + "startedDateTime": "2024-11-06T16:35:36.400Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -6373,11 +6455,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 8 } }, { - "_id": "b426584e95932cde24208134214e9b9f", + "_id": "57c0bda7be05bee3f75d473bf9838919", "_order": 0, "cache": {}, "request": { @@ -6394,15 +6476,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6421,14 +6503,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/advanced" }, "response": { - "bodySize": 215, + "bodySize": 89, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 215, - "text": "{\"_id\":\"\",\"_rev\":\"1196053395\",\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}}" + "size": 89, + "text": "{\"_id\":\"03/properties/advanced\",\"_rev\":\"1025600482\",\"com.iplanet.am.lbcookie.value\":\"03\"}" }, "cookies": [], "headers": [ @@ -6462,7 +6544,7 @@ }, { "name": "etag", - "value": "\"1196053395\"" + "value": "\"1025600482\"" }, { "name": "expires", @@ -6478,11 +6560,11 @@ }, { "name": "content-length", - "value": "215" + "value": "89" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6493,14 +6575,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.223Z", - "time": 74, + "startedDateTime": "2024-11-06T16:35:36.413Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -6508,11 +6590,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 4 } }, { - "_id": "3c74e21e7df8f9c4b8d63d75fbd1dd4a", + "_id": "2e2a078a0b525824f0ba0e8d24e4cadc", "_order": 0, "cache": {}, "request": { @@ -6529,15 +6611,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6552,23 +6634,153 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/cts" + }, + "response": { + "bodySize": 1198, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1198, + "text": "{\"_id\":\"03/properties/cts\",\"_rev\":\"212115732\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"212115732\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1198" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:36 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation?_action=nextdescendents" + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.422Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "2adbcd3aee2e99502460f798e06539d3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/directoryConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 438, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 438, + "text": "{\"_id\":\"03/properties/directoryConfiguration\",\"_rev\":\"836161194\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" }, "cookies": [], "headers": [ @@ -6600,6 +6812,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"836161194\"" + }, { "name": "expires", "value": "0" @@ -6614,11 +6830,11 @@ }, { "name": "content-length", - "value": "13" + "value": "438" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6629,14 +6845,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.224Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:36.432Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -6644,11 +6860,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 5 } }, { - "_id": "81d596f2e5174de1ae0a3bbddb535c2d", + "_id": "a2cb229b8b8bac3797a39a3a633110ac", "_order": 0, "cache": {}, "request": { @@ -6665,15 +6881,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6688,18 +6904,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/general" }, "response": { - "bodySize": 173, + "bodySize": 893, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 173, - "text": "{\"_id\":\"\",\"_rev\":\"1890693508\",\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 893, + "text": "{\"_id\":\"03/properties/general\",\"_rev\":\"1988467600\",\"amconfig.header.site\":{\"singleChoiceSite\":\"testsite\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"%BASE_DIR%\",\"inherited\":true},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":true},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6733,7 +6949,7 @@ }, { "name": "etag", - "value": "\"1890693508\"" + "value": "\"1988467600\"" }, { "name": "expires", @@ -6749,11 +6965,11 @@ }, { "name": "content-length", - "value": "173" + "value": "893" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6770,8 +6986,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.225Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:36.443Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6779,11 +6995,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 6 } }, { - "_id": "dbfbb0a2be1ccf047c24d2b7fb8992f7", + "_id": "acc4748ee21e0fd541c38a7c241560da", "_order": 0, "cache": {}, "request": { @@ -6800,15 +7016,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6823,18 +7039,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/sdk" }, "response": { - "bodySize": 337, + "bodySize": 1308, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"\",\"_rev\":\"-218398273\",\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}}" + "size": 1308, + "text": "{\"_id\":\"03/properties/sdk\",\"_rev\":\"22253700\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":false,\"inherited\":true},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um,sm\",\"inherited\":true}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6868,7 +7084,7 @@ }, { "name": "etag", - "value": "\"-218398273\"" + "value": "\"22253700\"" }, { "name": "expires", @@ -6884,11 +7100,11 @@ }, { "name": "content-length", - "value": "337" + "value": "1308" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -6899,14 +7115,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.226Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:36.454Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -6914,11 +7130,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 7 } }, { - "_id": "009e966ebde3f2ad58c3b35a0ba5ec15", + "_id": "5c0735d74f97624f3ded9b8c5844ea75", "_order": 0, "cache": {}, "request": { @@ -6935,15 +7151,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6958,23 +7174,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/security" }, "response": { - "bodySize": 13, + "bodySize": 4177, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4177, + "text": "{\"_id\":\"03/properties/security\",\"_rev\":\"1427276838\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"@AM_ENC_PWD@\",\"inherited\":true},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7006,6 +7217,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1427276838\"" + }, { "name": "expires", "value": "0" @@ -7020,11 +7235,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4177" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7035,14 +7250,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.226Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:36.465Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -7050,11 +7265,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 8 } }, { - "_id": "e7ff435497aab17c86bdbe57492d9088", + "_id": "6a4566581f6951ad4099be6fd8116ec7", "_order": 0, "cache": {}, "request": { @@ -7071,15 +7286,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7094,18 +7309,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/session" }, "response": { - "bodySize": 309, + "bodySize": 915, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"\",\"_rev\":\"2008236181\",\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}}" + "size": 915, + "text": "{\"_id\":\"03/properties/session\",\"_rev\":\"1503344344\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7139,7 +7354,7 @@ }, { "name": "etag", - "value": "\"2008236181\"" + "value": "\"1503344344\"" }, { "name": "expires", @@ -7155,11 +7370,11 @@ }, { "name": "content-length", - "value": "309" + "value": "915" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7176,8 +7391,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.227Z", - "time": 79, + "startedDateTime": "2024-11-06T16:35:36.477Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -7185,11 +7400,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 7 } }, { - "_id": "70d024a924629bde43db1b056ac6bb87", + "_id": "202ba7777ba99af0adab283397eb1807", "_order": 0, "cache": {}, "request": { @@ -7206,15 +7421,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7229,23 +7444,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/uma" }, "response": { - "bodySize": 292, + "bodySize": 4122, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 292, - "text": "{\"result\":[{\"enabled\":false,\"_id\":\"crest\",\"_type\":{\"_id\":\"crest\",\"name\":\"CREST Reporter\",\"collection\":true}},{\"password\":null,\"authenticationType\":\"BASIC\",\"username\":\"prometheus\",\"enabled\":false,\"_id\":\"prometheus\",\"_type\":{\"_id\":\"prometheus\",\"name\":\"Prometheus Reporter\",\"collection\":true}}]}" + "size": 4122, + "text": "{\"_id\":\"03/properties/uma\",\"_rev\":\"1144916898\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7277,6 +7487,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1144916898\"" + }, { "name": "expires", "value": "0" @@ -7291,11 +7505,11 @@ }, { "name": "content-length", - "value": "292" + "value": "4122" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7306,14 +7520,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.227Z", - "time": 82, + "startedDateTime": "2024-11-06T16:35:36.488Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -7321,11 +7535,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 7 } }, { - "_id": "bd9aaf8dfcbc22dbea3a59fb719db7f8", + "_id": "c90d696d0f5790885ea99c76ee1b2b29", "_order": 0, "cache": {}, "request": { @@ -7342,15 +7556,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7365,23 +7579,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/advanced" }, "response": { - "bodySize": 13, + "bodySize": 89, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 89, + "text": "{\"_id\":\"04/properties/advanced\",\"_rev\":\"1640922960\",\"com.iplanet.am.lbcookie.value\":\"04\"}" }, "cookies": [], "headers": [ @@ -7413,6 +7622,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1640922960\"" + }, { "name": "expires", "value": "0" @@ -7427,11 +7640,11 @@ }, { "name": "content-length", - "value": "13" + "value": "89" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7442,14 +7655,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.228Z", - "time": 77, + "startedDateTime": "2024-11-06T16:35:36.499Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -7457,11 +7670,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 5 } }, { - "_id": "d285d036d3216dc6245461df018435a1", + "_id": "acba719b27e4600cd525c5e43d82bead", "_order": 0, "cache": {}, "request": { @@ -7478,15 +7691,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7501,18 +7714,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/cts" }, "response": { - "bodySize": 615, + "bodySize": 1198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 615, - "text": "{\"_id\":\"\",\"_rev\":\"717872748\",\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" + "size": 1198, + "text": "{\"_id\":\"04/properties/cts\",\"_rev\":\"283228301\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7546,7 +7759,7 @@ }, { "name": "etag", - "value": "\"717872748\"" + "value": "\"283228301\"" }, { "name": "expires", @@ -7562,11 +7775,11 @@ }, { "name": "content-length", - "value": "615" + "value": "1198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7577,14 +7790,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.229Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:36.509Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -7592,11 +7805,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 6 } }, { - "_id": "594d3ca2c676ca20da15605785b0c78e", + "_id": "f0ae244389fb259f64bded7b90f20999", "_order": 0, "cache": {}, "request": { @@ -7613,15 +7826,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7636,23 +7849,153 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/directoryConfiguration" + }, + "response": { + "bodySize": 439, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 439, + "text": "{\"_id\":\"04/properties/directoryConfiguration\",\"_rev\":\"1777362962\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1777362962\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "439" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:36 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService?_action=nextdescendents" + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.520Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "d79528004eb47b289e1ec8c8e373c9e4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 570, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/general" }, "response": { - "bodySize": 13, + "bodySize": 891, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 891, + "text": "{\"_id\":\"04/properties/general\",\"_rev\":\"236746298\",\"amconfig.header.site\":{\"singleChoiceSite\":\"[Empty]\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"%BASE_DIR%\",\"inherited\":true},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":true},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7684,6 +8027,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"236746298\"" + }, { "name": "expires", "value": "0" @@ -7698,11 +8045,11 @@ }, { "name": "content-length", - "value": "13" + "value": "891" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7713,14 +8060,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.229Z", - "time": 73, + "startedDateTime": "2024-11-06T16:35:36.529Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -7728,11 +8075,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 6 } }, { - "_id": "bb2814576a7b47b17e39bffc4cfe024e", + "_id": "39c6616b0d9c6b956eb5a835961dc1be", "_order": 0, "cache": {}, "request": { @@ -7749,15 +8096,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7772,23 +8119,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/sdk" }, "response": { - "bodySize": 13, + "bodySize": 1310, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1310, + "text": "{\"_id\":\"04/properties/sdk\",\"_rev\":\"1730050751\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":false,\"inherited\":true},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um,sm\",\"inherited\":true}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7820,6 +8162,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1730050751\"" + }, { "name": "expires", "value": "0" @@ -7834,11 +8180,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1310" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7849,14 +8195,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.230Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:36.539Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -7864,11 +8210,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 7 } }, { - "_id": "c4357e29fc8dd7e1a5cb95a35d54c0f9", + "_id": "5fd751d7a58a40c5cae9a6b3e5b5a191", "_order": 0, "cache": {}, "request": { @@ -7885,15 +8231,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7908,18 +8254,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 553, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/security" }, "response": { - "bodySize": 293, + "bodySize": 4177, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 293, - "text": "{\"_id\":\"\",\"_rev\":\"1825149804\",\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" + "size": 4177, + "text": "{\"_id\":\"04/properties/security\",\"_rev\":\"1748131415\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"@AM_ENC_PWD@\",\"inherited\":true},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7953,7 +8299,7 @@ }, { "name": "etag", - "value": "\"1825149804\"" + "value": "\"1748131415\"" }, { "name": "expires", @@ -7969,11 +8315,11 @@ }, { "name": "content-length", - "value": "293" + "value": "4177" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -7984,14 +8330,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.230Z", - "time": 59, + "startedDateTime": "2024-11-06T16:35:36.551Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -7999,11 +8345,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 6 } }, { - "_id": "5439bb1dfcf36e6f51bfc824d11075de", + "_id": "480f802b104643aa04fa93d0c56e0290", "_order": 0, "cache": {}, "request": { @@ -8020,15 +8366,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8043,18 +8389,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/session" }, "response": { - "bodySize": 550, + "bodySize": 914, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 550, - "text": "{\"_id\":\"\",\"_rev\":\"-101444140\",\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}}" + "size": 914, + "text": "{\"_id\":\"04/properties/session\",\"_rev\":\"120805685\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8088,7 +8434,7 @@ }, { "name": "etag", - "value": "\"-101444140\"" + "value": "\"120805685\"" }, { "name": "expires", @@ -8104,11 +8450,11 @@ }, { "name": "content-length", - "value": "550" + "value": "914" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8119,14 +8465,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.231Z", - "time": 69, + "startedDateTime": "2024-11-06T16:35:36.562Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8134,11 +8480,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 6 } }, { - "_id": "c223ae344d92f0076d56754f8ccf8d21", + "_id": "896d1b036e99334f57ddeb7b23c5aaec", "_order": 0, "cache": {}, "request": { @@ -8155,15 +8501,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8178,18 +8524,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 554, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/uma" }, "response": { - "bodySize": 225, + "bodySize": 4122, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 225, - "text": "{\"_id\":\"\",\"_rev\":\"672880621\",\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}}" + "size": 4122, + "text": "{\"_id\":\"04/properties/uma\",\"_rev\":\"1936992555\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8223,7 +8569,7 @@ }, { "name": "etag", - "value": "\"672880621\"" + "value": "\"1936992555\"" }, { "name": "expires", @@ -8239,11 +8585,11 @@ }, { "name": "content-length", - "value": "225" + "value": "4122" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8254,14 +8600,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.232Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:36.572Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -8269,11 +8615,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 7 } }, { - "_id": "eb9875228ef7147e5de4621398c00c10", + "_id": "e622d264a11687d1d2818e6e640bd74f", "_order": 0, "cache": {}, "request": { @@ -8290,15 +8636,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8313,23 +8659,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 583, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/advanced" }, "response": { - "bodySize": 13, + "bodySize": 11880, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 11880, + "text": "{\"_id\":\"null/properties/advanced\",\"_rev\":\"1244705015\",\"com.iplanet.am.directory.ssl.enabled\":false,\"openam.auth.distAuthCookieName\":\"AMDistAuthCookie\",\"org.forgerock.services.default.store.max.connections\":\"\",\"org.forgerock.openam.ldap.dncache.expire.time\":\"0\",\"org.forgerock.openam.smtp.system.socket.write.timeout\":\"10000\",\"com.sun.identity.webcontainer\":\"WEB_CONTAINER\",\"com.sun.identity.security.checkcaller\":false,\"org.forgerock.services.cts.store.ttlsupport.exclusionlist\":\"\",\"org.forgerock.openam.ldap.keepalive.search.base\":\"\",\"org.forgerock.openam.idrepo.ldapv3.proxyauth.passwordreset.adminRequest\":\"isAdminPasswordChangeRequest\",\"openam.authentication.ignore_goto_during_logout\":false,\"com.sun.identity.saml.xmlsig.signatureprovider.class\":\"@XML_SIGNATURE_PROVIDER@\",\"openam.retained.http.request.headers\":\"X-DSAMEVersion\",\"com.sun.identity.url.readTimeout\":\"30000\",\"org.forgerock.openam.introspect.token.query.param.allowed\":false,\"openam.forbidden.to.copy.headers\":\"connection\",\"com.iplanet.am.lbcookie.value\":\"00\",\"com.sun.identity.plugin.log.class\":\"@LOG_PROVIDER_CLASS@\",\"com.iplanet.am.session.httpSession.enabled\":\"true\",\"com.sun.identity.saml.xmlsig.passwordDecoder\":\"@PASSWORD_DECODER_CLASS@\",\"org.forgerock.openam.scripting.maxinterpreterstackdepth\":\"10000\",\"com.iplanet.am.session.client.polling.enable\":false,\"com.iplanet.am.profile.port\":\"%SERVER_PORT%\",\"com.sun.identity.authentication.uniqueCookieName\":\"sunIdentityServerAuthNServer\",\"org.forgerock.openam.httpclienthandler.system.clients.pool.ttl\":\"-1\",\"com.iplanet.am.profile.host\":\"%SERVER_HOST%\",\"org.forgerock.openam.smtp.system.socket.read.timeout\":\"10000\",\"org.forgerock.openam.encryption.key.digest\":\"SHA1\",\"org.forgerock.openam.session.stateless.signing.allownone\":false,\"org.forgerock.openam.encryption.key.size\":\"128\",\"com.iplanet.am.logstatus\":\"ACTIVE\",\"org.forgerock.am.auth.trees.authenticate.identified.identity\":true,\"com.iplanet.am.jssproxy.trustAllServerCerts\":false,\"com.sun.identity.plugin.monitoring.saml2.class\":\"@MONSAML2_PROVIDER_CLASS@\",\"com.iplanet.am.installdir\":\"%BASE_DIR%\",\"org.forgerock.openam.trees.ids.cache.size\":\"50\",\"org.forgerock.openam.authentication.forceAuth.enabled\":false,\"org.forgerock.openam.httpclienthandler.system.proxy.uri\":\"\",\"com.sun.identity.jss.donotInstallAtHighestPriority\":true,\"org.forgerock.openam.idrepo.ldapv3.passwordpolicy.allowDiagnosticMessage\":false,\"com.sun.identity.enableUniqueSSOTokenCookie\":false,\"org.forgerock.services.cts.store.ttlsupport.enabled\":false,\"com.iplanet.am.serverMode\":true,\"org.forgerock.openam.timerpool.shutdown.retry.multiplier\":\"1.5\",\"dynamic.datastore.creation.enabled\":false,\"com.sun.identity.am.cookie.check\":false,\"org.forgerock.openam.core.resource.lookup.cache.enabled\":true,\"securidHelper.ports\":\"58943\",\"org.forgerock.openam.ldap.keepalive.search.filter\":\"(objectClass=*)\",\"org.forgerock.openam.saml2.authenticatorlookup.skewAllowance\":\"60\",\"org.forgerock.openam.url.connectTimeout\":\"1000\",\"com.sun.identity.plugin.monitoring.agent.class\":\"@MONAGENT_PROVIDER_CLASS@\",\"com.iplanet.am.buildVersion\":\"ForgeRock Access Management 7.5.0\",\"com.sun.identity.cookie.httponly\":true,\"org.forgerock.openam.sso.providers.list\":\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOProvider\",\"com.iplanet.am.pcookie.name\":\"DProPCookie\",\"com.sun.identity.policy.Policy.policy_evaluation_weights\":\"10:10:10\",\"org.forgerock.openam.secrets.special.user.passwords.format\":\"ENCRYPTED_PLAIN\",\"openam.auth.session_property_upgrader\":\"org.forgerock.openam.authentication.service.DefaultSessionPropertyUpgrader\",\"com.iplanet.am.session.client.polling.period\":\"180\",\"org.forgerock.openam.httpclienthandler.system.clients.connection.timeout\":\"10 seconds\",\"com.sun.identity.authentication.super.user\":\"uid=amAdmin,ou=People,%ROOT_SUFFIX%\",\"com.sun.identity.saml.xmlsig.keyprovider.class\":\"@XMLSIG_KEY_PROVIDER@\",\"org.forgerock.openam.timerpool.shutdown.retry.interval\":\"15000\",\"org.forgerock.services.openid.request.object.lifespan\":\"120000\",\"org.forgerock.am.auth.node.otp.inSharedState\":false,\"org.forgerock.openam.trees.consumedstatedata.cache.size\":\"15\",\"org.forgerock.openam.httpclienthandler.system.proxy.password\":null,\"org.forgerock.openam.showServletTraceInBrowser\":false,\"org.forgerock.openam.oauth2.checkIssuerForIdTokenInfo\":true,\"com.iplanet.am.version\":\"ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)\",\"com.iplanet.am.cookie.c66Encode\":true,\"org.forgerock.openam.radius.server.context.cache.size\":\"5000\",\"com.iplanet.am.jssproxy.checkSubjectAltName\":false,\"com.sun.identity.server.fqdnMap[hello]\":\"hello\",\"com.sun.am.event.notification.expire.time\":\"5\",\"com.sun.identity.server.fqdnMap[openam-frodo-dev.classic.com]\":\"openam-frodo-dev.classic.com\",\"org.forgerock.openam.httpclienthandler.system.clients.max.connections\":\"64\",\"openam.auth.version.header.enabled\":false,\"org.forgerock.openam.timerpool.shutdown.retry.limit\":\"3\",\"openam.serviceattributevalidator.classes.whitelist\":\"org.forgerock.openam.auth.nodes.validators.GreaterThanZeroValidator,org.forgerock.openam.auth.nodes.validators.HMACKeyLengthValidator,org.forgerock.openam.auth.nodes.validators.HmacSigningKeyValidator,org.forgerock.openam.auth.nodes.validators.PercentageValidator,org.forgerock.openam.auth.nodes.validators.QueryFilterValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyNameValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyValidator,org.forgerock.openam.auth.nodes.framework.validators.NodeValueValidator,org.forgerock.openam.audit.validation.PositiveIntegerValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.AlphaNumericValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.CodeLengthValidator,org.forgerock.openam.authentication.modules.persistentcookie.validation.SigningKeyValidator,com.sun.identity.common.configuration.DuplicateKeyMapValueValidator,com.sun.identity.common.configuration.AgentClientIpModeValueValidator,com.sun.identity.common.configuration.FilterModeValueValidator,com.sun.identity.common.configuration.GlobalMapValueValidator,com.sun.identity.common.configuration.ListValueValidator,com.sun.identity.common.configuration.MapValueValidator,com.sun.identity.common.configuration.ServerPropertyValidator,com.sun.identity.policy.ResourceComparatorValidator,com.sun.identity.sm.EmailValidator,com.sun.identity.sm.IPAddressValidator,com.sun.identity.sm.RequiredValueValidator,com.sun.identity.sm.ServerIDValidator,com.sun.identity.sm.SiteIDValidator,org.forgerock.openam.sm.validation.Base64EncodedBinaryValidator,org.forgerock.openam.sm.validation.BlankValueValidator,org.forgerock.openam.sm.validation.DurationValidator,org.forgerock.openam.sm.validation.EndpointValidator,org.forgerock.openam.sm.validation.HostnameValidator,org.forgerock.openam.sm.validation.PortValidator,org.forgerock.openam.sm.validation.SecretIdValidator,org.forgerock.openam.sm.validation.StatelessSessionSigningAlgorithmValidator,org.forgerock.openam.sm.validation.StringMapValidator,org.forgerock.openam.sm.validation.URLValidator,org.forgerock.openam.selfservice.config.KeyAliasValidator,org.forgerock.openam.sm.validation.UniqueIndexedValuesValidator,org.forgerock.openam.webhook.HttpHeaderValidator,org.forgerock.oauth2.core.ClientRedirectUriValidator\",\"org.forgerock.openam.core.sms.placeholder_api_enabled\":\"OFF\",\"org.forgerock.openam.session.service.persistence.deleteAsynchronously\":true,\"org.forgerock.openam.ldap.heartbeat.timeout\":\"10\",\"com.iplanet.security.SSLSocketFactoryImpl\":\"com.sun.identity.shared.ldap.factory.JSSESocketFactory\",\"com.sun.identity.session.repository.enableAttributeCompression\":false,\"org.forgerock.openam.httpclienthandler.system.nonProxyHosts\":\"localhost,127.*,[::1],0.0.0.0,[::0]\",\"org.forgerock.am.auth.chains.authindexuser.strict\":true,\"org.forgerock.security.entitlement.enforce.realm\":true,\"org.forgerock.allow.http.client.debug\":false,\"org.forgerock.openam.auth.transactionauth.returnErrorOnAuthFailure\":false,\"org.forgerock.openam.httpclienthandler.system.clients.retry.failed.requests.enabled\":true,\"org.forgerock.openam.authLevel.excludeRequiredOrRequisite\":false,\"org.forgerock.openam.redirecturlvalidator.maxUrlLength\":\"2000\",\"org.forgerock.openam.secrets.special.user.secret.refresh.seconds\":\"900\",\"com.iplanet.am.session.agentSessionIdleTime\":\"1440\",\"org.forgerock.openam.idm.attribute.names.lower.case\":false,\"org.forgerock.openam.ldap.secure.protocol.version\":\"TLSv1.3,TLSv1.2\",\"com.sun.identity.server.fqdnMap[openam]\":\"openam\",\"com.sun.identity.authentication.special.users\":\"cn=dsameuser,ou=DSAME Users,%ROOT_SUFFIX%|cn=amService-UrlAccessAgent,ou=DSAME Users,%ROOT_SUFFIX%\",\"org.forgerock.openam.httpclienthandler.system.clients.reuse.connections.enabled\":true,\"com.sun.identity.plugin.configuration.class\":\"@CONFIGURATION_PROVIDER_CLASS@\",\"com.iplanet.am.buildDate\":\"2024-March-28 16:00\",\"org.forgerock.openam.console.autocomplete.enabled\":true,\"com.sun.identity.monitoring\":\"off\",\"org.forgerock.openidconnect.ssoprovider.maxcachesize\":\"5000\",\"org.forgerock.openam.httpclienthandler.system.clients.response.timeout\":\"10 seconds\",\"org.forgerock.openam.request.max.bytes.entity.size\":\"1048576\",\"openam.session.case.sensitive.uuid\":false,\"com.sun.identity.cookie.samesite\":\"off\",\"org.forgerock.openam.xui.user.session.validation.enabled\":true,\"com.sun.identity.authentication.multiple.tabs.used\":false,\"openam.auth.destroy_session_after_upgrade\":true,\"org.forgerock.openam.session.stateless.encryption.method\":\"A128CBC-HS256\",\"com.sun.identity.plugin.session.class\":\"@SESSION_PROVIDER_CLASS@\",\"com.sun.identity.authentication.setCookieToAllDomains\":true,\"com.sun.identity.server.fqdnMap[localhost]\":\"localhost\",\"com.sun.identity.server.fqdnMap[secondDNS]\":\"secondDNS\",\"org.forgerock.services.cts.store.reaper.enabled\":true,\"org.forgerock.openam.httpclienthandler.system.proxy.username\":\"\",\"com.sun.identity.auth.cookieName\":\"AMAuthCookie\",\"com.sun.embedded.sync.servers\":\"on\",\"com.iplanet.am.daemons\":\"securid\",\"com.iplanet.am.jssproxy.resolveIPAddress\":false,\"openam.oauth2.client.jwt.encryption.algorithm.allow.list\":\"RSA-OAEP,RSA-OAEP-256,ECDH-ES\",\"com.sun.identity.policy.resultsCacheResourceCap\":\"20\",\"org.forgerock.openam.slf4j.enableTraceInMessage\":false,\"com.iplanet.am.buildRevision\":\"89116d59a1ebe73ed1931dd3649adb7f217cd06b\",\"com.sun.identity.policy.resultsCacheMaxSize\":\"10000\",\"com.sun.identity.sm.cache.ttl.enable\":false,\"com.sun.identity.session.repository.enableCompression\":false,\"org.forgerock.openam.session.stateless.rsa.padding\":\"RSA-OAEP-256\",\"com.sun.identity.server.fqdnMap[dnsfirst]\":\"dnsfirst\",\"openam.forbidden.to.copy.request.headers\":\"connection\",\"org.forgerock.openam.notifications.agents.enabled\":true,\"com.iplanet.am.jssproxy.SSLTrustHostList\":\"\",\"org.forgerock.openam.devices.recovery.use_insecure_storage\":false,\"com.sun.identity.sm.cache.ttl\":\"30\",\"org.forgerock.openam.audit.identity.activity.events.blacklist\":\"AM-ACCESS-ATTEMPT,AM-IDENTITY-CHANGE,AM-GROUP-CHANGE\",\"org.forgerock.openam.smtp.system.connect.timeout\":\"10000\",\"org.forgerock.openam.encryption.key.iterations\":\"10000\",\"openam.cdm.default.charset\":\"UTF-8\",\"com.sun.identity.session.repository.enableEncryption\":false,\"org.forgerock.security.oauth2.enforce.sub.claim.uniqueness\":true,\"org.forgerock.services.default.store.min.connections\":\"\",\"com.sun.identity.password.deploymentDescriptor\":\"%SERVER_URI%\",\"com.sun.identity.monitoring.local.conn.server.url\":\"service:jmx:rmi://\",\"com.sun.identity.plugin.datastore.class.default\":\"@DATASTORE_PROVIDER_CLASS@\",\"com.iplanet.am.lbcookie.name\":\"amlbcookie\",\"org.forgerock.openam.audit.additionalSuccessStatusCodesEnabled\":true,\"openam.oauth2.client.jwt.unreasonable.lifetime.limit.minutes\":\"30\",\"org.forgerock.openam.httpclienthandler.system.proxy.enabled\":false,\"openam.retained.http.headers\":\"X-DSAMEVersion\"}" }, "cookies": [], "headers": [ @@ -8361,6 +8702,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1244705015\"" + }, { "name": "expires", "value": "0" @@ -8374,12 +8719,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8390,14 +8735,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.232Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:36.584Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -8405,11 +8750,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 5 } }, { - "_id": "fd4fcf8598b331acc953c22fb136578e", + "_id": "db874776b6ddc4cab171e9d5ad3a86be", "_order": 0, "cache": {}, "request": { @@ -8426,15 +8771,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8449,23 +8794,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/cts" }, "response": { - "bodySize": 13, + "bodySize": 793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 793, + "text": "{\"_id\":\"null/properties/cts\",\"_rev\":\"1418305797\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":\"default\",\"org.forgerock.services.cts.store.root.suffix\":\"\",\"org.forgerock.services.cts.store.max.connections\":\"100\",\"org.forgerock.services.cts.store.page.size\":\"0\",\"org.forgerock.services.cts.store.vlv.page.size\":\"1000\"},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":\"\",\"org.forgerock.services.cts.store.mtls.enabled\":\"\",\"org.forgerock.services.cts.store.starttls.enabled\":\"\",\"org.forgerock.services.cts.store.directory.name\":\"\",\"org.forgerock.services.cts.store.loginid\":\"\",\"org.forgerock.services.cts.store.password\":null,\"org.forgerock.services.cts.store.heartbeat\":\"10\"}}" }, "cookies": [], "headers": [ @@ -8497,6 +8837,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1418305797\"" + }, { "name": "expires", "value": "0" @@ -8511,11 +8855,11 @@ }, { "name": "content-length", - "value": "13" + "value": "793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8526,14 +8870,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.233Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:36.594Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -8541,11 +8885,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 7 } }, { - "_id": "b4511b714890cefdbbb02c19d8e3fef0", + "_id": "c93f015ddf74f429eced0549ef6aeafa", "_order": 0, "cache": {}, "request": { @@ -8562,15 +8906,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8585,18 +8929,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 559, + "headersSize": 597, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/directoryConfiguration" }, "response": { - "bodySize": 131, + "bodySize": 107, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 107, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Unrecognised server properties section directoryConfiguration\"}" }, "cookies": [], "headers": [ @@ -8628,10 +8972,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"436796111\"" - }, { "name": "expires", "value": "0" @@ -8646,11 +8986,11 @@ }, { "name": "content-length", - "value": "131" + "value": "107" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8661,14 +9001,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:35.233Z", - "time": 64, + "startedDateTime": "2024-11-06T16:35:36.605Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8676,11 +9016,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 6 } }, { - "_id": "3e2b17ebbb1d1bdefaeebfdf27d464c6", + "_id": "2d165ac1899dcae019eaa8fb6069be95", "_order": 0, "cache": {}, "request": { @@ -8697,15 +9037,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8720,18 +9060,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/general" }, "response": { - "bodySize": 210, + "bodySize": 596, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 210, - "text": "{\"_id\":\"\",\"_rev\":\"-1449091672\",\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" + "size": 596, + "text": "{\"_id\":\"null/properties/general\",\"_rev\":\"624352173\",\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":\"%BASE_DIR%\",\"com.iplanet.am.locale\":\"en_US\",\"com.sun.identity.client.notification.url\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"com.iplanet.am.util.xml.validating\":\"off\"},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":\"off\",\"com.sun.services.debug.mergeall\":\"on\",\"com.iplanet.services.debug.directory\":\"%BASE_DIR%/var/debug\"},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":\"localhost\",\"com.iplanet.am.smtpport\":\"25\"}}" }, "cookies": [], "headers": [ @@ -8765,7 +9105,7 @@ }, { "name": "etag", - "value": "\"-1449091672\"" + "value": "\"624352173\"" }, { "name": "expires", @@ -8781,11 +9121,11 @@ }, { "name": "content-length", - "value": "210" + "value": "596" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8796,14 +9136,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.234Z", - "time": 45, + "startedDateTime": "2024-11-06T16:35:36.656Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -8811,11 +9151,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 7 } }, { - "_id": "6380d20e535bf6bdc7586dc857494067", + "_id": "341075ec107a360d509c9417c6af2818", "_order": 0, "cache": {}, "request": { @@ -8832,15 +9172,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8855,23 +9195,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/sdk" }, "response": { - "bodySize": 797, + "bodySize": 960, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 797, - "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + "size": 960, + "text": "{\"_id\":\"null/properties/sdk\",\"_rev\":\"600922831\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":false,\"com.sun.identity.sm.notification.threadpool.size\":\"1\"},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":\"3\",\"com.iplanet.am.event.connection.delay.between.retries\":\"3000\",\"com.iplanet.am.event.connection.ldap.error.codes.retries\":\"80,81,91\",\"com.sun.am.event.connection.disable.list\":\"aci,um,sm\"},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":\"3\",\"com.iplanet.am.ldap.connection.delay.between.retries\":\"1000\",\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":\"80,81,91\"},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":\"10000\"},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":false,\"com.iplanet.am.sdk.cache.entry.user.expire.time\":\"15\",\"com.iplanet.am.sdk.cache.entry.default.expire.time\":\"30\"}}" }, "cookies": [], "headers": [ @@ -8903,6 +9238,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"600922831\"" + }, { "name": "expires", "value": "0" @@ -8917,11 +9256,11 @@ }, { "name": "content-length", - "value": "797" + "value": "960" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -8932,14 +9271,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.234Z", - "time": 68, + "startedDateTime": "2024-11-06T16:35:36.668Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -8947,11 +9286,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 7 } }, { - "_id": "871d773960955014a30ab316e7e64a9b", + "_id": "c1517199158e2db3b6509ac8d51ad7fc", "_order": 0, "cache": {}, "request": { @@ -8968,15 +9307,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8991,23 +9330,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 583, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/security" }, "response": { - "bodySize": 13, + "bodySize": 3190, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3190, + "text": "{\"_id\":\"null/properties/security\",\"_rev\":\"1306238875\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":\"@AM_ENC_PWD@\",\"com.iplanet.security.encryptor\":\"com.iplanet.services.util.JCEEncryption\",\"com.iplanet.security.SecureRandomFactoryImpl\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"am.encryption.secret.enabled\":false,\"am.encryption.secret.keystoreType\":\"JCEKS\"},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":\"16384\",\"com.iplanet.am.clientIPCheckEnabled\":false},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":\"iPlanetDirectoryPro\",\"com.iplanet.am.cookie.secure\":false,\"com.iplanet.am.cookie.encode\":false},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"com.sun.identity.saml.xmlsig.storetype\":\"JCEKS\",\"com.sun.identity.saml.xmlsig.storepass\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"com.sun.identity.saml.xmlsig.keypass\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"com.sun.identity.saml.xmlsig.certalias\":\"test\"},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":\"\",\"com.sun.identity.crl.cache.directory.port\":\"\",\"com.sun.identity.crl.cache.directory.ssl\":false,\"com.sun.identity.crl.cache.directory.mtlsenabled\":false,\"com.sun.identity.crl.cache.directory.user\":\"\",\"com.sun.identity.crl.cache.directory.password\":null,\"com.sun.identity.crl.cache.directory.searchlocs\":\"\",\"com.sun.identity.crl.cache.directory.searchattr\":\"\"},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":false,\"com.sun.identity.authentication.ocsp.responder.url\":\"\",\"com.sun.identity.authentication.ocsp.responder.nickname\":\"\"},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\"}}" }, "cookies": [], "headers": [ @@ -9039,6 +9373,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1306238875\"" + }, { "name": "expires", "value": "0" @@ -9053,11 +9391,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3190" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9068,14 +9406,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.235Z", - "time": 66, + "startedDateTime": "2024-11-06T16:35:36.679Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -9083,11 +9421,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 9 } }, { - "_id": "a0d810781428518d1cf0ff2225e15208", + "_id": "f25f59cd8c87b00fe97dc737bae572a7", "_order": 0, "cache": {}, "request": { @@ -9104,15 +9442,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9127,18 +9465,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 573, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/session" }, "response": { - "bodySize": 160, + "bodySize": 673, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 160, - "text": "{\"_id\":\"\",\"_rev\":\"646894732\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 673, + "text": "{\"_id\":\"null/properties/session\",\"_rev\":\"910402684\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":\"5000\",\"com.iplanet.am.session.invalidsessionmaxtime\":\"3\"},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":\"60\",\"com.iplanet.services.stats.state\":\"file\",\"com.iplanet.services.stats.directory\":\"%BASE_DIR%/var/stats\",\"com.sun.am.session.enableHostLookUp\":false},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":\"10\",\"com.iplanet.am.notification.threadpool.threshold\":\"5000\"},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":true}}" }, "cookies": [], "headers": [ @@ -9172,7 +9510,7 @@ }, { "name": "etag", - "value": "\"646894732\"" + "value": "\"910402684\"" }, { "name": "expires", @@ -9188,11 +9526,11 @@ }, { "name": "content-length", - "value": "160" + "value": "673" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9209,8 +9547,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.236Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:36.694Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9218,11 +9556,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 6 } }, { - "_id": "c0b6297f4137d115573ac570b1248d3c", + "_id": "040321953539e88019711b33160bb408", "_order": 0, "cache": {}, "request": { @@ -9239,15 +9577,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9262,23 +9600,167 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 578, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/uma" + }, + "response": { + "bodySize": 3044, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3044, + "text": "{\"_id\":\"null/properties/uma\",\"_rev\":\"1622756862\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":\"default\",\"org.forgerock.services.resourcesets.store.root.suffix\":\"\",\"org.forgerock.services.resourcesets.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":\"\",\"org.forgerock.services.resourcesets.store.mtls.enabled\":\"\",\"org.forgerock.services.resourcesets.store.starttls.enabled\":\"\",\"org.forgerock.services.resourcesets.store.directory.name\":\"\",\"org.forgerock.services.resourcesets.store.loginid\":\"\",\"org.forgerock.services.resourcesets.store.password\":null,\"org.forgerock.services.resourcesets.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":\"default\",\"org.forgerock.services.umaaudit.store.root.suffix\":\"\",\"org.forgerock.services.umaaudit.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":\"\",\"org.forgerock.services.umaaudit.store.mtls.enabled\":\"\",\"org.forgerock.services.umaaudit.store.starttls.enabled\":\"\",\"org.forgerock.services.umaaudit.store.directory.name\":\"\",\"org.forgerock.services.umaaudit.store.loginid\":\"\",\"org.forgerock.services.umaaudit.store.password\":null,\"org.forgerock.services.umaaudit.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":\"default\",\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":\"\",\"org.forgerock.services.uma.pendingrequests.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.directory.name\":\"\",\"org.forgerock.services.uma.pendingrequests.store.loginid\":\"\",\"org.forgerock.services.uma.pendingrequests.store.password\":null,\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":\"default\",\"org.forgerock.services.uma.labels.store.root.suffix\":\"\",\"org.forgerock.services.uma.labels.store.max.connections\":\"2\"},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":\"\",\"org.forgerock.services.uma.labels.store.mtls.enabled\":\"\",\"org.forgerock.services.uma.labels.store.starttls.enabled\":\"\",\"org.forgerock.services.uma.labels.store.directory.name\":\"\",\"org.forgerock.services.uma.labels.store.loginid\":\"\",\"org.forgerock.services.uma.labels.store.password\":null,\"org.forgerock.services.uma.labels.store.heartbeat\":\"10\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1622756862\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3044" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:36 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:36.705Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "1a5863470a1ab2fa84422ade3f6422f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 107, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -9324,11 +9806,11 @@ }, { "name": "content-length", - "value": "13" + "value": "107" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9339,14 +9821,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.236Z", - "time": 64, + "startedDateTime": "2024-11-06T16:35:36.718Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9354,11 +9836,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 6 } }, { - "_id": "94fcb9a483ac462f0735765d2b5fedd2", + "_id": "19457f41bdd07bd5b8952336c527d39e", "_order": 0, "cache": {}, "request": { @@ -9375,15 +9857,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9398,18 +9880,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication" }, "response": { - "bodySize": 532, + "bodySize": 3971, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 532, - "text": "{\"_id\":\"\",\"_rev\":\"-1117800721\",\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" + "size": 3971, + "text": "{\"_id\":\"\",\"_rev\":\"-524457684\",\"keepPostProcessInstances\":false,\"ldapConnectionPoolSize\":[],\"ldapConnectionPoolDefaultSize\":\"1:10\",\"remoteAuthSecurityEnabled\":false,\"authenticators\":[\"com.sun.identity.authentication.modules.ad.AD\",\"org.forgerock.openam.authentication.modules.saml2.SAML2\",\"org.forgerock.openam.authentication.modules.social.SocialAuthInstagram\",\"org.forgerock.openam.authentication.modules.oath.OATH\",\"org.forgerock.openam.authentication.modules.social.SocialAuthVK\",\"com.sun.identity.authentication.modules.membership.Membership\",\"com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave\",\"com.sun.identity.authentication.modules.federation.Federation\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch\",\"com.sun.identity.authentication.modules.jdbc.JDBC\",\"com.sun.identity.authentication.modules.radius.RADIUS\",\"com.sun.identity.authentication.modules.anonymous.Anonymous\",\"com.sun.identity.authentication.modules.cert.Cert\",\"org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration\",\"com.sun.identity.authentication.modules.httpbasic.HTTPBasic\",\"org.forgerock.openam.authentication.modules.oidc.OpenIdConnect\",\"com.sun.identity.authentication.modules.sae.SAE\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChat\",\"org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie\",\"org.forgerock.openam.authentication.modules.social.SocialAuthTwitter\",\"com.sun.identity.authentication.modules.ldap.LDAP\",\"org.forgerock.openam.authentication.modules.push.AuthenticatorPush\",\"org.forgerock.openam.authentication.modules.oauth2.OAuth\",\"com.sun.identity.authentication.modules.nt.NT\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile\",\"org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession\",\"com.sun.identity.authentication.modules.application.Application\",\"org.forgerock.openam.authentication.modules.scripted.Scripted\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2\",\"com.sun.identity.authentication.modules.hotp.HOTP\",\"org.forgerock.openam.authentication.modules.adaptive.Adaptive\",\"org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOpenID\",\"com.sun.identity.authentication.modules.msisdn.MSISDN\",\"org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH\",\"com.sun.identity.authentication.modules.datastore.DataStore\",\"com.sun.identity.authentication.modules.securid.SecurID\",\"org.forgerock.openam.authentication.modules.amster.Amster\"],\"defaults\":{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"core\":{\"adminAuthModule\":\"[Empty]\",\"orgConfig\":\"[Empty]\"},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[]}},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -9443,7 +9925,7 @@ }, { "name": "etag", - "value": "\"-1117800721\"" + "value": "\"-524457684\"" }, { "name": "expires", @@ -9459,11 +9941,11 @@ }, { "name": "content-length", - "value": "532" + "value": "3971" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9480,8 +9962,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.237Z", - "time": 40, + "startedDateTime": "2024-11-06T16:35:36.731Z", + "time": 24, "timings": { "blocked": -1, "connect": -1, @@ -9489,11 +9971,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 40 + "wait": 24 } }, { - "_id": "054212a4f9e5244cf886befe5ccfc5db", + "_id": "16d632c4e98c9799fb70d4bccb25689b", "_order": 0, "cache": {}, "request": { @@ -9510,11 +9992,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -9533,18 +10015,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 553, + "headersSize": 586, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts?_queryFilter=true" }, "response": { - "bodySize": 703, + "bodySize": 3649, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 703, - "text": "{\"_id\":\"\",\"_rev\":\"-401765880\",\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}}" + "size": 3649, + "text": "{\"result\":[{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"_rev\":\"174804341\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"_rev\":\"53221913\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"_rev\":\"205440228\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"CONFIG_PROVIDER_NODE\",\"_rev\":\"726117364\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"LIBRARY\",\"_rev\":\"-1014751146\",\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"_rev\":\"479572448\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"_rev\":\"1681578003\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"_rev\":\"-217903654\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_MAY_ACT\",\"_rev\":\"1563659557\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"_rev\":\"-202793511\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"_rev\":\"509150550\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OIDC_CLAIMS\",\"_rev\":\"1421470992\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"POLICY_CONDITION\",\"_rev\":\"931675236\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ADAPTER\",\"_rev\":\"-422764199\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"_rev\":\"-1478330973\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_SP_ADAPTER\",\"_rev\":\"1169311323\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"_rev\":\"650762075\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -9562,7 +10049,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -9576,10 +10063,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-401765880\"" - }, { "name": "expires", "value": "0" @@ -9594,11 +10077,11 @@ }, { "name": "content-length", - "value": "703" + "value": "3649" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9609,14 +10092,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.238Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:36.772Z", + "time": 19, "timings": { "blocked": -1, "connect": -1, @@ -9624,11 +10107,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 19 } }, { - "_id": "98b5fc8fededd470eda67098a115b5a1", + "_id": "f7638b04cf78292c6bbda9d8d2a62fa4", "_order": 0, "cache": {}, "request": { @@ -9645,11 +10128,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -9668,23 +10151,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 615, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_CLIENT_SIDE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 55, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 55, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Not Found\"}" }, "cookies": [], "headers": [ @@ -9730,11 +10208,11 @@ }, { "name": "content-length", - "value": "13" + "value": "55" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9748,11 +10226,11 @@ "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:35.238Z", - "time": 63, + "startedDateTime": "2024-11-06T16:35:36.795Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9760,11 +10238,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 6 } }, { - "_id": "118fe29414bfcf218c9c225007cda660", + "_id": "3e997bea8b917eb8667357e8fe763ccd", "_order": 0, "cache": {}, "request": { @@ -9781,11 +10259,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -9804,18 +10282,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_CLIENT_SIDE" }, "response": { - "bodySize": 221, + "bodySize": 112, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"\",\"_rev\":\"-77106074\",\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}}" + "size": 112, + "text": "{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"allowLists\":{},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -9847,10 +10325,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-77106074\"" - }, { "name": "expires", "value": "0" @@ -9865,11 +10339,11 @@ }, { "name": "content-length", - "value": "221" + "value": "112" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -9880,14 +10354,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.239Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:36.807Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -9895,11 +10369,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 7 } }, { - "_id": "db5cbf0a88777f45b69914803ca46613", + "_id": "22e2b710e1c0e17e85fd0f4f08a4f9ee", "_order": 0, "cache": {}, "request": { @@ -9916,11 +10390,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -9939,23 +10413,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 615, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_SERVER_SIDE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2616, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2616, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1242010927\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -9987,6 +10456,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1242010927\"" + }, { "name": "expires", "value": "0" @@ -10001,11 +10474,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2616" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10016,14 +10489,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.239Z", - "time": 67, + "startedDateTime": "2024-11-06T16:35:36.819Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -10031,11 +10504,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 5 } }, { - "_id": "46dbb3e41f5cca4424133bad967f8588", + "_id": "6f61f37b8b74589b0ecaafbbaf33f222", "_order": 0, "cache": {}, "request": { @@ -10052,11 +10525,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10075,23 +10548,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 562, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_SERVER_SIDE" }, "response": { - "bodySize": 13, + "bodySize": 4585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4585, + "text": "{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"allowLists\":{\"1.0\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -10137,11 +10605,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4585" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10152,14 +10620,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.240Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:36.828Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -10167,11 +10635,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 4 } }, { - "_id": "2d6f6519950a4f89e1231a6584b08b17", + "_id": "97c6692450070ff53fc332483aed0a48", "_order": 0, "cache": {}, "request": { @@ -10188,11 +10656,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10211,23 +10679,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 622, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_TREE_DECISION_NODE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 4951, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4951, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1438338842\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10259,6 +10722,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1438338842\"" + }, { "name": "expires", "value": "0" @@ -10273,11 +10740,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4951" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10288,14 +10755,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.241Z", - "time": 42, + "startedDateTime": "2024-11-06T16:35:36.837Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -10303,11 +10770,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 42 + "wait": 7 } }, { - "_id": "666bbf74cef6d480f38a85a433d6fb13", + "_id": "fe16ad9a5f96bacfb05a37d2435148d8", "_order": 0, "cache": {}, "request": { @@ -10324,11 +10791,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10351,14 +10818,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_TREE_DECISION_NODE" }, "response": { - "bodySize": 289, + "bodySize": 6542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 289, - "text": "{\"_id\":\"\",\"_rev\":\"264274185\",\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}}" + "size": 6542, + "text": "{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"org.forgerock.util.promise.Promises$*\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\",\"2.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -10390,10 +10857,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"264274185\"" - }, { "name": "expires", "value": "0" @@ -10408,11 +10871,11 @@ }, { "name": "content-length", - "value": "289" + "value": "6542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10423,14 +10886,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.241Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:36.850Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -10438,11 +10901,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 4 } }, { - "_id": "b6a2ca29b40c72e5615f444f96d44536", + "_id": "efd20541787ffcba94886234e641beae", "_order": 0, "cache": {}, "request": { @@ -10459,11 +10922,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10482,18 +10945,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 609, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/CONFIG_PROVIDER_NODE/engineConfiguration" }, "response": { - "bodySize": 158, + "bodySize": 4951, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 158, - "text": "{\"_id\":\"\",\"_rev\":\"-1844260382\",\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 4951, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1438338842\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10527,7 +10990,7 @@ }, { "name": "etag", - "value": "\"-1844260382\"" + "value": "\"-1438338842\"" }, { "name": "expires", @@ -10543,11 +11006,11 @@ }, { "name": "content-length", - "value": "158" + "value": "4951" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10558,14 +11021,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.242Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:36.858Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -10573,11 +11036,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 6 } }, { - "_id": "25ba1d71d0d0a758cf0fc87814e33305", + "_id": "99a0ec3498522a2bfc17d616942919be", "_order": 0, "cache": {}, "request": { @@ -10594,11 +11057,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10617,23 +11080,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 556, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/CONFIG_PROVIDER_NODE" }, "response": { - "bodySize": 13, + "bodySize": 9249, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 9249, + "text": "{\"_id\":\"CONFIG_PROVIDER_NODE\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -10678,12 +11136,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10694,14 +11152,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.243Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:36.869Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -10709,11 +11167,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 3 } }, { - "_id": "08221c1ba5e9d241df0d31281cf428fd", + "_id": "3dce3e4e24a95ccf6ad25810df54461a", "_order": 0, "cache": {}, "request": { @@ -10730,11 +11188,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10753,18 +11211,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/LIBRARY/engineConfiguration" }, "response": { - "bodySize": 149, + "bodySize": 2338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 149, - "text": "{\"_id\":\"\",\"_rev\":\"-1375352311\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10798,7 +11256,7 @@ }, { "name": "etag", - "value": "\"-1375352311\"" + "value": "\"-2082742270\"" }, { "name": "expires", @@ -10814,11 +11272,11 @@ }, { "name": "content-length", - "value": "149" + "value": "2338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10829,14 +11287,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.243Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:36.877Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -10844,11 +11302,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 6 } }, { - "_id": "824ac842d846422b330604053d231372", + "_id": "7bb52c152803b2cb253731cd07069498", "_order": 0, "cache": {}, "request": { @@ -10865,11 +11323,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10888,18 +11346,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 543, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/LIBRARY" }, "response": { - "bodySize": 269, + "bodySize": 2068, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 269, - "text": "{\"_id\":\"\",\"_rev\":\"-1519962359\",\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 2068, + "text": "{\"_id\":\"LIBRARY\",\"allowLists\":{\"1.0\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\",\"jdk.proxy*\"],\"2.0\":[\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" }, "cookies": [], "headers": [ @@ -10931,10 +11389,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1519962359\"" - }, { "name": "expires", "value": "0" @@ -10949,11 +11403,11 @@ }, { "name": "content-length", - "value": "269" + "value": "2068" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -10964,14 +11418,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.244Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:36.888Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -10979,11 +11433,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 3 } }, { - "_id": "6d502387369dca8362490c18ad2fea27", + "_id": "12e93dbaa6441873c248d1e3ce9d0c9a", "_order": 0, "cache": {}, "request": { @@ -11000,11 +11454,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11023,23 +11477,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 621, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 3292, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3292, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1760532983\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11071,6 +11520,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1760532983\"" + }, { "name": "expires", "value": "0" @@ -11085,11 +11538,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3292" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11100,14 +11553,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.244Z", - "time": 58, + "startedDateTime": "2024-11-06T16:35:36.895Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -11115,11 +11568,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 6 } }, { - "_id": "dff6ae73d1f57c4056922e398d7c4868", + "_id": "22c0a0bf531d2a8b3200bc65fe8d5320", "_order": 0, "cache": {}, "request": { @@ -11136,11 +11589,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11159,23 +11612,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 568, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION" }, "response": { - "bodySize": 13, + "bodySize": 5945, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 5945, + "text": "{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11221,11 +11669,11 @@ }, { "name": "content-length", - "value": "13" + "value": "5945" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11236,14 +11684,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.245Z", - "time": 59, + "startedDateTime": "2024-11-06T16:35:36.905Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11251,11 +11699,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 3 } }, { - "_id": "71cd40ac77e59b1ece5c4fca0f3d191a", + "_id": "590496941437141af4df07b280849bac", "_order": 0, "cache": {}, "request": { @@ -11272,11 +11720,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11295,23 +11743,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 628, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2761, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2761, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-151612412\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11343,6 +11786,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-151612412\"" + }, { "name": "expires", "value": "0" @@ -11357,11 +11804,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2761" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11372,14 +11819,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.246Z", - "time": 61, + "startedDateTime": "2024-11-06T16:35:36.912Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -11387,11 +11834,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 6 } }, { - "_id": "184da6965f916475471a348d602e72f0", + "_id": "24c859a64a8f946085cf4de6bd249e1c", "_order": 0, "cache": {}, "request": { @@ -11408,11 +11855,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11431,18 +11878,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 575, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER" }, "response": { - "bodySize": 223, + "bodySize": 4890, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"\",\"_rev\":\"-1376583802\",\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" + "size": 4890, + "text": "{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11474,10 +11921,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1376583802\"" - }, { "name": "expires", "value": "0" @@ -11492,11 +11935,11 @@ }, { "name": "content-length", - "value": "223" + "value": "4890" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11507,14 +11950,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.246Z", - "time": 62, + "startedDateTime": "2024-11-06T16:35:36.922Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -11522,11 +11965,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 2 } }, { - "_id": "0f0d0a4b453852d74dd95eb75158145d", + "_id": "bb40284b4bb08a6ca96f9fd3dda516f5", "_order": 0, "cache": {}, "request": { @@ -11543,11 +11986,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11566,23 +12009,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_EVALUATE_SCOPE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 3292, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3292, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1760532983\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11614,6 +12052,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1760532983\"" + }, { "name": "expires", "value": "0" @@ -11628,11 +12070,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3292" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11643,14 +12085,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.247Z", - "time": 61, + "startedDateTime": "2024-11-06T16:35:36.928Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -11658,11 +12100,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 7 } }, { - "_id": "aa8d0efd6027cf434cdf7717533d5129", + "_id": "bd7f598dcb6148d7aca49853ca1ce273", "_order": 0, "cache": {}, "request": { @@ -11679,11 +12121,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11702,18 +12144,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_EVALUATE_SCOPE" }, "response": { - "bodySize": 154, + "bodySize": 5934, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 154, - "text": "{\"_id\":\"\",\"_rev\":\"952091551\",\"defaults\":{\"timeToLive\":\"180\"},\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" + "size": 5934, + "text": "{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11745,10 +12187,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"952091551\"" - }, { "name": "expires", "value": "0" @@ -11763,11 +12201,11 @@ }, { "name": "content-length", - "value": "154" + "value": "5934" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11778,14 +12216,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.247Z", - "time": 62, + "startedDateTime": "2024-11-06T16:35:36.939Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -11793,11 +12231,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 4 } }, { - "_id": "906eb3085924f249274ad9bf9413de4f", + "_id": "a03cd05f5ad4ec4f08036a755cf2c5c5", "_order": 0, "cache": {}, "request": { @@ -11814,11 +12252,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11837,18 +12275,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_MAY_ACT/engineConfiguration" }, "response": { - "bodySize": 115, + "bodySize": 3400, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 115, - "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + "size": 3400, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"738425546\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11882,7 +12320,7 @@ }, { "name": "etag", - "value": "\"515901845\"" + "value": "\"738425546\"" }, { "name": "expires", @@ -11898,11 +12336,11 @@ }, { "name": "content-length", - "value": "115" + "value": "3400" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -11913,14 +12351,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.248Z", - "time": 59, + "startedDateTime": "2024-11-06T16:35:36.948Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -11928,11 +12366,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 5 } }, { - "_id": "4cb14745eb57c6e8f52b8c1c55244d88", + "_id": "ce0d7115970cb5402748ade1eeb37f45", "_order": 0, "cache": {}, "request": { @@ -11949,11 +12387,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11972,18 +12410,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 550, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_MAY_ACT" }, "response": { - "bodySize": 218, + "bodySize": 6145, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 218, - "text": "{\"_id\":\"\",\"_rev\":\"-407983627\",\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" + "size": 6145, + "text": "{\"_id\":\"OAUTH2_MAY_ACT\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12015,10 +12453,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-407983627\"" - }, { "name": "expires", "value": "0" @@ -12033,11 +12467,11 @@ }, { "name": "content-length", - "value": "218" + "value": "6145" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12048,14 +12482,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.249Z", - "time": 60, + "startedDateTime": "2024-11-06T16:35:36.957Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -12063,11 +12497,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 5 } }, { - "_id": "b1c6a0d5b2c3fa4321123ce891a0b536", + "_id": "5ad4e420ba12c60b636f93e30334f26a", "_order": 0, "cache": {}, "request": { @@ -12084,11 +12518,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12107,23 +12541,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 615, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_SCRIPTED_JWT_ISSUER/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2812, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2812, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1296464777\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12155,6 +12584,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1296464777\"" + }, { "name": "expires", "value": "0" @@ -12169,11 +12602,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2812" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12184,14 +12617,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.249Z", - "time": 61, + "startedDateTime": "2024-11-06T16:35:36.966Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -12199,11 +12632,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 6 } }, { - "_id": "567afac7b64fac9fc44eee1ee3f9629f", + "_id": "31af9d67174577cf242857693b9cbe1c", "_order": 0, "cache": {}, "request": { @@ -12220,11 +12653,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12243,23 +12676,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 562, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_SCRIPTED_JWT_ISSUER" }, "response": { - "bodySize": 13, + "bodySize": 4979, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4979, + "text": "{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12305,11 +12733,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4979" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12320,14 +12748,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.250Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:36.976Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -12335,11 +12763,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 4 } }, { - "_id": "48812618994142d904f197bd7436cfd6", + "_id": "9b4112f8137e969f5052f0b6acee7308", "_order": 0, "cache": {}, "request": { @@ -12356,11 +12784,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12379,18 +12807,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 610, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_VALIDATE_SCOPE/engineConfiguration" }, "response": { - "bodySize": 163, + "bodySize": 2733, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 163, - "text": "{\"_id\":\"\",\"_rev\":\"2076588921\",\"enabled\":true,\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}" + "size": 2733, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-171597141\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12424,7 +12852,7 @@ }, { "name": "etag", - "value": "\"2076588921\"" + "value": "\"-171597141\"" }, { "name": "expires", @@ -12440,29 +12868,25 @@ }, { "name": "content-length", - "value": "163" + "value": "2733" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "connection", - "value": "keep-alive" + "value": "close" } ], - "headersSize": 485, + "headersSize": 457, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.251Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:36.985Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -12470,11 +12894,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 6 } }, { - "_id": "c1ff5d9924add9877b5de2aae1899253", + "_id": "2a48a27ee9e372bfa709ca69089311e7", "_order": 0, "cache": {}, "request": { @@ -12491,11 +12915,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12514,23 +12938,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 557, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_VALIDATE_SCOPE" }, "response": { - "bodySize": 201, + "bodySize": 4816, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 201, - "text": "{\"result\":[{\"disallowedSecretNamePatterns\":[],\"allowedRealms\":[\"*\"],\"allowedSecretNamePatterns\":[\"*\"],\"_id\":\"default\",\"_type\":{\"_id\":\"serviceAccounts\",\"name\":\"GCP Service Account\",\"collection\":true}}]}" + "size": 4816, + "text": "{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12576,11 +12995,11 @@ }, { "name": "content-length", - "value": "201" + "value": "4816" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12591,14 +13010,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.251Z", - "time": 59, + "startedDateTime": "2024-11-06T16:35:36.999Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -12606,11 +13025,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 4 } }, { - "_id": "eb697468085abfef6b608e5d514d9750", + "_id": "00693c5092c49c926187999dbbd86813", "_order": 0, "cache": {}, "request": { @@ -12627,11 +13046,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12650,23 +13069,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 600, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/realms/?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OIDC_CLAIMS/engineConfiguration" }, "response": { - "bodySize": 540, + "bodySize": 3099, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 540, - "text": "{\"result\":[{\"_id\":\"Lw\",\"_rev\":\"492331277\",\"parentPath\":null,\"active\":true,\"name\":\"/\",\"aliases\":[\"localhost\",\"openam-frodo-dev.classic.com\",\"openam\",\"testurl.com\"]},{\"_id\":\"L2ZpcnN0\",\"_rev\":\"1051737267\",\"parentPath\":\"/\",\"active\":true,\"name\":\"first\",\"aliases\":[\"one\",\"dnsfirst\"]},{\"_id\":\"L2ZpcnN0L3NlY29uZA\",\"_rev\":\"-1167290418\",\"parentPath\":\"/first\",\"active\":false,\"name\":\"second\",\"aliases\":[\"secondDNS\",\"second\"]}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 3099, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1974522490\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12684,7 +13098,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -12698,6 +13112,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1974522490\"" + }, { "name": "expires", "value": "0" @@ -12712,11 +13130,11 @@ }, { "name": "content-length", - "value": "540" + "value": "3099" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12727,14 +13145,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.321Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.010Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -12742,11 +13160,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 6 } }, { - "_id": "d6b1ddcc1a60b3acba7ba0383d6c2f61", + "_id": "92911d4ed1389c93cda6eed7f9c407dd", "_order": 0, "cache": {}, "request": { @@ -12763,15 +13181,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -12786,23 +13204,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 575, + "headersSize": 547, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OIDC_CLAIMS" }, "response": { - "bodySize": 275, + "bodySize": 5536, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"result\":[{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-419353115\",\"entityId\":\"Test Entity\",\"location\":\"hosted\",\"roles\":[\"identityProvider\",\"serviceProvider\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 5536, + "text": "{\"_id\":\"OIDC_CLAIMS\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12820,7 +13233,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -12848,11 +13261,11 @@ }, { "name": "content-length", - "value": "275" + "value": "5536" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -12863,14 +13276,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.331Z", - "time": 59, + "startedDateTime": "2024-11-06T16:35:37.020Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -12878,11 +13291,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 4 } }, { - "_id": "b7f90fbbb1bc9e5b328ec4bc16a64c91", + "_id": "23cbbdb7b73975aea63de01780c01d9d", "_order": 0, "cache": {}, "request": { @@ -12899,15 +13312,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -12922,18 +13335,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 605, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2/hosted/VGVzdCBFbnRpdHk" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/POLICY_CONDITION/engineConfiguration" }, "response": { - "bodySize": 7102, + "bodySize": 2338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7102, - "text": "{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-1034855459\",\"entityId\":\"Test Entity\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\",\"binary\":false}]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}]},\"assertionTime\":{\"notBeforeTimeSkew\":600,\"effectiveTime\":600},\"basicAuthentication\":{},\"assertionCache\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"localConfiguration\":{}},\"services\":{\"metaAlias\":\"/test\",\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/ArtifactResolver/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPSloSoap/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPMniSoap/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SSORedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SSOPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SSOSoap/metaAlias/test\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/NIMSoap/metaAlias/test\"}],\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"http://localhost:8080/am/AIDReqUri/IDPRole/metaAlias/test\"}]},\"advanced\":{\"saeConfiguration\":{\"idpUrl\":\"http://localhost:8080/am/idpsaehandler/metaAlias/test\"},\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"sessionSynchronization\":{},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"}}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}]},\"autoFederation\":{},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{\"spAdapterScript\":\"[Empty]\"}},\"services\":{\"metaAlias\":\"/test2\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPSloSoap/metaAlias/test2\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"http://localhost:8080/am/Consumer/ECP/metaAlias/test2\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"http://localhost:8080/am/spsaehandler/metaAlias/test2\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1918867096\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"java.util.Collections$EmptyList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12967,7 +13380,7 @@ }, { "name": "etag", - "value": "\"-1034855459\"" + "value": "\"-1918867096\"" }, { "name": "expires", @@ -12983,11 +13396,11 @@ }, { "name": "content-length", - "value": "7102" + "value": "2338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13004,7 +13417,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.396Z", + "startedDateTime": "2024-11-06T16:35:37.028Z", "time": 6, "timings": { "blocked": -1, @@ -13017,7 +13430,7 @@ } }, { - "_id": "f413738e5b3c3d850a98db6d9acacf68", + "_id": "8f256e003690ecf23b0737799eb020af", "_order": 0, "cache": {}, "request": { @@ -13034,15 +13447,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13057,36 +13470,20 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 552, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "entityid", - "value": "Test Entity" - }, - { - "name": "realm", - "value": "/" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/saml2/jsp/exportmetadata.jsp?entityid=Test%20Entity&realm=%2F" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/POLICY_CONDITION" }, "response": { - "bodySize": 12743, + "bodySize": 2094, "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 12743, - "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + "mimeType": "application/json;charset=UTF-8", + "size": 2094, + "text": "{\"_id\":\"POLICY_CONDITION\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"java.util.Collections$EmptyList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, - "cookies": [ - { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "value": "" - } - ], + "cookies": [], "headers": [ { "name": "x-frame-options", @@ -13097,9 +13494,28 @@ "value": "nosniff" }, { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; HttpOnly" + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" }, { "name": "pragma", @@ -13107,15 +13523,15 @@ }, { "name": "content-type", - "value": "text/xml;charset=utf-8" + "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "2094" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13126,14 +13542,14 @@ "value": "keep-alive" } ], - "headersSize": 310, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.407Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.038Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -13141,11 +13557,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 4 } }, { - "_id": "16b4d6835311083e9a04b8f180be0624", + "_id": "71286e177e79c1a989b3702805f8c009", "_order": 0, "cache": {}, "request": { @@ -13162,15 +13578,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13185,23 +13601,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 606, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_IDP_ADAPTER/engineConfiguration" }, "response": { - "bodySize": 293, + "bodySize": 2713, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 293, - "text": "{\"result\":[{\"_id\":\"Test COT\",\"_rev\":\"-2140927674\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 2713, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1002380879\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13219,7 +13630,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13233,6 +13644,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1002380879\"" + }, { "name": "expires", "value": "0" @@ -13247,11 +13662,11 @@ }, { "name": "content-length", - "value": "293" + "value": "2713" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13262,13 +13677,13 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.419Z", + "startedDateTime": "2024-11-06T16:35:37.046Z", "time": 5, "timings": { "blocked": -1, @@ -13281,7 +13696,7 @@ } }, { - "_id": "17a7c6fbcaf476f8afc67b6596464df0", + "_id": "862833029718025dd904e559be261398", "_order": 0, "cache": {}, "request": { @@ -13298,15 +13713,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13321,23 +13736,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_IDP_ADAPTER" }, "response": { - "bodySize": 436, + "bodySize": 4177, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"result\":[{\"_id\":\"Test IG\",\"_rev\":\"2092403291\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"userpassword\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 4177, + "text": "{\"_id\":\"SAML2_IDP_ADAPTER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -13355,7 +13765,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13383,11 +13793,11 @@ }, { "name": "content-length", - "value": "436" + "value": "4177" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13398,14 +13808,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.430Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:37.056Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -13413,11 +13823,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "c599288e5350ec265059828409fafbfc", + "_id": "f0e10bb5cd39c51a3994dd291447a70e", "_order": 0, "cache": {}, "request": { @@ -13434,15 +13844,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13457,23 +13867,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_IDP_ATTRIBUTE_MAPPER/engineConfiguration" }, "response": { - "bodySize": 5425, + "bodySize": 2485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5425, - "text": "{\"result\":[{\"_id\":\"test java\",\"_rev\":\"-1966552764\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/test/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":\"Test Java Group\",\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/test/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 2485, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-311213213\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13491,7 +13896,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13505,6 +13910,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-311213213\"" + }, { "name": "expires", "value": "0" @@ -13519,11 +13928,11 @@ }, { "name": "content-length", - "value": "5425" + "value": "2485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13534,14 +13943,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.430Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.065Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -13549,11 +13958,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 7 } }, { - "_id": "89988287e6deabeb2a140b1645472c7a", + "_id": "fabfbfbaf4fffadeb8a7d9c0da109f00", "_order": 0, "cache": {}, "request": { @@ -13570,15 +13979,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13593,23 +14002,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/WebAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_IDP_ATTRIBUTE_MAPPER" }, "response": { - "bodySize": 3713, + "bodySize": 3776, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3713, - "text": "{\"result\":[{\"_id\":\"Test Web\",\"_rev\":\"899560106\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testurl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 3776, + "text": "{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -13627,7 +14031,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13655,11 +14059,11 @@ }, { "name": "content-length", - "value": "3713" + "value": "3776" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13670,13 +14074,13 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.431Z", + "startedDateTime": "2024-11-06T16:35:37.077Z", "time": 4, "timings": { "blocked": -1, @@ -13689,7 +14093,7 @@ } }, { - "_id": "6ffa07e8591b72f4066208a2dc37fe81", + "_id": "a7af4afa149197d4b0b61f96c84f2e24", "_order": 0, "cache": {}, "request": { @@ -13706,15 +14110,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13729,18 +14133,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 605, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_SP_ADAPTER/engineConfiguration" }, "response": { - "bodySize": 8380, + "bodySize": 2711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 2711, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"355020687\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13758,7 +14162,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13774,143 +14178,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 492, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.445Z", - "time": 4, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 4 - } - }, - { - "_id": "0be90d7b6e7dd4855d706b20e525f54a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 589, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Client?_queryFilter=true" - }, - "response": { - "bodySize": 3851, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3851, - "text": "{\"result\":[{\"_id\":\"test client\",\"_rev\":\"34495015\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "value": "\"355020687\"" }, { "name": "expires", @@ -13926,11 +14194,11 @@ }, { "name": "content-length", - "value": "3851" + "value": "2711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -13941,14 +14209,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.453Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.086Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -13956,11 +14224,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 6 } }, { - "_id": "011d22df4815560b84d2c34a13278ef2", + "_id": "da22bfbe9528062c4d8af75caeff40b0", "_order": 0, "cache": {}, "request": { @@ -13977,15 +14245,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14000,18 +14268,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 552, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_SP_ADAPTER" }, "response": { - "bodySize": 1278, + "bodySize": 4175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1278, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 4175, + "text": "{\"_id\":\"SAML2_SP_ADAPTER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -14029,7 +14297,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14043,10 +14311,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2141370265\"" - }, { "name": "expires", "value": "0" @@ -14061,11 +14325,11 @@ }, { "name": "content-length", - "value": "1278" + "value": "4175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14076,13 +14340,13 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.461Z", + "startedDateTime": "2024-11-06T16:35:37.096Z", "time": 4, "timings": { "blocked": -1, @@ -14095,11 +14359,11 @@ } }, { - "_id": "d6741a7ea4fcd850a94e70818d8bcaeb", + "_id": "76ada9408fab34c571f6960d4bd9343f", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -14112,24 +14376,20 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -14139,28 +14399,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 622, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2384, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"2050787268\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -14192,6 +14442,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2050787268\"" + }, { "name": "expires", "value": "0" @@ -14206,11 +14460,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14221,14 +14475,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.470Z", - "time": 16, + "startedDateTime": "2024-11-06T16:35:37.105Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -14236,11 +14490,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 16 + "wait": 5 } }, { - "_id": "0965f269fcda0ed0bd98dc281be677ad", + "_id": "281a264c858798a5c38b2f81bb611516", "_order": 0, "cache": {}, "request": { @@ -14257,15 +14511,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14280,23 +14534,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 552, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/policies?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION" }, "response": { - "bodySize": 743, + "bodySize": 4130, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 743, - "text": "{\"result\":[{\"_id\":\"Test Policy\",\"_rev\":\"1728509786771\",\"name\":\"Test Policy\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*?*\"],\"applicationName\":\"iPlanetAMWebAgentService\",\"actionValues\":{},\"subject\":{\"type\":\"AND\",\"subjects\":[{\"type\":\"NONE\"},{\"type\":\"Identity\",\"subjectValues\":[\"id=phales,ou=user,dc=openam,dc=forgerock,dc=org\"]}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":\"2024-10-09T21:36:26.771Z\",\"createdBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":\"2024-06-27T17:07:04.220Z\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 4130, + "text": "{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"allowLists\":{\"1.0\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -14314,7 +14563,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14342,11 +14591,11 @@ }, { "name": "content-length", - "value": "743" + "value": "4130" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14357,14 +14606,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.490Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:37.114Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -14372,11 +14621,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 3 } }, { - "_id": "e2667422f2152dbbb72d90e735b523c4", + "_id": "c6d303acc9dfe3da7b43bb1f201d83d1", "_order": 0, "cache": {}, "request": { @@ -14393,15 +14642,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14416,27 +14665,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores?_action=nextdescendents" }, "response": { - "bodySize": 1994, + "bodySize": 723, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1994, - "text": "{\"result\":[{\"name\":\"iPlanetAMWebAgentService\",\"displayName\":\"Default Policy Set\",\"description\":\"The built-in Application used by OpenAM Policy Agents.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"creationDate\":1718897366825,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786744,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"creationDate\":1718897366918,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786761,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 723, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}},{\"format\":\"BASE64\",\"_id\":\"EnvironmentAndSystemPropertySecretStore\",\"_type\":{\"_id\":\"EnvironmentAndSystemPropertySecretStore\",\"name\":\"Environment and System Property Secrets Store\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -14454,7 +14699,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14482,11 +14727,11 @@ }, { "name": "content-length", - "value": "1994" + "value": "723" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14497,14 +14742,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.505Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:37.122Z", + "time": 22, "timings": { "blocked": -1, "connect": -1, @@ -14512,11 +14757,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 22 } }, { - "_id": "cc4540aef38f68690fef36a5beb34aad", + "_id": "7b0a9b322d1263a64d7a14c13f9a91ec", "_order": 0, "cache": {}, "request": { @@ -14533,15 +14778,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14556,27 +14801,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 619, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, { "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" }, "response": { - "bodySize": 1031, + "bodySize": 9388, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1031, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1517161800564,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786611},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1422892465848,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786629}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 9388, + "text": "{\"result\":[{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES256\",\"_rev\":\"1192664276\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES384\",\"_rev\":\"288173840\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES512\",\"_rev\":\"-294942577\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.RSA\",\"_rev\":\"1911324886\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authentication.nodes.persistentcookie.encryption\",\"_rev\":\"-91845293\",\"secretId\":\"am.authentication.nodes.persistentcookie.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authn.authid.signing.HMAC\",\"_rev\":\"934473037\",\"secretId\":\"am.authn.authid.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authn.trees.transientstate.encryption\",\"_rev\":\"1917709756\",\"secretId\":\"am.authn.trees.transientstate.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.idp.encryption\",\"_rev\":\"1907232131\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.idp.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.idp.signing\",\"_rev\":\"1976286662\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.idp.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.sp.encryption\",\"_rev\":\"1974801991\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.sp.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.sp.signing\",\"_rev\":\"-86805022\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.sp.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.modules.persistentcookie.encryption\",\"_rev\":\"-239710853\",\"secretId\":\"am.default.authentication.modules.persistentcookie.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.modules.persistentcookie.signing\",\"_rev\":\"1188815885\",\"secretId\":\"am.default.authentication.modules.persistentcookie.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.nodes.persistentcookie.signing\",\"_rev\":\"986410257\",\"secretId\":\"am.default.authentication.nodes.persistentcookie.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.oauth2.oidc.agent.idtoken.signing\",\"_rev\":\"-122487018\",\"secretId\":\"am.global.services.oauth2.oidc.agent.idtoken.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.saml2.client.storage.jwt.encryption\",\"_rev\":\"2003184760\",\"secretId\":\"am.global.services.saml2.client.storage.jwt.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.session.clientbased.encryption.AES\",\"_rev\":\"599325994\",\"secretId\":\"am.global.services.session.clientbased.encryption.AES\",\"aliases\":[\"aestest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.session.clientbased.signing.HMAC\",\"_rev\":\"952853781\",\"secretId\":\"am.global.services.session.clientbased.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.iot.jwt.issuer.signing\",\"_rev\":\"-1095047595\",\"secretId\":\"am.services.iot.jwt.issuer.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.jwt.authenticity.signing\",\"_rev\":\"-1210340267\",\"secretId\":\"am.services.oauth2.jwt.authenticity.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA.OAEP\",\"_rev\":\"-75049409\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA.OAEP\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA.OAEP.256\",\"_rev\":\"-108687993\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA.OAEP.256\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA1.5\",\"_rev\":\"2073465911\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA1.5\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.rp.idtoken.encryption\",\"_rev\":\"2025247879\",\"secretId\":\"am.services.oauth2.oidc.rp.idtoken.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.rp.jwt.authenticity.signing\",\"_rev\":\"-152865330\",\"secretId\":\"am.services.oauth2.oidc.rp.jwt.authenticity.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES256\",\"_rev\":\"1010246364\",\"secretId\":\"am.services.oauth2.oidc.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES384\",\"_rev\":\"105751800\",\"secretId\":\"am.services.oauth2.oidc.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES512\",\"_rev\":\"-477362537\",\"secretId\":\"am.services.oauth2.oidc.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.RSA\",\"_rev\":\"2112649438\",\"secretId\":\"am.services.oauth2.oidc.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.request.encryption\",\"_rev\":\"1156224168\",\"secretId\":\"am.services.oauth2.remote.consent.request.encryption\",\"aliases\":[\"selfserviceenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.response.decryption\",\"_rev\":\"2022034763\",\"secretId\":\"am.services.oauth2.remote.consent.response.decryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.response.signing.RSA\",\"_rev\":\"-219924262\",\"secretId\":\"am.services.oauth2.remote.consent.response.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES256\",\"_rev\":\"1077337120\",\"secretId\":\"am.services.oauth2.stateless.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES384\",\"_rev\":\"172846524\",\"secretId\":\"am.services.oauth2.stateless.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES512\",\"_rev\":\"-410267929\",\"secretId\":\"am.services.oauth2.stateless.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.HMAC\",\"_rev\":\"-1093456131\",\"secretId\":\"am.services.oauth2.stateless.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.RSA\",\"_rev\":\"1960097294\",\"secretId\":\"am.services.oauth2.stateless.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.token.encryption\",\"_rev\":\"1900916088\",\"secretId\":\"am.services.oauth2.stateless.token.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.saml2.metadata.signing.RSA\",\"_rev\":\"2008235726\",\"secretId\":\"am.services.saml2.metadata.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.uma.pct.encryption\",\"_rev\":\"1883661748\",\"secretId\":\"am.services.uma.pct.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}}],\"resultCount\":40,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -14594,7 +14835,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -14621,12 +14862,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "1031" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14637,14 +14878,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.518Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.149Z", + "time": 33, "timings": { "blocked": -1, "connect": -1, @@ -14652,11 +14893,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 33 } }, { - "_id": "139b5e629e98bccba72c676d156cb3da", + "_id": "a849040f5abdab05d9c89abc330f4e11", "_order": 0, "cache": {}, "request": { @@ -14673,15 +14914,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14696,7 +14937,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 564, + "headersSize": 628, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -14705,14 +14946,14 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" }, "response": { - "bodySize": 198250, + "bodySize": 99, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 198250, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"description\":\"Test script description\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"description\":\"This is a test script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"name\":\"Legacy\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":41,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -14730,7 +14971,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14757,12 +14998,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "99" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14773,14 +15014,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:35.527Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:37.186Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -14788,11 +15029,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 4 } }, { - "_id": "4df62c6436b97a141e813d288a22f05f", + "_id": "eebc5f870cfc1afef69c42fafb3efd16", "_order": 0, "cache": {}, "request": { @@ -14809,15 +15050,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14832,23 +15073,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 662, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/EnvironmentAndSystemPropertySecretStore/EnvironmentAndSystemPropertySecretStore/mappings?_queryFilter=true" }, "response": { - "bodySize": 40637, + "bodySize": 115, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 40637, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Legacy\",\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"NextGeneration\",\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"Test script description\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"Test Script\",\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"This is a test script\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test script 2\",\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"validGotoDestinations\":[],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"timeToLive\":\"180\",\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}]}" + "size": 115, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'EnvironmentAndSystemPropertySecretStore/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -14866,7 +15107,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14893,12 +15134,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "115" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:36 GMT" }, { "name": "keep-alive", @@ -14909,14 +15150,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:35.543Z", - "time": 117, + "startedDateTime": "2024-11-06T16:35:37.196Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -14924,11 +15165,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 117 + "wait": 3 } }, { - "_id": "c835061aa51d2ff3a6c99a01dbd32adf", + "_id": "f7edea2a16a82469cfa9512da84a820a", "_order": 0, "cache": {}, "request": { @@ -14945,15 +15186,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14968,18 +15209,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 574, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services?_action=nextdescendents" }, "response": { - "bodySize": 346, + "bodySize": 28867, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 28867, + "text": "{\"result\":[{\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_id\":\"globalization\",\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}},{\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_id\":\"logging\",\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}},{\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_id\":\"naming\",\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}},{\"cookieDomains\":[],\"locale\":\"en_US\",\"_id\":\"platform\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}},{\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"requestHandlers\":[],\"_id\":\"federation/saml2soapbinding\",\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}},{\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_id\":\"federation/multi\",\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}},{\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_id\":\"federation/common\",\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}},{\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}},{\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_id\":\"androidKeyAttestation\",\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}},{\"defaultContext\":\"POLICY_CONDITION\",\"_id\":\"scripting\",\"_type\":{\"_id\":\"scripting\",\"name\":\"Scripting\",\"collection\":false}},{\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_id\":\"monitoring\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}},{\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_id\":\"idm-integration\",\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}},{\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_id\":\"saml2\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}},{\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_id\":\"rest\",\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_id\":\"uma\",\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}},{\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_id\":\"ConfigurationVersionService\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}},{\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_id\":\"RadiusServerService\",\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}},{\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"defaults\":{\"timeToLive\":\"180\"},\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"GoogleCloudServiceAccountService\",\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -14997,7 +15243,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15011,10 +15257,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1741783487\"" - }, { "name": "expires", "value": "0" @@ -15028,12 +15270,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "346" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15044,14 +15286,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.681Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:37.204Z", + "time": 125, "timings": { "blocked": -1, "connect": -1, @@ -15059,11 +15301,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 125 } }, { - "_id": "e4fd6226302163812f6c018d87dd9efa", + "_id": "f72fabd8fbe5156f0b7e3b99e0534b8f", "_order": 0, "cache": {}, "request": { @@ -15080,15 +15322,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15103,18 +15345,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories" }, "response": { - "bodySize": 708, + "bodySize": 359, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 359, + "text": "{\"_id\":\"\",\"_rev\":\"-1106014221\",\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15132,7 +15374,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15148,7 +15390,7 @@ }, { "name": "etag", - "value": "\"-52720779\"" + "value": "\"-1106014221\"" }, { "name": "expires", @@ -15164,11 +15406,11 @@ }, { "name": "content-length", - "value": "708" + "value": "359" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15179,14 +15421,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.682Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:37.359Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -15194,11 +15436,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 60 } }, { - "_id": "9e81d6d06efd3e1a30e471868f1aaaf1", + "_id": "c0a5f6a64ac0b5f920701298c5b6ca45", "_order": 0, "cache": {}, "request": { @@ -15215,15 +15457,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15238,7 +15480,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 590, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15247,14 +15489,14 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 5198, + "bodySize": 1558, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5198, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\",\"thingType\",\"thingKeys\",\"thingOAuth2ClientName\",\"thingConfig\",\"thingProperties\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\",\"fr-iot\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 1558, + "text": "{\"result\":[{\"_id\":\"agent\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentgroup\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentonly\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"filteredrole\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"group\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"realm\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"role\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"user\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"givenName\":\"amAdmin\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"amAdmin\",\"dn\":\"uid=amAdmin,ou=people,\",\"cn\":\"amAdmin\",\"_id\":\"amAdmin\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Inactive\",\"givenName\":\"anonymous\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"anonymous\",\"dn\":\"uid=anonymous,ou=people,\",\"cn\":\"anonymous\",\"_id\":\"anonymous\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"dn\":\"cn=dsameuser,ou=DSAME Users,\",\"_id\":\"dsameuser\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -15272,7 +15514,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15300,11 +15542,11 @@ }, { "name": "content-length", - "value": "5198" + "value": "1558" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15321,8 +15563,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.682Z", - "time": 44, + "startedDateTime": "2024-11-06T16:35:37.360Z", + "time": 145, "timings": { "blocked": -1, "connect": -1, @@ -15330,11 +15572,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 44 + "wait": 145 } }, { - "_id": "f1b420258e0746d54f4488097587a065", + "_id": "cdb17bfb6150d6d446734c1f95070d64", "_order": 0, "cache": {}, "request": { @@ -15351,15 +15593,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15374,7 +15616,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 605, + "headersSize": 588, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15383,7 +15625,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -15408,7 +15650,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15440,7 +15682,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15457,8 +15699,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.683Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:37.361Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -15466,11 +15708,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 65 } }, { - "_id": "1b47f205acecc513d99d5cd5304b99d5", + "_id": "b4d643d9dbff0a4f3368d4dcfe3586f8", "_order": 0, "cache": {}, "request": { @@ -15487,15 +15729,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15510,18 +15752,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 563, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization" }, "response": { - "bodySize": 127, + "bodySize": 709, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 127, - "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" + "size": 709, + "text": "{\"_id\":\"\",\"_rev\":\"770074612\",\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15539,7 +15781,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15555,7 +15797,7 @@ }, { "name": "etag", - "value": "\"1193526377\"" + "value": "\"770074612\"" }, { "name": "expires", @@ -15571,11 +15813,11 @@ }, { "name": "content-length", - "value": "127" + "value": "709" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15586,14 +15828,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.683Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:37.361Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -15601,11 +15843,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 65 } }, { - "_id": "e3979a5a68cef4cdea13543c717ab049", + "_id": "b4bd42e147d54913501b28c40eec17bb", "_order": 0, "cache": {}, "request": { @@ -15622,15 +15864,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15645,18 +15887,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 569, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging" }, "response": { - "bodySize": 561, + "bodySize": 899, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 561, - "text": "{\"_id\":\"\",\"_rev\":\"1761890425\",\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" + "size": 899, + "text": "{\"_id\":\"\",\"_rev\":\"1282484869\",\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15674,7 +15916,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15690,7 +15932,7 @@ }, { "name": "etag", - "value": "\"1761890425\"" + "value": "\"1282484869\"" }, { "name": "expires", @@ -15706,11 +15948,11 @@ }, { "name": "content-length", - "value": "561" + "value": "899" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15727,144 +15969,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.684Z", - "time": 41, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 41 - } - }, - { - "_id": "db0880f24df03e679ed43477e28edc52", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 590, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "13" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 464, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.684Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:37.362Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -15872,11 +15978,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 64 } }, { - "_id": "b8489f59b6efddbca5cfb0f4f96e05cb", + "_id": "43064d89e2802be220333e8c45f76ef0", "_order": 0, "cache": {}, "request": { @@ -15893,15 +15999,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15916,7 +16022,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15925,7 +16031,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -15950,7 +16056,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15982,7 +16088,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -15999,8 +16105,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.685Z", - "time": 40, + "startedDateTime": "2024-11-06T16:35:37.363Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -16008,11 +16114,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 40 + "wait": 61 } }, { - "_id": "d9656d86fe0a18485a2fcf0f25aa2f6f", + "_id": "8bcf7e69c1b5f4bae9e93b6c31ce1164", "_order": 0, "cache": {}, "request": { @@ -16029,15 +16135,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16052,18 +16158,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 568, + "headersSize": 556, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming" }, "response": { - "bodySize": 147, + "bodySize": 942, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 147, - "text": "{\"_id\":\"\",\"_rev\":\"-1480957299\",\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 942, + "text": "{\"_id\":\"\",\"_rev\":\"329242288\",\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16081,7 +16187,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16097,7 +16203,7 @@ }, { "name": "etag", - "value": "\"-1480957299\"" + "value": "\"329242288\"" }, { "name": "expires", @@ -16113,11 +16219,11 @@ }, { "name": "content-length", - "value": "147" + "value": "942" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16128,14 +16234,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.686Z", - "time": 40, + "startedDateTime": "2024-11-06T16:35:37.363Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -16143,11 +16249,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 40 + "wait": 61 } }, { - "_id": "421a860e6e98f6efc3e6e2a5be1b8ae9", + "_id": "c02a739d10f1807e59a4503855eabcfa", "_order": 0, "cache": {}, "request": { @@ -16164,15 +16270,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16187,7 +16293,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -16196,7 +16302,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -16221,7 +16327,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16253,7 +16359,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16270,8 +16376,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.687Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:37.364Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -16279,11 +16385,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 61 } }, { - "_id": "191767a516a73c4d4c46182ca5276c88", + "_id": "996dfe7751e7a0d7d4e616e93535cf25", "_order": 0, "cache": {}, "request": { @@ -16300,15 +16406,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16323,18 +16429,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 583, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform?_action=nextdescendents" }, "response": { - "bodySize": 171, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 171, - "text": "{\"_id\":\"\",\"_rev\":\"-1113197065\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -16352,7 +16463,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16366,10 +16477,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1113197065\"" - }, { "name": "expires", "value": "0" @@ -16384,11 +16491,11 @@ }, { "name": "content-length", - "value": "171" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16399,14 +16506,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.688Z", - "time": 85, + "startedDateTime": "2024-11-06T16:35:37.365Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -16414,11 +16521,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 60 } }, { - "_id": "f0390d7ed17168e299f3bc3d021322bb", + "_id": "e78947475e372e0b8923e8b52eeea9e6", "_order": 0, "cache": {}, "request": { @@ -16435,15 +16542,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16458,23 +16565,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 558, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform" }, "response": { - "bodySize": 13, + "bodySize": 131, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"-1580305574\",\"cookieDomains\":[],\"locale\":\"en_US\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16492,7 +16594,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16506,6 +16608,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1580305574\"" + }, { "name": "expires", "value": "0" @@ -16520,11 +16626,11 @@ }, { "name": "content-length", - "value": "13" + "value": "131" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16535,14 +16641,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.688Z", - "time": 110, + "startedDateTime": "2024-11-06T16:35:37.365Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -16550,11 +16656,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 110 + "wait": 63 } }, { - "_id": "fb67247c7a37d2a2d7b03beda72e35f8", + "_id": "41c773c232b700ee97639341ad461f77", "_order": 0, "cache": {}, "request": { @@ -16571,15 +16677,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16594,18 +16700,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration" }, "response": { - "bodySize": 497, + "bodySize": 949, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 497, - "text": "{\"_id\":\"\",\"_rev\":\"2036666814\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" + "size": 949, + "text": "{\"_id\":\"\",\"_rev\":\"-2097165782\",\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16623,7 +16729,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16639,7 +16745,7 @@ }, { "name": "etag", - "value": "\"2036666814\"" + "value": "\"-2097165782\"" }, { "name": "expires", @@ -16655,11 +16761,11 @@ }, { "name": "content-length", - "value": "497" + "value": "949" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16670,14 +16776,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.689Z", - "time": 75, + "startedDateTime": "2024-11-06T16:35:37.366Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -16685,11 +16791,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 59 } }, { - "_id": "457c05c391a373a722561d7b0b5d379f", + "_id": "b26a03ad2a29757d280a26ebea4e3d3e", "_order": 0, "cache": {}, "request": { @@ -16706,15 +16812,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16729,7 +16835,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 594, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -16738,7 +16844,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -16763,7 +16869,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16795,7 +16901,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16812,8 +16918,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.690Z", - "time": 70, + "startedDateTime": "2024-11-06T16:35:37.367Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -16821,11 +16927,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 58 } }, { - "_id": "5dfbdef3ae936bb829f2bbd20d566cb1", + "_id": "1c37478e04a3db7d9cde5720465c32b8", "_order": 0, "cache": {}, "request": { @@ -16842,15 +16948,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16865,18 +16971,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session" }, "response": { - "bodySize": 382, + "bodySize": 1163, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 382, - "text": "{\"_id\":\"\",\"_rev\":\"367752594\",\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" + "size": 1163, + "text": "{\"_id\":\"\",\"_rev\":\"-1239124536\",\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16894,7 +17000,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16910,7 +17016,7 @@ }, { "name": "etag", - "value": "\"367752594\"" + "value": "\"-1239124536\"" }, { "name": "expires", @@ -16926,11 +17032,11 @@ }, { "name": "content-length", - "value": "382" + "value": "1163" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -16941,14 +17047,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.691Z", - "time": 65, + "startedDateTime": "2024-11-06T16:35:37.367Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -16956,11 +17062,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 79 } }, { - "_id": "6d05cca113763d4cb93ecbee29572277", + "_id": "57e9213351b2982ca9d30f3468d2bd78", "_order": 0, "cache": {}, "request": { @@ -16977,15 +17083,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17000,7 +17106,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -17009,7 +17115,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17034,7 +17140,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17066,7 +17172,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -17083,7 +17189,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.692Z", + "startedDateTime": "2024-11-06T16:35:37.368Z", "time": 80, "timings": { "blocked": -1, @@ -17096,7 +17202,7 @@ } }, { - "_id": "74be39b9f5542dd22304f83ed644ba7b", + "_id": "c6c93d35607a2cc6fe4a484b6bcc7be9", "_order": 0, "cache": {}, "request": { @@ -17113,15 +17219,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17136,18 +17242,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 554, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user" }, "response": { - "bodySize": 418, + "bodySize": 127, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 418, - "text": "{\"_id\":\"\",\"_rev\":\"20313748\",\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" + "size": 127, + "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -17165,7 +17271,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17181,7 +17287,7 @@ }, { "name": "etag", - "value": "\"20313748\"" + "value": "\"1193526377\"" }, { "name": "expires", @@ -17197,11 +17303,11 @@ }, { "name": "content-length", - "value": "418" + "value": "127" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -17212,14 +17318,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.693Z", - "time": 76, + "startedDateTime": "2024-11-06T16:35:37.368Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -17227,11 +17333,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 86 } }, { - "_id": "449f0c492be068f57d41333093576359", + "_id": "bbb1533f6bafd1b6115bc5d903dd688d", "_order": 0, "cache": {}, "request": { @@ -17248,15 +17354,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17271,7 +17377,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 579, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -17280,7 +17386,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17305,7 +17411,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17337,7 +17443,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -17354,143 +17460,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.695Z", - "time": 69, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 69 - } - }, - { - "_id": "8b53385cd1503252aa712c2f9435e417", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 577, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification" - }, - "response": { - "bodySize": 278, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"\",\"_rev\":\"-112617302\",\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-112617302\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "278" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.696Z", - "time": 68, + "startedDateTime": "2024-11-06T16:35:37.369Z", + "time": 105, "timings": { "blocked": -1, "connect": -1, @@ -17498,11 +17469,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 105 } }, { - "_id": "bef89b3deeb87a4b272ea7021cc64d5d", + "_id": "08998121189c015851592c4e2c36206b", "_order": 0, "cache": {}, "request": { @@ -17519,15 +17490,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17551,7 +17522,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17576,7 +17547,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17608,7 +17579,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -17625,8 +17596,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.697Z", - "time": 68, + "startedDateTime": "2024-11-06T16:35:37.370Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -17634,11 +17605,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 80 } }, { - "_id": "f6684ab69515501ebd83fb00c696566f", + "_id": "6ccc3dc796ae4e2e8d09a9062b019563", "_order": 0, "cache": {}, "request": { @@ -17655,15 +17626,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17678,18 +17649,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 572, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding" }, "response": { - "bodySize": 2733, + "bodySize": 147, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2733, - "text": "{\"_id\":\"\",\"_rev\":\"201010615\",\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" + "size": 147, + "text": "{\"_id\":\"\",\"_rev\":\"197569431\",\"requestHandlers\":[],\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -17707,7 +17678,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17723,143 +17694,7 @@ }, { "name": "etag", - "value": "\"201010615\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2733" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.698Z", - "time": 74, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 74 - } - }, - { - "_id": "52fe39a17d36834f1a9407d0c8aba640", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 597, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "value": "\"197569431\"" }, { "name": "expires", @@ -17875,11 +17710,11 @@ }, { "name": "content-length", - "value": "13" + "value": "147" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -17890,14 +17725,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.699Z", - "time": 73, + "startedDateTime": "2024-11-06T16:35:37.370Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -17905,11 +17740,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 109 } }, { - "_id": "825d45dc6c426d5de01c8147a8fe7fcf", + "_id": "e5c50987759b28e178a22a06b8921007", "_order": 0, "cache": {}, "request": { @@ -17926,15 +17761,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17949,18 +17784,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi" }, "response": { - "bodySize": 206, + "bodySize": 301, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"\",\"_rev\":\"-49730604\",\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" + "size": 301, + "text": "{\"_id\":\"\",\"_rev\":\"302817247\",\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -17978,7 +17813,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17994,7 +17829,7 @@ }, { "name": "etag", - "value": "\"-49730604\"" + "value": "\"302817247\"" }, { "name": "expires", @@ -18010,11 +17845,11 @@ }, { "name": "content-length", - "value": "206" + "value": "301" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18031,8 +17866,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.701Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:37.371Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -18040,11 +17875,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 86 } }, { - "_id": "fc798ceeeff5e890a2045a3c9ebacc9b", + "_id": "92c0a6a00d9c6acb82b35ef1ce066cb7", "_order": 0, "cache": {}, "request": { @@ -18061,15 +17896,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18084,7 +17919,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -18093,7 +17928,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -18118,7 +17953,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18150,7 +17985,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18167,8 +18002,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.702Z", - "time": 64, + "startedDateTime": "2024-11-06T16:35:37.371Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -18176,11 +18011,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 87 } }, { - "_id": "982835aa7637cc6112f387c76ecd5789", + "_id": "ae14330f552038a2bccd22ce65d3265f", "_order": 0, "cache": {}, "request": { @@ -18197,15 +18032,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18220,7 +18055,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 592, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -18229,7 +18064,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -18254,7 +18089,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18286,7 +18121,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18303,8 +18138,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.704Z", - "time": 79, + "startedDateTime": "2024-11-06T16:35:37.372Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -18312,11 +18147,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 67 } }, { - "_id": "6b3dbf30096a9640340d1c797a084fb7", + "_id": "860c8c26449f0643c88df83bf80913b6", "_order": 0, "cache": {}, "request": { @@ -18333,15 +18168,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18356,18 +18191,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 567, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common" }, "response": { - "bodySize": 411, + "bodySize": 1850, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 411, - "text": "{\"_id\":\"\",\"_rev\":\"1502014682\",\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" + "size": 1850, + "text": "{\"_id\":\"\",\"_rev\":\"1228566638\",\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18385,7 +18220,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18401,7 +18236,7 @@ }, { "name": "etag", - "value": "\"1502014682\"" + "value": "\"1228566638\"" }, { "name": "expires", @@ -18417,11 +18252,11 @@ }, { "name": "content-length", - "value": "411" + "value": "1850" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18432,14 +18267,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.705Z", - "time": 66, + "startedDateTime": "2024-11-06T16:35:37.372Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -18447,11 +18282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 84 } }, { - "_id": "af1a3426bf3079f9fc075f35d546a11e", + "_id": "90680889cf3393fcc200bca188068a72", "_order": 0, "cache": {}, "request": { @@ -18468,15 +18303,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18491,18 +18326,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 558, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security" }, "response": { - "bodySize": 132, + "bodySize": 574, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 132, - "text": "{\"_id\":\"\",\"_rev\":\"280113261\",\"validGotoDestinations\":[],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 574, + "text": "{\"_id\":\"\",\"_rev\":\"1264778823\",\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18520,7 +18355,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18536,7 +18371,7 @@ }, { "name": "etag", - "value": "\"280113261\"" + "value": "\"1264778823\"" }, { "name": "expires", @@ -18552,11 +18387,11 @@ }, { "name": "content-length", - "value": "132" + "value": "574" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18567,14 +18402,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.706Z", - "time": 51, + "startedDateTime": "2024-11-06T16:35:37.373Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -18582,11 +18417,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 51 + "wait": 79 } }, { - "_id": "22ed054250235a8178254373c88b5c18", + "_id": "bfb1e6e8b82f8a31219b7546ae34d438", "_order": 0, "cache": {}, "request": { @@ -18603,15 +18438,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18626,7 +18461,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 583, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -18635,7 +18470,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -18660,7 +18495,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18692,7 +18527,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18709,8 +18544,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.706Z", - "time": 68, + "startedDateTime": "2024-11-06T16:35:37.373Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -18718,11 +18553,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 82 } }, { - "_id": "ab7693d00ead91cd99a4f6513942048d", + "_id": "1e6746c063fda434ae9932431bbcbc9f", "_order": 0, "cache": {}, "request": { @@ -18739,15 +18574,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18762,23 +18597,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 557, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl" }, "response": { - "bodySize": 13, + "bodySize": 160, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 160, + "text": "{\"_id\":\"\",\"_rev\":\"-2049191873\",\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18796,7 +18626,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18810,6 +18640,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2049191873\"" + }, { "name": "expires", "value": "0" @@ -18824,11 +18658,11 @@ }, { "name": "content-length", - "value": "13" + "value": "160" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18839,14 +18673,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.707Z", - "time": 66, + "startedDateTime": "2024-11-06T16:35:37.374Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -18854,11 +18688,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 80 } }, { - "_id": "c5a98618a302e070efaf94ae01cec32b", + "_id": "8a6544b71e9eafd8d57a8d358f3a4e74", "_order": 0, "cache": {}, "request": { @@ -18875,15 +18709,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18898,18 +18732,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit" }, "response": { - "bodySize": 603, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 603, - "text": "{\"_id\":\"\",\"_rev\":\"1219218586\",\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" + "size": 257, + "text": "{\"_id\":\"\",\"_rev\":\"1805413690\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18927,7 +18761,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18943,7 +18777,7 @@ }, { "name": "etag", - "value": "\"1219218586\"" + "value": "\"1805413690\"" }, { "name": "expires", @@ -18959,11 +18793,11 @@ }, { "name": "content-length", - "value": "603" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -18980,8 +18814,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.708Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:37.375Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -18989,11 +18823,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 65 } }, { - "_id": "745904e84f2af7b29d9e02e5d91c618d", + "_id": "64ff9b04badfbe7a92867ac7f6e7ead3", "_order": 0, "cache": {}, "request": { @@ -19010,15 +18844,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19033,7 +18867,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -19042,7 +18876,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -19067,7 +18901,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19099,7 +18933,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19116,8 +18950,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.708Z", - "time": 68, + "startedDateTime": "2024-11-06T16:35:37.375Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -19125,11 +18959,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 78 } }, { - "_id": "e0248057f4174a562cc019a60994ff19", + "_id": "df2d51d1849244b2bdce55a223a31e37", "_order": 0, "cache": {}, "request": { @@ -19146,15 +18980,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19169,18 +19003,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 564, + "headersSize": 578, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService" }, "response": { - "bodySize": 280, + "bodySize": 510, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"\",\"_rev\":\"1395311902\",\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" + "size": 510, + "text": "{\"_id\":\"\",\"_rev\":\"1539309580\",\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19198,7 +19032,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19214,7 +19048,7 @@ }, { "name": "etag", - "value": "\"1395311902\"" + "value": "\"1539309580\"" }, { "name": "expires", @@ -19230,11 +19064,11 @@ }, { "name": "content-length", - "value": "280" + "value": "510" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19251,8 +19085,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.709Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:37.376Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -19260,11 +19094,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 76 } }, { - "_id": "0327c0ae958eb1a5656a40d63eb9b627", + "_id": "3cbf2251cc837fc1a7a37249334e2efe", "_order": 0, "cache": {}, "request": { @@ -19281,15 +19115,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19304,7 +19138,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 580, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -19313,14 +19147,14 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 793, + "text": "{\"result\":[{\"jsonFileRotation\":{\"rotationTimes\":[],\"rotationFileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"rotationMaxFileSize\":\"100000000\",\"rotationInterval\":\"-1\",\"rotationEnabled\":true},\"jsonFileRetention\":{\"retentionMaxDiskSpaceToUse\":\"-1\",\"retentionMaxNumberOfHistoryFiles\":\"1\",\"retentionMinFreeSpaceRequired\":\"-1\"},\"jsonConfig\":{\"rotationRetentionCheckInterval\":\"5\",\"location\":\"%BASE_DIR%/var/audit/\",\"elasticsearchCompatible\":false},\"jsonBuffering\":{\"bufferingMaxSize\":\"100000\",\"bufferingWriteInterval\":\"5\"},\"commonHandler\":{\"enabled\":true,\"topics\":[\"access\",\"activity\",\"config\",\"authentication\"]},\"commonHandlerPlugin\":{\"handlerFactory\":\"org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory\"},\"_id\":\"Global JSON Handler\",\"_type\":{\"_id\":\"JSON\",\"name\":\"JSON\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -19338,7 +19172,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19366,11 +19200,11 @@ }, { "name": "content-length", - "value": "13" + "value": "793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19381,14 +19215,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.710Z", - "time": 71, + "startedDateTime": "2024-11-06T16:35:37.376Z", + "time": 123, "timings": { "blocked": -1, "connect": -1, @@ -19396,11 +19230,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 123 } }, { - "_id": "24a792bb847d11d38e4f9d3a48182b97", + "_id": "6802302e73e17463931c5e9f0e5c7a10", "_order": 0, "cache": {}, "request": { @@ -19417,15 +19251,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19440,18 +19274,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 603, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService?_action=nextdescendents" }, "response": { - "bodySize": 116, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 116, - "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -19469,7 +19308,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19483,10 +19322,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"6506753\"" - }, { "name": "expires", "value": "0" @@ -19501,11 +19336,11 @@ }, { "name": "content-length", - "value": "116" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19516,14 +19351,14 @@ "value": "keep-alive" } ], - "headersSize": 482, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.711Z", - "time": 46, + "startedDateTime": "2024-11-06T16:35:37.377Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -19531,11 +19366,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 46 + "wait": 54 } }, { - "_id": "2ae9d3f0193abc57b04ab28a9b0a5a71", + "_id": "1469c7f1e1fca8b2b38bc1de2daba051", "_order": 0, "cache": {}, "request": { @@ -19552,15 +19387,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19575,23 +19410,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 565, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService" }, "response": { - "bodySize": 13, + "bodySize": 395, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 395, + "text": "{\"_id\":\"\",\"_rev\":\"809911232\",\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19609,7 +19439,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19623,6 +19453,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"809911232\"" + }, { "name": "expires", "value": "0" @@ -19637,11 +19471,11 @@ }, { "name": "content-length", - "value": "13" + "value": "395" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19652,14 +19486,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.711Z", - "time": 63, + "startedDateTime": "2024-11-06T16:35:37.377Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -19667,11 +19501,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 61 } }, { - "_id": "0269a7655f6d7f47ade837af6e23e712", + "_id": "71a644272b08dd8b601889853d02e4f5", "_order": 0, "cache": {}, "request": { @@ -19688,15 +19522,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19711,18 +19545,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService" }, "response": { - "bodySize": 161, + "bodySize": 251, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 161, - "text": "{\"_id\":\"\",\"_rev\":\"403540704\",\"cacheDuration\":120,\"enable\":true,\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" + "size": 251, + "text": "{\"_id\":\"\",\"_rev\":\"-1336068590\",\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19740,7 +19574,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19756,7 +19590,7 @@ }, { "name": "etag", - "value": "\"403540704\"" + "value": "\"-1336068590\"" }, { "name": "expires", @@ -19772,11 +19606,11 @@ }, { "name": "content-length", - "value": "161" + "value": "251" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19787,14 +19621,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.712Z", - "time": 70, + "startedDateTime": "2024-11-06T16:35:37.378Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -19802,11 +19636,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 58 } }, { - "_id": "9cfd08b19c65f94bedb476341a0fae7b", + "_id": "d74c13af1a35b7215588511b275beda8", "_order": 0, "cache": {}, "request": { @@ -19823,15 +19657,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19846,18 +19680,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 590, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService?_action=nextdescendents" }, "response": { - "bodySize": 148, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -19875,7 +19714,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19889,10 +19728,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1077208638\"" - }, { "name": "expires", "value": "0" @@ -19907,11 +19742,11 @@ }, { "name": "content-length", - "value": "148" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -19922,14 +19757,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.713Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:37.378Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -19937,11 +19772,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 66 } }, { - "_id": "3fb1c8765200cf2ab0ce6eb3853b16af", + "_id": "e931cc31a8916862a93e6b98b8a3ccf5", "_order": 0, "cache": {}, "request": { @@ -19958,15 +19793,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19981,23 +19816,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService" }, "response": { - "bodySize": 13, + "bodySize": 432, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 432, + "text": "{\"_id\":\"\",\"_rev\":\"592757986\",\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20015,7 +19845,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20029,6 +19859,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"592757986\"" + }, { "name": "expires", "value": "0" @@ -20043,11 +19877,11 @@ }, { "name": "content-length", - "value": "13" + "value": "432" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20058,14 +19892,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.713Z", - "time": 62, + "startedDateTime": "2024-11-06T16:35:37.379Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -20073,11 +19907,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 59 } }, { - "_id": "e8ba39997d71771de355e4d1b103ce9a", + "_id": "3832fbb15c176e939c76961b1eb31ced", "_order": 0, "cache": {}, "request": { @@ -20094,15 +19928,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20117,18 +19951,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService?_action=nextdescendents" }, "response": { - "bodySize": 518, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 518, - "text": "{\"_id\":\"\",\"_rev\":\"-683259715\",\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20146,7 +19985,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20160,10 +19999,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-683259715\"" - }, { "name": "expires", "value": "0" @@ -20178,11 +20013,11 @@ }, { "name": "content-length", - "value": "518" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20193,14 +20028,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.714Z", - "time": 56, + "startedDateTime": "2024-11-06T16:35:37.379Z", + "time": 111, "timings": { "blocked": -1, "connect": -1, @@ -20208,11 +20043,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 111 } }, { - "_id": "0a7071871adcba0d0c495016dc8565ac", + "_id": "98b2543f74b1861e3c986a5e72a6ceff", "_order": 0, "cache": {}, "request": { @@ -20229,15 +20064,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20252,23 +20087,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 609, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification" }, "response": { - "bodySize": 13, + "bodySize": 291, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 291, + "text": "{\"_id\":\"\",\"_rev\":\"-747878660\",\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20286,7 +20116,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20300,6 +20130,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-747878660\"" + }, { "name": "expires", "value": "0" @@ -20314,11 +20148,11 @@ }, { "name": "content-length", - "value": "13" + "value": "291" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20329,14 +20163,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.714Z", - "time": 115, + "startedDateTime": "2024-11-06T16:35:37.380Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -20344,11 +20178,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 65 } }, { - "_id": "8589c4e6a5336d67836695038afe5d10", + "_id": "2543c11b2f4e14c08672932c8442f532", "_order": 0, "cache": {}, "request": { @@ -20365,15 +20199,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20388,7 +20222,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -20397,7 +20231,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -20422,7 +20256,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20454,7 +20288,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20471,8 +20305,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.715Z", - "time": 60, + "startedDateTime": "2024-11-06T16:35:37.380Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -20480,11 +20314,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 79 } }, { - "_id": "db283448bf6cdee228903090828365ae", + "_id": "9126e8dc362bb096776e49fcf4e6cfa7", "_order": 0, "cache": {}, "request": { @@ -20501,15 +20335,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20524,18 +20358,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification?_action=nextdescendents" }, "response": { - "bodySize": 310, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 310, - "text": "{\"_id\":\"\",\"_rev\":\"435870150\",\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20553,7 +20392,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20567,10 +20406,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"435870150\"" - }, { "name": "expires", "value": "0" @@ -20585,11 +20420,11 @@ }, { "name": "content-length", - "value": "310" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20600,14 +20435,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.716Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:37.381Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -20615,11 +20450,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 59 } }, { - "_id": "70d3cbe5f7f279bb37ee8755c88b6dd8", + "_id": "a290e68730822468f00ec60ba9d902ff", "_order": 0, "cache": {}, "request": { @@ -20636,15 +20471,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20659,23 +20494,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 561, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService" }, "response": { - "bodySize": 13, + "bodySize": 2746, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2746, + "text": "{\"_id\":\"\",\"_rev\":\"768990089\",\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20693,7 +20523,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20707,6 +20537,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"768990089\"" + }, { "name": "expires", "value": "0" @@ -20721,11 +20555,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2746" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20736,14 +20570,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.717Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:37.382Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -20751,11 +20585,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 70 } }, { - "_id": "5540588b22e9de6505fdb0ff45c3062e", + "_id": "f527a5e5d7c33133b663d3970e2498b9", "_order": 0, "cache": {}, "request": { @@ -20772,15 +20606,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20795,18 +20629,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService?_action=nextdescendents" }, "response": { - "bodySize": 135, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20824,7 +20663,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20838,10 +20677,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-945038405\"" - }, { "name": "expires", "value": "0" @@ -20856,11 +20691,11 @@ }, { "name": "content-length", - "value": "135" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -20871,14 +20706,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.718Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:37.382Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -20886,11 +20721,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 84 } }, { - "_id": "9fd4853b17067e9df88d210680a0e1e9", + "_id": "8fb0cec6800f2411def5492d7024dd94", "_order": 0, "cache": {}, "request": { @@ -20907,15 +20742,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20930,23 +20765,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 570, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication" }, "response": { - "bodySize": 13, + "bodySize": 219, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 219, + "text": "{\"_id\":\"\",\"_rev\":\"455613826\",\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20964,7 +20794,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20978,6 +20808,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"455613826\"" + }, { "name": "expires", "value": "0" @@ -20992,11 +20826,11 @@ }, { "name": "content-length", - "value": "13" + "value": "219" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21007,14 +20841,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.718Z", - "time": 67, + "startedDateTime": "2024-11-06T16:35:37.383Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -21022,11 +20856,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 45 } }, { - "_id": "b2c486a37af8cb96e303d0a0eafdb8d2", + "_id": "3fe697737a3a3b5f58f227c48474a7a6", "_order": 0, "cache": {}, "request": { @@ -21043,15 +20877,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21066,18 +20900,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication?_action=nextdescendents" }, "response": { - "bodySize": 255, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 255, - "text": "{\"_id\":\"\",\"_rev\":\"-876042057\",\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -21095,7 +20934,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21110,8 +20949,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"-876042057\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:37.383Z", + "time": 90, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 90 + } + }, + { + "_id": "c5e92ec298dc6780ab0a5d9471cfe061", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -21127,11 +21098,11 @@ }, { "name": "content-length", - "value": "255" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21142,14 +21113,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.719Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:37.384Z", + "time": 55, "timings": { "blocked": -1, "connect": -1, @@ -21157,11 +21128,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 55 } }, { - "_id": "24896809b7e36d9888300a4a337f401c", + "_id": "e72bf68fea3347e80c5eb2fa8be5864c", "_order": 0, "cache": {}, "request": { @@ -21178,15 +21149,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21201,18 +21172,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 587, + "headersSize": 560, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc" }, "response": { - "bodySize": 209, + "bodySize": 8676, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 209, - "text": "{\"_id\":\"\",\"_rev\":\"-736760492\",\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" + "size": 8676, + "text": "{\"_id\":\"\",\"_rev\":\"865723864\",\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21230,7 +21201,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21246,7 +21217,7 @@ }, { "name": "etag", - "value": "\"-736760492\"" + "value": "\"865723864\"" }, { "name": "expires", @@ -21261,12 +21232,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "209" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21277,14 +21248,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 491, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.720Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:37.384Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -21292,11 +21263,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 72 } }, { - "_id": "7f528072ac9e7ae4572e8df09c9ceb91", + "_id": "afc5568192609fec2ef1713d080c7c90", "_order": 0, "cache": {}, "request": { @@ -21313,15 +21284,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21336,7 +21307,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 595, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -21345,7 +21316,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -21370,7 +21341,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21402,7 +21373,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21419,8 +21390,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.720Z", - "time": 80, + "startedDateTime": "2024-11-06T16:35:37.385Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -21428,11 +21399,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 61 } }, { - "_id": "09437f0fea64aa3ddc222ce6881e86cc", + "_id": "e162b06688e44865625171daf618df47", "_order": 0, "cache": {}, "request": { @@ -21449,15 +21420,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21472,18 +21443,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 572, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService" }, "response": { - "bodySize": 142, + "bodySize": 423, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 142, - "text": "{\"_id\":\"\",\"_rev\":\"1386279405\",\"timeToLive\":\"180\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" + "size": 423, + "text": "{\"_id\":\"\",\"_rev\":\"924957352\",\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21501,7 +21472,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21517,7 +21488,7 @@ }, { "name": "etag", - "value": "\"1386279405\"" + "value": "\"924957352\"" }, { "name": "expires", @@ -21533,11 +21504,11 @@ }, { "name": "content-length", - "value": "142" + "value": "423" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21548,14 +21519,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.721Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:37.385Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -21563,11 +21534,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 80 } }, { - "_id": "3043040cf5119d83953cc35e1c9c22a7", + "_id": "3c74e21e7df8f9c4b8d63d75fbd1dd4a", "_order": 0, "cache": {}, "request": { @@ -21584,15 +21555,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21607,7 +21578,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -21616,7 +21587,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -21641,7 +21612,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21673,7 +21644,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21690,8 +21661,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.721Z", - "time": 56, + "startedDateTime": "2024-11-06T16:35:37.386Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -21699,11 +21670,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 49 } }, { - "_id": "32cbd08c7c2d3963e74629b44f6d2eca", + "_id": "b426584e95932cde24208134214e9b9f", "_order": 0, "cache": {}, "request": { @@ -21720,15 +21691,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21743,18 +21714,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation" }, "response": { - "bodySize": 206, + "bodySize": 215, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"\",\"_rev\":\"-1039295581\",\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" + "size": 215, + "text": "{\"_id\":\"\",\"_rev\":\"1196053395\",\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21772,7 +21743,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21788,7 +21759,7 @@ }, { "name": "etag", - "value": "\"-1039295581\"" + "value": "\"1196053395\"" }, { "name": "expires", @@ -21804,11 +21775,11 @@ }, { "name": "content-length", - "value": "206" + "value": "215" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21819,14 +21790,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.722Z", - "time": 29, + "startedDateTime": "2024-11-06T16:35:37.386Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -21834,11 +21805,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 29 + "wait": 79 } }, { - "_id": "538722666560d57ccd03d3844ff58865", + "_id": "81d596f2e5174de1ae0a3bbddb535c2d", "_order": 0, "cache": {}, "request": { @@ -21855,15 +21826,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21878,23 +21849,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 560, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation" }, "response": { - "bodySize": 13, + "bodySize": 173, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 173, + "text": "{\"_id\":\"\",\"_rev\":\"1890693508\",\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21912,7 +21878,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21926,6 +21892,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1890693508\"" + }, { "name": "expires", "value": "0" @@ -21940,11 +21910,11 @@ }, { "name": "content-length", - "value": "13" + "value": "173" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -21955,14 +21925,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.722Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:37.387Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -21970,11 +21940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 57 } }, { - "_id": "bf9e771ba74d5b31b4e107c6a67c7cbb", + "_id": "009e966ebde3f2ad58c3b35a0ba5ec15", "_order": 0, "cache": {}, "request": { @@ -21991,15 +21961,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22014,7 +21984,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -22023,7 +21993,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -22048,7 +22018,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22080,7 +22050,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22097,8 +22067,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.723Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:37.387Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -22106,11 +22076,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 82 } }, { - "_id": "9c7ac5d847f63f1218896fc2f2526d06", + "_id": "dbfbb0a2be1ccf047c24d2b7fb8992f7", "_order": 0, "cache": {}, "request": { @@ -22127,15 +22097,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22150,23 +22120,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 560, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring" }, "response": { - "bodySize": 22262, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 22262, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true},{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}],\"resultCount\":19,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 337, + "text": "{\"_id\":\"\",\"_rev\":\"-218398273\",\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22184,7 +22149,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22198,6 +22163,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-218398273\"" + }, { "name": "expires", "value": "0" @@ -22211,12 +22180,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22227,14 +22196,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.834Z", - "time": 14, + "startedDateTime": "2024-11-06T16:35:37.388Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -22242,11 +22211,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 14 + "wait": 63 } }, { - "_id": "93a17c35082b335e3a24bfd4d831dcd4", + "_id": "e7ff435497aab17c86bdbe57492d9088", "_order": 0, "cache": {}, "request": { @@ -22263,15 +22232,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22286,18 +22255,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Agent" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration" }, "response": { - "bodySize": 676, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 309, + "text": "{\"_id\":\"\",\"_rev\":\"2008236181\",\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22315,7 +22284,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22331,7 +22300,7 @@ }, { "name": "etag", - "value": "\"-1016023191\"" + "value": "\"2008236181\"" }, { "name": "expires", @@ -22347,11 +22316,11 @@ }, { "name": "content-length", - "value": "676" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22362,14 +22331,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.854Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.389Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -22377,11 +22346,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 75 } }, { - "_id": "204ce19cfa6edca3188577cd85e06f4d", + "_id": "70d024a924629bde43db1b056ac6bb87", "_order": 0, "cache": {}, "request": { @@ -22398,15 +22367,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22421,18 +22390,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring?_action=nextdescendents" + }, + "response": { + "bodySize": 292, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 292, + "text": "{\"result\":[{\"enabled\":false,\"_id\":\"crest\",\"_type\":{\"_id\":\"crest\",\"name\":\"CREST Reporter\",\"collection\":true}},{\"password\":null,\"authenticationType\":\"BASIC\",\"username\":\"prometheus\",\"enabled\":false,\"_id\":\"prometheus\",\"_type\":{\"_id\":\"prometheus\",\"name\":\"Prometheus Reporter\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "292" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:37.389Z", + "time": 111, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 111 + } + }, + { + "_id": "d285d036d3216dc6245461df018435a1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService" }, "response": { - "bodySize": 384, + "bodySize": 615, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 615, + "text": "{\"_id\":\"\",\"_rev\":\"717872748\",\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22450,7 +22555,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22466,7 +22571,7 @@ }, { "name": "etag", - "value": "\"482303273\"" + "value": "\"717872748\"" }, { "name": "expires", @@ -22482,11 +22587,11 @@ }, { "name": "content-length", - "value": "384" + "value": "615" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22503,8 +22608,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.866Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:37.390Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -22512,11 +22617,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 88 } }, { - "_id": "ca20f5d91851ab3027484a85464e0075", + "_id": "bd9aaf8dfcbc22dbea3a59fb719db7f8", "_order": 0, "cache": {}, "request": { @@ -22533,15 +22638,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22556,153 +22661,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" - }, - "response": { - "bodySize": 250, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1036485453\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "250" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 590, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:35.866Z", - "time": 6, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 6 - } - }, - { - "_id": "0eccafbc13d10a34ff5fcee74492dff8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 600, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration?_action=nextdescendents" }, "response": { - "bodySize": 1043, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -22720,7 +22695,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22734,10 +22709,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-536916143\"" - }, { "name": "expires", "value": "0" @@ -22752,11 +22723,11 @@ }, { "name": "content-length", - "value": "1043" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22767,14 +22738,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.876Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:37.390Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -22782,11 +22753,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 92 } }, { - "_id": "bdb0662e3e0394951eae09a95fa5f31f", + "_id": "594d3ca2c676ca20da15605785b0c78e", "_order": 0, "cache": {}, "request": { @@ -22803,15 +22774,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22826,18 +22797,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService?_action=nextdescendents" }, "response": { - "bodySize": 208, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -22855,7 +22831,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22869,10 +22845,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1271206475\"" - }, { "name": "expires", "value": "0" @@ -22887,11 +22859,11 @@ }, { "name": "content-length", - "value": "208" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -22902,14 +22874,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.884Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:37.391Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -22917,11 +22889,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 68 } }, { - "_id": "930db69307f61b5ea83ae755a2ca7d10", + "_id": "c4357e29fc8dd7e1a5cb95a35d54c0f9", "_order": 0, "cache": {}, "request": { @@ -22938,15 +22910,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22961,18 +22933,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot" }, "response": { - "bodySize": 239, + "bodySize": 293, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 293, + "text": "{\"_id\":\"\",\"_rev\":\"1825149804\",\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22990,7 +22962,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23006,7 +22978,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"1825149804\"" }, { "name": "expires", @@ -23022,11 +22994,11 @@ }, { "name": "content-length", - "value": "239" + "value": "293" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23043,8 +23015,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.885Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:37.391Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -23052,11 +23024,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 72 } }, { - "_id": "5fd52411fd457934867c0c383b90471c", + "_id": "bb2814576a7b47b17e39bffc4cfe024e", "_order": 0, "cache": {}, "request": { @@ -23073,15 +23045,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23096,18 +23068,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot?_action=nextdescendents" }, "response": { - "bodySize": 208, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -23125,7 +23102,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23139,10 +23116,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1588216686\"" - }, { "name": "expires", "value": "0" @@ -23157,11 +23130,11 @@ }, { "name": "content-length", - "value": "208" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23172,14 +23145,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.885Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:37.392Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -23187,11 +23160,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 66 } }, { - "_id": "d934c4a642d09c1c142f3b744df6e742", + "_id": "5439bb1dfcf36e6f51bfc824d11075de", "_order": 0, "cache": {}, "request": { @@ -23208,15 +23181,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23231,18 +23204,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2" }, "response": { - "bodySize": 385, + "bodySize": 550, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 550, + "text": "{\"_id\":\"\",\"_rev\":\"-101444140\",\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23260,7 +23233,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23276,7 +23249,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"-101444140\"" }, { "name": "expires", @@ -23292,11 +23265,11 @@ }, { "name": "content-length", - "value": "385" + "value": "550" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23313,8 +23286,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.886Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:37.392Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -23322,11 +23295,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 79 } }, { - "_id": "57673a324cb16e9954ac5fd7ff50cad6", + "_id": "eb9875228ef7147e5de4621398c00c10", "_order": 0, "cache": {}, "request": { @@ -23343,15 +23316,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23366,18 +23339,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 621, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2?_action=nextdescendents" }, "response": { - "bodySize": 668, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -23395,7 +23373,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23409,10 +23387,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-152060055\"" - }, { "name": "expires", "value": "0" @@ -23427,11 +23401,11 @@ }, { "name": "content-length", - "value": "668" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23442,14 +23416,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.898Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:37.393Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -23457,11 +23431,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 46 } }, { - "_id": "40c846c4bde98e561d73fc4f47eafeba", + "_id": "c223ae344d92f0076d56754f8ccf8d21", "_order": 0, "cache": {}, "request": { @@ -23478,15 +23452,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23501,18 +23475,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 554, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest" }, "response": { - "bodySize": 318, + "bodySize": 225, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 225, + "text": "{\"_id\":\"\",\"_rev\":\"672880621\",\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23530,7 +23504,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23546,7 +23520,7 @@ }, { "name": "etag", - "value": "\"264081780\"" + "value": "\"672880621\"" }, { "name": "expires", @@ -23562,11 +23536,11 @@ }, { "name": "content-length", - "value": "318" + "value": "225" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23583,8 +23557,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.905Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:37.393Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -23592,11 +23566,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 74 } }, { - "_id": "a4d643de39c16824ae3bb0af2cfa64d9", + "_id": "fd4fcf8598b331acc953c22fb136578e", "_order": 0, "cache": {}, "request": { @@ -23613,15 +23587,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23636,18 +23610,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 579, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest?_action=nextdescendents" }, "response": { - "bodySize": 1332, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -23665,7 +23644,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23679,10 +23658,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"756891103\"" - }, { "name": "expires", "value": "0" @@ -23697,11 +23672,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23712,14 +23687,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.905Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:37.394Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -23727,11 +23702,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 68 } }, { - "_id": "0699b7c0159925a71a78ea237d5a5f1a", + "_id": "b4511b714890cefdbbb02c19d8e3fef0", "_order": 0, "cache": {}, "request": { @@ -23748,15 +23723,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23771,18 +23746,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 559, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard" }, "response": { - "bodySize": 831, + "bodySize": 131, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23800,7 +23775,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23816,7 +23791,7 @@ }, { "name": "etag", - "value": "\"1066064282\"" + "value": "\"436796111\"" }, { "name": "expires", @@ -23832,11 +23807,11 @@ }, { "name": "content-length", - "value": "831" + "value": "131" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23847,14 +23822,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.922Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:37.395Z", + "time": 31, "timings": { "blocked": -1, "connect": -1, @@ -23862,11 +23837,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 31 } }, { - "_id": "c1fa279e046ed9d159c7379ffb4fe062", + "_id": "6380d20e535bf6bdc7586dc857494067", "_order": 0, "cache": {}, "request": { @@ -23883,15 +23858,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23906,18 +23881,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 584, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 237, + "bodySize": 797, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 797, + "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -23935,7 +23915,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23949,10 +23929,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-85053235\"" - }, { "name": "expires", "value": "0" @@ -23967,11 +23943,11 @@ }, { "name": "content-length", - "value": "237" + "value": "797" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -23982,14 +23958,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.938Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:37.395Z", + "time": 96, "timings": { "blocked": -1, "connect": -1, @@ -23997,11 +23973,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 96 } }, { - "_id": "52970e272da7ae87038e34338c69e152", + "_id": "3e2b17ebbb1d1bdefaeebfdf27d464c6", "_order": 0, "cache": {}, "request": { @@ -24018,15 +23994,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24041,18 +24017,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService" }, "response": { - "bodySize": 239, + "bodySize": 210, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 210, + "text": "{\"_id\":\"\",\"_rev\":\"-1449091672\",\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24070,7 +24046,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24086,7 +24062,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"-1449091672\"" }, { "name": "expires", @@ -24102,11 +24078,11 @@ }, { "name": "content-length", - "value": "239" + "value": "210" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24117,14 +24093,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.939Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:37.396Z", + "time": 34, "timings": { "blocked": -1, "connect": -1, @@ -24132,11 +24108,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 34 } }, { - "_id": "db397c9469282022c1c74b8193d314f6", + "_id": "871d773960955014a30ab316e7e64a9b", "_order": 0, "cache": {}, "request": { @@ -24153,15 +24129,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24176,18 +24152,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService?_action=nextdescendents" }, "response": { - "bodySize": 1284, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24205,7 +24186,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24219,10 +24200,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"328700129\"" - }, { "name": "expires", "value": "0" @@ -24237,11 +24214,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24252,14 +24229,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.939Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:37.396Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -24267,11 +24244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 94 } }, { - "_id": "c0ef040212c2b72c00bd2b3653d144e2", + "_id": "a0d810781428518d1cf0ff2225e15208", "_order": 0, "cache": {}, "request": { @@ -24288,15 +24265,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24311,18 +24288,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 573, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 1729, + "bodySize": 160, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 160, + "text": "{\"_id\":\"\",\"_rev\":\"646894732\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24340,7 +24317,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24356,7 +24333,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"646894732\"" }, { "name": "expires", @@ -24372,11 +24349,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "160" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24387,14 +24364,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.962Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.397Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -24402,11 +24379,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 45 } }, { - "_id": "b5dedfcb8ec418c363d1089eba7588b7", + "_id": "c0b6297f4137d115573ac570b1248d3c", "_order": 0, "cache": {}, "request": { @@ -24423,15 +24400,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24446,18 +24423,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 657, + "headersSize": 598, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 327, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24475,7 +24457,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24489,10 +24471,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2002571022\"" - }, { "name": "expires", "value": "0" @@ -24507,11 +24485,11 @@ }, { "name": "content-length", - "value": "327" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24522,14 +24500,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.975Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.398Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -24537,11 +24515,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 59 } }, { - "_id": "87695f7697465f9ccf73abfc87e088b0", + "_id": "94fcb9a483ac462f0735765d2b5fedd2", "_order": 0, "cache": {}, "request": { @@ -24558,15 +24536,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24581,18 +24559,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService" }, "response": { - "bodySize": 224, + "bodySize": 532, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 532, + "text": "{\"_id\":\"\",\"_rev\":\"-1117800721\",\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24610,7 +24588,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24626,7 +24604,7 @@ }, { "name": "etag", - "value": "\"-1210949842\"" + "value": "\"-1117800721\"" }, { "name": "expires", @@ -24642,11 +24620,11 @@ }, { "name": "content-length", - "value": "224" + "value": "532" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24663,8 +24641,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.976Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.398Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -24672,11 +24650,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 61 } }, { - "_id": "947f5e8d0b26ba3755b8982b05391d76", + "_id": "98b5fc8fededd470eda67098a115b5a1", "_order": 0, "cache": {}, "request": { @@ -24693,15 +24671,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24716,18 +24694,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService?_action=nextdescendents" }, "response": { - "bodySize": 1285, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24745,7 +24728,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24759,10 +24742,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1821134736\"" - }, { "name": "expires", "value": "0" @@ -24777,11 +24756,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24792,14 +24771,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.976Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:37.399Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -24807,11 +24786,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 50 } }, { - "_id": "d78bd0e79a76056767ae5716e1f88752", + "_id": "054212a4f9e5244cf886befe5ccfc5db", "_order": 0, "cache": {}, "request": { @@ -24828,15 +24807,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24851,18 +24830,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma" }, "response": { - "bodySize": 659, + "bodySize": 703, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 703, + "text": "{\"_id\":\"\",\"_rev\":\"-401765880\",\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24880,7 +24859,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24896,7 +24875,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"-401765880\"" }, { "name": "expires", @@ -24912,11 +24891,11 @@ }, { "name": "content-length", - "value": "659" + "value": "703" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -24933,8 +24912,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.977Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.399Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -24942,11 +24921,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 59 } }, { - "_id": "a471f150133917cc4bfb9cc945a57fd5", + "_id": "118fe29414bfcf218c9c225007cda660", "_order": 0, "cache": {}, "request": { @@ -24963,15 +24942,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24986,18 +24965,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService" }, "response": { - "bodySize": 222, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"\",\"_rev\":\"-77106074\",\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25015,7 +24994,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25031,7 +25010,7 @@ }, { "name": "etag", - "value": "\"-1709503699\"" + "value": "\"-77106074\"" }, { "name": "expires", @@ -25047,11 +25026,11 @@ }, { "name": "content-length", - "value": "222" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25062,14 +25041,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.978Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:37.400Z", + "time": 33, "timings": { "blocked": -1, "connect": -1, @@ -25077,11 +25056,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 33 } }, { - "_id": "db34841aec18e027bacbb021da712f34", + "_id": "db5cbf0a88777f45b69914803ca46613", "_order": 0, "cache": {}, "request": { @@ -25098,15 +25077,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25121,18 +25100,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma?_action=nextdescendents" }, "response": { - "bodySize": 299, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25150,7 +25134,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25164,10 +25148,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-171890830\"" - }, { "name": "expires", "value": "0" @@ -25182,11 +25162,11 @@ }, { "name": "content-length", - "value": "299" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25197,14 +25177,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.978Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:37.400Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -25212,11 +25192,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 81 } }, { - "_id": "87f807be88293e9b34bafa20dbe826ab", + "_id": "46dbb3e41f5cca4424133bad967f8588", "_order": 0, "cache": {}, "request": { @@ -25233,15 +25213,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25256,18 +25236,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService?_action=nextdescendents" }, "response": { - "bodySize": 279, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25285,7 +25270,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25299,10 +25284,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"580379617\"" - }, { "name": "expires", "value": "0" @@ -25317,11 +25298,11 @@ }, { "name": "content-length", - "value": "279" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25332,14 +25313,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.979Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.401Z", + "time": 26, "timings": { "blocked": -1, "connect": -1, @@ -25347,11 +25328,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 26 } }, { - "_id": "fac9425cb1cb342b58a8ecc4da433523", + "_id": "666bbf74cef6d480f38a85a433d6fb13", "_order": 0, "cache": {}, "request": { @@ -25368,15 +25349,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25391,18 +25372,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService" }, "response": { - "bodySize": 1697, + "bodySize": 289, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1697, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true}" + "size": 289, + "text": "{\"_id\":\"\",\"_rev\":\"264274185\",\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25420,7 +25401,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25436,7 +25417,7 @@ }, { "name": "etag", - "value": "\"-1066789654\"" + "value": "\"264274185\"" }, { "name": "expires", @@ -25452,11 +25433,11 @@ }, { "name": "content-length", - "value": "1697" + "value": "289" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25467,14 +25448,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:35.995Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:37.401Z", + "time": 35, "timings": { "blocked": -1, "connect": -1, @@ -25482,11 +25463,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 35 } }, { - "_id": "1bcc6043a2d437f6ca7f352e7d40e50a", + "_id": "b6a2ca29b40c72e5615f444f96d44536", "_order": 0, "cache": {}, "request": { @@ -25503,15 +25484,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25526,18 +25507,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees" }, "response": { - "bodySize": 280, + "bodySize": 158, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 158, + "text": "{\"_id\":\"\",\"_rev\":\"-1844260382\",\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25555,7 +25536,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25571,7 +25552,7 @@ }, { "name": "etag", - "value": "\"-567112083\"" + "value": "\"-1844260382\"" }, { "name": "expires", @@ -25587,11 +25568,11 @@ }, { "name": "content-length", - "value": "280" + "value": "158" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25602,14 +25583,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.002Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.402Z", + "time": 27, "timings": { "blocked": -1, "connect": -1, @@ -25617,11 +25598,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 27 } }, { - "_id": "5a899e3a6e808edb7e9e718e3b4c8865", + "_id": "2d6f6519950a4f89e1231a6584b08b17", "_order": 0, "cache": {}, "request": { @@ -25638,15 +25619,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25661,153 +25642,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" - }, - "response": { - "bodySize": 221, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1217170264\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "221" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 594, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.002Z", - "time": 6, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 6 - } - }, - { - "_id": "384b4b226e0c9d04dc9970b7e5291225", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService?_action=nextdescendents" }, "response": { - "bodySize": 238, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25825,7 +25676,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25839,10 +25690,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"613466196\"" - }, { "name": "expires", "value": "0" @@ -25857,11 +25704,11 @@ }, { "name": "content-length", - "value": "238" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -25872,14 +25719,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.005Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:37.402Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -25887,11 +25734,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 45 } }, { - "_id": "c7057919e88985516083006a79a11ce5", + "_id": "08221c1ba5e9d241df0d31281cf428fd", "_order": 0, "cache": {}, "request": { @@ -25908,15 +25755,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25931,18 +25778,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService" }, "response": { - "bodySize": 206, + "bodySize": 149, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 149, + "text": "{\"_id\":\"\",\"_rev\":\"-1375352311\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25960,7 +25807,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25976,7 +25823,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"-1375352311\"" }, { "name": "expires", @@ -25992,11 +25839,11 @@ }, { "name": "content-length", - "value": "206" + "value": "149" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26007,14 +25854,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.005Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:37.403Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -26022,11 +25869,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 64 } }, { - "_id": "f6e96a2576e2b55a1df1aafe6b90b410", + "_id": "25ba1d71d0d0a758cf0fc87814e33305", "_order": 0, "cache": {}, "request": { @@ -26043,15 +25890,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26066,18 +25913,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 207, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26095,7 +25947,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26109,10 +25961,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-943748018\"" - }, { "name": "expires", "value": "0" @@ -26127,11 +25975,11 @@ }, { "name": "content-length", - "value": "207" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26142,14 +25990,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.006Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:37.403Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -26157,11 +26005,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 68 } }, { - "_id": "3e9f89c577065c1c977fa82e88b8314e", + "_id": "6d502387369dca8362490c18ad2fea27", "_order": 0, "cache": {}, "request": { @@ -26178,15 +26026,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26201,18 +26049,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 659, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26230,7 +26083,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26244,10 +26097,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1140433090\"" - }, { "name": "expires", "value": "0" @@ -26262,11 +26111,11 @@ }, { "name": "content-length", - "value": "659" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26277,14 +26126,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.006Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:37.404Z", + "time": 26, "timings": { "blocked": -1, "connect": -1, @@ -26292,11 +26141,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 26 } }, { - "_id": "5003c2d23cb608db462278edfb1d2c88", + "_id": "824ac842d846422b330604053d231372", "_order": 0, "cache": {}, "request": { @@ -26313,15 +26162,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26336,18 +26185,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/oath_registration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email" }, "response": { - "bodySize": 1299, + "bodySize": 269, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1299, - "text": "{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 269, + "text": "{\"_id\":\"\",\"_rev\":\"-1519962359\",\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26365,7 +26214,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26381,7 +26230,7 @@ }, { "name": "etag", - "value": "\"-1908077864\"" + "value": "\"-1519962359\"" }, { "name": "expires", @@ -26397,11 +26246,11 @@ }, { "name": "content-length", - "value": "1299" + "value": "269" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26412,14 +26261,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.019Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:37.404Z", + "time": 28, "timings": { "blocked": -1, "connect": -1, @@ -26427,11 +26276,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 28 } }, { - "_id": "cb7e4cde1f56a7b646e042adaabbe61d", + "_id": "184da6965f916475471a348d602e72f0", "_order": 0, "cache": {}, "request": { @@ -26448,15 +26297,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26471,18 +26320,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 576, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/35ca2418-908d-4b92-9320-ef8576851abb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist" }, "response": { - "bodySize": 239, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"35ca2418-908d-4b92-9320-ef8576851abb\",\"_rev\":\"1611669530\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 223, + "text": "{\"_id\":\"\",\"_rev\":\"-1376583802\",\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26500,7 +26349,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26516,7 +26365,7 @@ }, { "name": "etag", - "value": "\"1611669530\"" + "value": "\"-1376583802\"" }, { "name": "expires", @@ -26532,11 +26381,11 @@ }, { "name": "content-length", - "value": "239" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26547,14 +26396,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.027Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.405Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -26562,11 +26411,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 54 } }, { - "_id": "939860549cda52b4afa59c827001e1b5", + "_id": "dff6ae73d1f57c4056922e398d7c4868", "_order": 0, "cache": {}, "request": { @@ -26583,15 +26432,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26606,153 +26455,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 650, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathRegistrationNode/9bfb80e1-e05a-4b3c-90bd-7091c2839e28" - }, - "response": { - "bodySize": 585, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 585, - "text": "{\"_id\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"_rev\":\"623406650\",\"addChecksum\":false,\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"truncationOffset\":-1,\"algorithm\":\"TOTP\",\"postponeDeviceProfileStorage\":false,\"passwordLength\":\"SIX_DIGITS\",\"totpTimeInterval\":30,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"minSharedSecretLength\":32,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"_type\":{\"_id\":\"OathRegistrationNode\",\"name\":\"OATH Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"623406650\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "585" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.028Z", - "time": 7, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 7 - } - }, - { - "_id": "a21bb92ddfe6721146ce50dfdd12987d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathTokenVerifierNode/ab49ab43-4d09-46f2-a9ba-7330a6a7dce6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 495, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 495, - "text": "{\"_id\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\",\"_rev\":\"-745017813\",\"totpTimeInterval\":30,\"maximumAllowedClockDrift\":5,\"totpTimeSteps\":2,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"isRecoveryCodeAllowed\":false,\"algorithm\":\"TOTP\",\"hotpWindowSize\":100,\"_type\":{\"_id\":\"OathTokenVerifierNode\",\"name\":\"OATH Token Verifier\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"notRegisteredOutcome\",\"displayName\":\"Not registered\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26770,7 +26489,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26784,10 +26503,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-745017813\"" - }, { "name": "expires", "value": "0" @@ -26802,11 +26517,11 @@ }, { "name": "content-length", - "value": "495" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26817,14 +26532,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.028Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.405Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -26832,11 +26547,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 71 } }, { - "_id": "ab5fb701b86652a0ca74913f7d317f53", + "_id": "aa8d0efd6027cf434cdf7717533d5129", "_order": 0, "cache": {}, "request": { @@ -26853,15 +26568,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26876,18 +26591,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 561, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/fc5481db-cbee-479f-915a-2b40c54ce04e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction" }, "response": { - "bodySize": 463, + "bodySize": 154, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 463, - "text": "{\"_id\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"_rev\":\"478652641\",\"nodes\":[{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 154, + "text": "{\"_id\":\"\",\"_rev\":\"952091551\",\"defaults\":{\"timeToLive\":\"180\"},\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26905,7 +26620,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26921,7 +26636,7 @@ }, { "name": "etag", - "value": "\"478652641\"" + "value": "\"952091551\"" }, { "name": "expires", @@ -26937,11 +26652,11 @@ }, { "name": "content-length", - "value": "463" + "value": "154" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -26958,8 +26673,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.029Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:37.406Z", + "time": 37, "timings": { "blocked": -1, "connect": -1, @@ -26967,11 +26682,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 37 } }, { - "_id": "38b1225ea7e528a71712906608ce6dca", + "_id": "71cd40ac77e59b1ece5c4fca0f3d191a", "_order": 0, "cache": {}, "request": { @@ -26988,15 +26703,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27011,18 +26726,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7d7c8acb-e39b-466c-bbaf-cc70a3bf247c" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"_rev\":\"538550255\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27040,7 +26760,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27054,10 +26774,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"538550255\"" - }, { "name": "expires", "value": "0" @@ -27072,11 +26788,11 @@ }, { "name": "content-length", - "value": "258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27087,14 +26803,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.042Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.406Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -27102,11 +26818,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 49 } }, { - "_id": "649b0ef8f7319b1c407321225580f9f0", + "_id": "0f0d0a4b453852d74dd95eb75158145d", "_order": 0, "cache": {}, "request": { @@ -27123,15 +26839,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27146,153 +26862,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/a2f9aa81-fdea-403d-bcc8-a5342cc5d34f" - }, - "response": { - "bodySize": 259, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"_rev\":\"1283625433\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1283625433\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "259" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.043Z", - "time": 5, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 5 - } - }, - { - "_id": "ec8795e97e539750e4fe5ce5478ab166", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 609, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction?_action=nextdescendents" }, "response": { - "bodySize": 1258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27310,7 +26896,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27324,10 +26910,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1882065253\"" - }, { "name": "expires", "value": "0" @@ -27342,11 +26924,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:35 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27357,14 +26939,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.053Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.407Z", + "time": 33, "timings": { "blocked": -1, "connect": -1, @@ -27372,11 +26954,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 33 } }, { - "_id": "c1d0d05e6cd91d387279d4e53ab67fa3", + "_id": "906eb3085924f249274ad9bf9413de4f", "_order": 0, "cache": {}, "request": { @@ -27393,15 +26975,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27416,18 +26998,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 561, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService" }, "response": { - "bodySize": 207, + "bodySize": 115, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 115, + "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -27445,7 +27027,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27461,7 +27043,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"515901845\"" }, { "name": "expires", @@ -27477,11 +27059,11 @@ }, { "name": "content-length", - "value": "207" + "value": "115" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27492,14 +27074,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.068Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.407Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -27507,11 +27089,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 63 } }, { - "_id": "14b5a16b34b1cc1351f4e912333a510c", + "_id": "b1c6a0d5b2c3fa4321123ce891a0b536", "_order": 0, "cache": {}, "request": { @@ -27528,15 +27110,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27551,18 +27133,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService?_action=nextdescendents" }, "response": { - "bodySize": 348, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27580,7 +27167,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27594,10 +27181,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1056905201\"" - }, { "name": "expires", "value": "0" @@ -27612,11 +27195,11 @@ }, { "name": "content-length", - "value": "348" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27627,14 +27210,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.069Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.408Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -27642,11 +27225,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 83 } }, { - "_id": "b5f8e0b4d452715cc94a05241260a913", + "_id": "567afac7b64fac9fc44eee1ee3f9629f", "_order": 0, "cache": {}, "request": { @@ -27663,15 +27246,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27686,18 +27269,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService?_action=nextdescendents" }, "response": { - "bodySize": 401, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27715,7 +27303,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27729,10 +27317,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2091792219\"" - }, { "name": "expires", "value": "0" @@ -27747,11 +27331,11 @@ }, { "name": "content-length", - "value": "401" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27762,14 +27346,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.071Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.409Z", + "time": 52, "timings": { "blocked": -1, "connect": -1, @@ -27777,11 +27361,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 52 } }, { - "_id": "f3347e597b592fdf58b1d2aab73e27bc", + "_id": "4cb14745eb57c6e8f52b8c1c55244d88", "_order": 0, "cache": {}, "request": { @@ -27798,15 +27382,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27821,18 +27405,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService" }, "response": { - "bodySize": 205, + "bodySize": 218, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 218, + "text": "{\"_id\":\"\",\"_rev\":\"-407983627\",\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -27850,7 +27434,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27866,7 +27450,7 @@ }, { "name": "etag", - "value": "\"49533813\"" + "value": "\"-407983627\"" }, { "name": "expires", @@ -27882,11 +27466,11 @@ }, { "name": "content-length", - "value": "205" + "value": "218" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -27897,14 +27481,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.071Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:37.409Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -27912,11 +27496,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 53 } }, { - "_id": "8e0add441703faaf8747c69765e7eef4", + "_id": "48812618994142d904f197bd7436cfd6", "_order": 0, "cache": {}, "request": { @@ -27933,15 +27517,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27956,18 +27540,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService" }, "response": { - "bodySize": 240, + "bodySize": 163, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 163, + "text": "{\"_id\":\"\",\"_rev\":\"2076588921\",\"enabled\":true,\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -27985,7 +27569,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28001,7 +27585,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"2076588921\"" }, { "name": "expires", @@ -28017,11 +27601,11 @@ }, { "name": "content-length", - "value": "240" + "value": "163" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -28032,14 +27616,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.072Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:37.410Z", + "time": 28, "timings": { "blocked": -1, "connect": -1, @@ -28047,11 +27631,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 28 } }, { - "_id": "cc68eba3eaeb0422c7a0cea11595c457", + "_id": "c1ff5d9924add9877b5de2aae1899253", "_order": 0, "cache": {}, "request": { @@ -28068,15 +27652,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -28091,18 +27675,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 618, + "headersSize": 607, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService?_action=nextdescendents" }, "response": { - "bodySize": 1052, + "bodySize": 201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "size": 201, + "text": "{\"result\":[{\"disallowedSecretNamePatterns\":[],\"allowedRealms\":[\"*\"],\"allowedSecretNamePatterns\":[\"*\"],\"_id\":\"default\",\"_type\":{\"_id\":\"serviceAccounts\",\"name\":\"GCP Service Account\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -28120,7 +27709,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28134,10 +27723,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"460502738\"" - }, { "name": "expires", "value": "0" @@ -28152,11 +27737,11 @@ }, { "name": "content-length", - "value": "1052" + "value": "201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -28167,14 +27752,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.079Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:37.410Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -28182,11 +27767,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 82 } }, { - "_id": "de2361902b14ddb219d17034dcb9d4c8", + "_id": "b07b722406a6f6bb8728cd0350a0aa27", "_order": 0, "cache": {}, "request": { @@ -28203,15 +27788,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -28226,18 +27811,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 564, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/sites?_queryFilter=true" }, "response": { - "bodySize": 265, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 295, + "text": "{\"result\":[{\"_id\":\"testsite\",\"_rev\":\"-1812603459\",\"id\":\"02\",\"url\":\"http://testurl.com:8080\",\"secondaryURLs\":[],\"servers\":[{\"id\":\"03\",\"url\":\"http://localhost:8081/am\"}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -28255,7 +27845,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -28270,8 +27860,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"-1300278465\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "295" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:37.510Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "d6b1ddcc1a60b3acba7ba0383d6c2f61", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 275, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 275, + "text": "{\"result\":[{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-419353115\",\"entityId\":\"Test Entity\",\"location\":\"hosted\",\"roles\":[\"identityProvider\",\"serviceProvider\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -28287,11 +28009,11 @@ }, { "name": "content-length", - "value": "265" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -28302,14 +28024,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.086Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:37.524Z", + "time": 311, "timings": { "blocked": -1, "connect": -1, @@ -28317,11 +28039,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 311 } }, { - "_id": "307e77f88ad295ac9c29deba3da6fbb9", + "_id": "b7f90fbbb1bc9e5b328ec4bc16a64c91", "_order": 0, "cache": {}, "request": { @@ -28338,15 +28060,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28361,18 +28083,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 580, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2/hosted/VGVzdCBFbnRpdHk" }, "response": { - "bodySize": 474, + "bodySize": 7102, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 7102, + "text": "{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-1034855459\",\"entityId\":\"Test Entity\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\",\"binary\":false}]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}]},\"assertionTime\":{\"notBeforeTimeSkew\":600,\"effectiveTime\":600},\"basicAuthentication\":{},\"assertionCache\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"localConfiguration\":{}},\"services\":{\"metaAlias\":\"/test\",\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/ArtifactResolver/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPSloSoap/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPMniSoap/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SSORedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SSOPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SSOSoap/metaAlias/test\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/NIMSoap/metaAlias/test\"}],\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"http://localhost:8080/am/AIDReqUri/IDPRole/metaAlias/test\"}]},\"advanced\":{\"saeConfiguration\":{\"idpUrl\":\"http://localhost:8080/am/idpsaehandler/metaAlias/test\"},\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"sessionSynchronization\":{},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"}}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}]},\"autoFederation\":{},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{\"spAdapterScript\":\"[Empty]\"}},\"services\":{\"metaAlias\":\"/test2\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPSloSoap/metaAlias/test2\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"http://localhost:8080/am/Consumer/ECP/metaAlias/test2\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"http://localhost:8080/am/spsaehandler/metaAlias/test2\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" }, "cookies": [], "headers": [ @@ -28390,7 +28112,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28406,7 +28128,7 @@ }, { "name": "etag", - "value": "\"-1018162955\"" + "value": "\"-1034855459\"" }, { "name": "expires", @@ -28422,11 +28144,11 @@ }, { "name": "content-length", - "value": "474" + "value": "7102" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:37 GMT" }, { "name": "keep-alive", @@ -28437,14 +28159,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.087Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:37.839Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -28452,11 +28174,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 78 } }, { - "_id": "41a7fb4e7305b065b48e731d7f620c94", + "_id": "f413738e5b3c3d850a98db6d9acacf68", "_order": 0, "cache": {}, "request": { @@ -28473,11 +28195,19891 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 583, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "entityid", + "value": "Test Entity" + }, + { + "name": "realm", + "value": "/" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/saml2/jsp/exportmetadata.jsp?entityid=Test%20Entity&realm=%2F" + }, + "response": { + "bodySize": 12743, + "content": { + "mimeType": "text/xml;charset=utf-8", + "size": 12743, + "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + }, + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "value": "" + } + ], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; HttpOnly" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "text/xml;charset=utf-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 310, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:37.922Z", + "time": 144, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 144 + } + }, + { + "_id": "16b4d6835311083e9a04b8f180be0624", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 595, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 293, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 293, + "text": "{\"result\":[{\"_id\":\"Test COT\",\"_rev\":\"-2140927674\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "293" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.073Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "5a4bfd0e4010e635b39bbcf6b3cee554", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 15951, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15951, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://test.com:8080/cool/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"testwebgroup\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"Test Web Group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"Test Java Group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"advancedOAuth2ClientConfig\":{\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"signEncOAuth2ClientConfig\":{\"authorizationResponseEncryptionMethod\":null,\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"Oauth2 group\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"publishServicePollInterval\":300,\"_id\":\"Test SOAP STS group\",\"_type\":{\"_id\":\"SoapSTSAgent\",\"name\":\"SOAP STS Agents\",\"collection\":true}},{\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_id\":\"Remote consent group\",\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}},{\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"_id\":\"Software publisher group\",\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}},{\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"Test IG Group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_id\":\"Trusted JWT group\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 472, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.087Z", + "time": 31, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 31 + } + }, + { + "_id": "0f3fe51aa0436d2dc74ad859cedb3563", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 586, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 327, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 327, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-120305353\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"userpassword\":null,\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "327" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.129Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "17a7c6fbcaf476f8afc67b6596464df0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 597, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 436, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 436, + "text": "{\"result\":[{\"_id\":\"Test IG\",\"_rev\":\"2092403291\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"userpassword\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "436" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.130Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "d83aa555544160429e636285897f1520", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 588, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 435, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-11-06T16:35:38.131Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "c599288e5350ec265059828409fafbfc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 586, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 5425, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5425, + "text": "{\"result\":[{\"_id\":\"test java\",\"_rev\":\"-1966552764\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/test/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":\"Test Java Group\",\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/test/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5425" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.131Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "5e52bfd8d92df609bf6dd870b3b17721", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 595, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 810, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "810" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.132Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "d33544e79727b38cb1476635f480c5fe", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 588, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.132Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "1e0a12379a1bd6e77d20975aad18e164", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SoapSTSAgent?_queryFilter=true" + }, + "response": { + "bodySize": 306, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 306, + "text": "{\"result\":[{\"_id\":\"Test SOAP STS\",\"_rev\":\"1085485165\",\"publishServicePollInterval\":300,\"agentgroup\":null,\"_type\":{\"_id\":\"SoapSTSAgent\",\"name\":\"SOAP STS Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "306" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.133Z", + "time": 20, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 20 + } + }, + { + "_id": "e5a82b9ad729e21a73eb21c125799e29", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 594, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 478, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "478" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.134Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "89988287e6deabeb2a140b1645472c7a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 3713, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3713, + "text": "{\"result\":[{\"_id\":\"Test Web\",\"_rev\":\"899560106\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testurl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3713" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.134Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "6ffa07e8591b72f4066208a2dc37fe81", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 571, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc" + }, + "response": { + "bodySize": 8380, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2117196426\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.163Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "0be90d7b6e7dd4855d706b20e525f54a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Client?_queryFilter=true" + }, + "response": { + "bodySize": 3851, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3851, + "text": "{\"result\":[{\"_id\":\"test client\",\"_rev\":\"34495015\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3851" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.173Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "011d22df4815560b84d2c34a13278ef2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" + }, + "response": { + "bodySize": 1299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1299, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370265\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2141370265\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1299" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.188Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "d6741a7ea4fcd850a94e70818d8bcaeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 628, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 1460, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1460, + "text": "{\"result\":[{\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"clientId\":\"test\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonClass\":\"\",\"buttonImage\":\"images/g-logo.png\",\"buttonDisplayName\":\"Google\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"iconClass\":\"fa-google\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://testurl.com\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"useCustomTrustStore\":false,\"responseMode\":\"DEFAULT\",\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"Google Test\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1460" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 466, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.196Z", + "time": 28, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 28 + } + }, + { + "_id": "54773fdb435a4cd39e13cec564ed6a56", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 583, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts/58d29080-4563-480b-89bb-1e7719776a21" + }, + "response": { + "bodySize": 1415, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1415, + "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1415" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 466, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.230Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "9c7ac5d847f63f1218896fc2f2526d06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + }, + "response": { + "bodySize": 22262, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 22262, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true},{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}],\"resultCount\":19,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.238Z", + "time": 21, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 21 + } + }, + { + "_id": "93a17c35082b335e3a24bfd4d831dcd4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 598, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Agent" + }, + "response": { + "bodySize": 676, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1016023191\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "676" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.264Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "ca20f5d91851ab3027484a85464e0075", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 656, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + }, + "response": { + "bodySize": 250, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1036485453\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "250" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.272Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "204ce19cfa6edca3188577cd85e06f4d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 647, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + }, + "response": { + "bodySize": 384, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"482303273\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "384" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.273Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "0eccafbc13d10a34ff5fcee74492dff8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Example" + }, + "response": { + "bodySize": 1043, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-536916143\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1043" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.288Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "930db69307f61b5ea83ae755a2ca7d10", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1201833788\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.298Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "bdb0662e3e0394951eae09a95fa5f31f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + }, + "response": { + "bodySize": 208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1271206475\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "208" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.298Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "d934c4a642d09c1c142f3b744df6e742", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 647, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + }, + "response": { + "bodySize": 385, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1517053596\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "385" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.299Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "5fd52411fd457934867c0c383b90471c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + }, + "response": { + "bodySize": 208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1588216686\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "208" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.299Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "57673a324cb16e9954ac5fd7ff50cad6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 621, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + }, + "response": { + "bodySize": 668, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-152060055\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "668" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:37 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.312Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "a4d643de39c16824ae3bb0af2cfa64d9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 648, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + }, + "response": { + "bodySize": 1332, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"756891103\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1332" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.320Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "40c846c4bde98e561d73fc4f47eafeba", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + }, + "response": { + "bodySize": 318, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"264081780\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "318" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.321Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "0699b7c0159925a71a78ea237d5a5f1a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + }, + "response": { + "bodySize": 831, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1066064282\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "831" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.340Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "c1fa279e046ed9d159c7379ffb4fe062", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 647, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + }, + "response": { + "bodySize": 237, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-85053235\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "237" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.349Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "db397c9469282022c1c74b8193d314f6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + }, + "response": { + "bodySize": 1284, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"328700129\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1284" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.350Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "52970e272da7ae87038e34338c69e152", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 647, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1739808917\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.350Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "c0ef040212c2b72c00bd2b3653d144e2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + }, + "response": { + "bodySize": 1729, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1048135735\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1729" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.361Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "b5dedfcb8ec418c363d1089eba7588b7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + }, + "response": { + "bodySize": 327, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2002571022\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "327" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.371Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "947f5e8d0b26ba3755b8982b05391d76", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + }, + "response": { + "bodySize": 1285, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1821134736\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1285" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.372Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "87695f7697465f9ccf73abfc87e088b0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 648, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1210949842\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.372Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "d78bd0e79a76056767ae5716e1f88752", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + }, + "response": { + "bodySize": 659, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-470328822\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "659" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.373Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "db34841aec18e027bacbb021da712f34", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + }, + "response": { + "bodySize": 299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-171890830\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "299" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.373Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "a471f150133917cc4bfb9cc945a57fd5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + }, + "response": { + "bodySize": 222, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1709503699\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "222" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.374Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "87f807be88293e9b34bafa20dbe826ab", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + }, + "response": { + "bodySize": 279, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"580379617\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "279" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.374Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "fac9425cb1cb342b58a8ecc4da433523", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 612, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + }, + "response": { + "bodySize": 1697, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1697, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1066789654\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1697" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.389Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "5a899e3a6e808edb7e9e718e3b4c8865", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + }, + "response": { + "bodySize": 221, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1217170264\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "221" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.400Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "1bcc6043a2d437f6ca7f352e7d40e50a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + }, + "response": { + "bodySize": 280, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-567112083\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "280" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.401Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "384b4b226e0c9d04dc9970b7e5291225", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + }, + "response": { + "bodySize": 238, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"613466196\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "238" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.402Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "c7057919e88985516083006a79a11ce5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + }, + "response": { + "bodySize": 206, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"821878048\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "206" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.402Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "3e9f89c577065c1c977fa82e88b8314e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + }, + "response": { + "bodySize": 659, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1140433090\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "659" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.402Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "f6e96a2576e2b55a1df1aafe6b90b410", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-943748018\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.403Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "5003c2d23cb608db462278edfb1d2c88", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/oath_registration" + }, + "response": { + "bodySize": 1299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1299, + "text": "{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1908077864\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1299" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.414Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "cb7e4cde1f56a7b646e042adaabbe61d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/35ca2418-908d-4b92-9320-ef8576851abb" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"35ca2418-908d-4b92-9320-ef8576851abb\",\"_rev\":\"1611669530\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1611669530\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.423Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "939860549cda52b4afa59c827001e1b5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 650, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathRegistrationNode/9bfb80e1-e05a-4b3c-90bd-7091c2839e28" + }, + "response": { + "bodySize": 585, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 585, + "text": "{\"_id\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"_rev\":\"623406650\",\"addChecksum\":false,\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"truncationOffset\":-1,\"algorithm\":\"TOTP\",\"postponeDeviceProfileStorage\":false,\"passwordLength\":\"SIX_DIGITS\",\"totpTimeInterval\":30,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"minSharedSecretLength\":32,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"_type\":{\"_id\":\"OathRegistrationNode\",\"name\":\"OATH Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"623406650\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "585" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.423Z", + "time": 13, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 13 + } + }, + { + "_id": "a21bb92ddfe6721146ce50dfdd12987d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathTokenVerifierNode/ab49ab43-4d09-46f2-a9ba-7330a6a7dce6" + }, + "response": { + "bodySize": 495, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 495, + "text": "{\"_id\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\",\"_rev\":\"-745017813\",\"totpTimeInterval\":30,\"maximumAllowedClockDrift\":5,\"totpTimeSteps\":2,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"isRecoveryCodeAllowed\":false,\"algorithm\":\"TOTP\",\"hotpWindowSize\":100,\"_type\":{\"_id\":\"OathTokenVerifierNode\",\"name\":\"OATH Token Verifier\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"notRegisteredOutcome\",\"displayName\":\"Not registered\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-745017813\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "495" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.424Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "ab5fb701b86652a0ca74913f7d317f53", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/fc5481db-cbee-479f-915a-2b40c54ce04e" + }, + "response": { + "bodySize": 463, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 463, + "text": "{\"_id\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"_rev\":\"478652641\",\"nodes\":[{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"478652641\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "463" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.425Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "38b1225ea7e528a71712906608ce6dca", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7d7c8acb-e39b-466c-bbaf-cc70a3bf247c" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"_rev\":\"538550255\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"538550255\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.445Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "649b0ef8f7319b1c407321225580f9f0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/a2f9aa81-fdea-403d-bcc8-a5342cc5d34f" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"_rev\":\"1283625433\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1283625433\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.446Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "ec8795e97e539750e4fe5ce5478ab166", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + }, + "response": { + "bodySize": 1258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1882065253\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.458Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "c1d0d05e6cd91d387279d4e53ab67fa3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1365565913\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.467Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "14b5a16b34b1cc1351f4e912333a510c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + }, + "response": { + "bodySize": 348, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1056905201\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "348" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.468Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "b5f8e0b4d452715cc94a05241260a913", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + }, + "response": { + "bodySize": 401, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2091792219\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "401" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.468Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "f3347e597b592fdf58b1d2aab73e27bc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + }, + "response": { + "bodySize": 205, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"49533813\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "205" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 483, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.469Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "8e0add441703faaf8747c69765e7eef4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + }, + "response": { + "bodySize": 240, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1504299596\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "240" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.470Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "cc68eba3eaeb0422c7a0cea11595c457", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 618, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + }, + "response": { + "bodySize": 1052, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"460502738\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1052" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.481Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "41a7fb4e7305b065b48e731d7f620c94", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + }, + "response": { + "bodySize": 437, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1682915712\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "437" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.489Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "de2361902b14ddb219d17034dcb9d4c8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + }, + "response": { + "bodySize": 265, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1300278465\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "265" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.489Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "f9f578e6f5836db8de99fe082c63d505", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 654, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1599353126\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.490Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "307e77f88ad295ac9c29deba3da6fbb9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + }, + "response": { + "bodySize": 474, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1018162955\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "474" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.490Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "e3f8cde78703d5d214b15df2803c9a59", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + }, + "response": { + "bodySize": 305, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"104930768\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "305" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.502Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "4cf3d661cba37e823acd1be25b4c17f5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + }, + "response": { + "bodySize": 1047, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2033523620\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1047" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.513Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "24f98dad3fc890f31f9131f10e6761f2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1707653179\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "243" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.523Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "5f2eebbc97a437c2f163f80d12a6de9c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1478640305\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.524Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "a92648e0e513ab2f9abb1797d4a1e2c0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + }, + "response": { + "bodySize": 278, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1613803341\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "278" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.524Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "75e57f4451a5151352a96b749257aa32", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + }, + "response": { + "bodySize": 711, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-202662309\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "711" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.525Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "cbae75a29392c168b5169a3631a069dc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"128653632\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.535Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "bc356676a43d6cd88c77db4d8db7d08f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + }, + "response": { + "bodySize": 260, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1790782773\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "260" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.536Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "8de752ffec9e3b3dd0aea8d9f48461ac", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 619, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + }, + "response": { + "bodySize": 1119, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-686533928\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1119" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.544Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "68043464f486d95bdae1f93943eaf345", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + }, + "response": { + "bodySize": 376, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"511839934\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "376" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.552Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "a103b6cc9e80a9148faffd133107119b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1655043290\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "404" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.553Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "ff4cde59b928bdfd379441f53fc20c64", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + }, + "response": { + "bodySize": 300, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1735965231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "300" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.553Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "d76f02fc3facdeb9109fa3ba9ce67edc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + }, + "response": { + "bodySize": 340, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"712832963\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "340" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.554Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "3f2a1abe64d10da7fbed71fd61254daf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + }, + "response": { + "bodySize": 351, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1799080778\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "351" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.567Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "a87709ffdc21c7fefad0156bb1764988", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + }, + "response": { + "bodySize": 819, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1526211113\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "819" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.575Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "51d4fc40951eea3fec7c284468f137af", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1743893705\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "243" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.583Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "27838e48d2d84ec0169373525d6e1176", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + }, + "response": { + "bodySize": 959, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1037301643\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "959" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.584Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "230af9b4afa85d96accb2b7d7e0e998c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + }, + "response": { + "bodySize": 271, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1895090878\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "271" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.584Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "ef3c042d37501c2232538b7f383823d9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + }, + "response": { + "bodySize": 371, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"790804755\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "371" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.601Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "227865ce09d751927b597045b968a37c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1365755177\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.601Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "7fcac09925e519944ee6c25a70f6d6ed", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-347683889\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.602Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "f7b11c90271c6cbb9d6005f68c2e664f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 643, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + }, + "response": { + "bodySize": 275, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1855541828\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "275" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.602Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "1067e3e8038721d641be47b9f1efcc9a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1310629925\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.603Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "8688e83a3ca385e9a0f54b0985bc8612", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + }, + "response": { + "bodySize": 1201, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1171487776\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1201" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.612Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "6cb256afdd70defeb71fa66e0988c42e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 654, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + }, + "response": { + "bodySize": 295, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-77719538\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "295" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.622Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "973bccd0bc94c86dda98da9b264aa6fb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + }, + "response": { + "bodySize": 407, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1578060484\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "407" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.622Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "7143192540f24bf1a2121588f84ba903", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + }, + "response": { + "bodySize": 433, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1395544271\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "433" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.623Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "ad26c10af137095071e17202330e338f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + }, + "response": { + "bodySize": 469, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1522661276\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "469" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.623Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "34a3d974162be880172c02f2212c5ff0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + }, + "response": { + "bodySize": 336, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"875182106\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "336" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.624Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "692161e6670f557ca32ee9164ca7afad", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1323058199\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.632Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "37a261d2df15af9f8fa1d4747c2c900c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + }, + "response": { + "bodySize": 306, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-415466582\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "306" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.633Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "10622e01f510e68b50e6bf3655acfe82", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + }, + "response": { + "bodySize": 1639, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"433260882\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1639" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.641Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "5eb31a46c0b1ab6671556567c7061cc4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1309752765\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.650Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "0e1e8fd1185929f93872dad007bc2e68", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + }, + "response": { + "bodySize": 315, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1874082022\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "315" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.650Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "afd49cbf047aedc6213597e0b34e66d0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + }, + "response": { + "bodySize": 485, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-529786920\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "485" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.651Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "1dec51c74d5c0300f685e657ab6e888b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + }, + "response": { + "bodySize": 349, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"894949571\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "349" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.652Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "250733b8a391b619033afa3793a588c6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + }, + "response": { + "bodySize": 422, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"384347514\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "422" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.652Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "5476c57261c4d1bc5dd9d3225f7c4e4b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + }, + "response": { + "bodySize": 410, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-895759180\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "410" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.653Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "f94ebacf0b08dc66c26c615b07bb68fc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + }, + "response": { + "bodySize": 256, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-852986593\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "256" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.654Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "6eb01df757bbe55ede27e5b79eb9bebc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-611727803\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.669Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "781feff853a97404af139878c570ebd9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"502723459\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "257" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.670Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "08e5ec754bb94bc4c9768213caebf3e8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/push_registration" + }, + "response": { + "bodySize": 1801, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1801, + "text": "{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-250131000\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1801" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.678Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "70967fd5c2b40f15ef50562827ad51f3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/07bc635b-5a3f-461b-87ee-e76c9fa22738" + }, + "response": { + "bodySize": 465, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 465, + "text": "{\"_id\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"_rev\":\"-2057388206\",\"nodes\":[{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2057388206\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "465" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.687Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "1b2da9d36696fe0b48cd9876c5a90c3b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/0e161d10-c2d1-4196-8b41-59f80be4a587" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"0e161d10-c2d1-4196-8b41-59f80be4a587\",\"_rev\":\"1313222188\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1313222188\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.688Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "d24dbc68a2e0dfb9ee0eb851ff02fc3b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushAuthenticationSenderNode/1323d24e-b9f8-4396-a9ce-4550fe3ac84f" + }, + "response": { + "bodySize": 439, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 439, + "text": "{\"_id\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"_rev\":\"1886752343\",\"captureFailure\":false,\"contextInfo\":false,\"userMessage\":{},\"pushType\":\"DEFAULT\",\"customPayload\":[],\"mandatory\":false,\"messageTimeout\":120000,\"_type\":{\"_id\":\"PushAuthenticationSenderNode\",\"name\":\"Push Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"SENT\",\"displayName\":\"Sent\"},{\"id\":\"NOT_REGISTERED\",\"displayName\":\"Not Registered\"},{\"id\":\"SKIPPED\",\"displayName\":\"Skipped\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1886752343\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "439" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.689Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "b5814fd777fe89e5c0738909a6508ee6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushResultVerifierNode/527e6b31-01db-409c-8f52-01a5b7f48737" + }, + "response": { + "bodySize": 333, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 333, + "text": "{\"_id\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"_rev\":\"-693031123\",\"_type\":{\"_id\":\"PushResultVerifierNode\",\"name\":\"Push Result Verifier Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"Success\"},{\"id\":\"FALSE\",\"displayName\":\"Failure\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"},{\"id\":\"WAITING\",\"displayName\":\"Waiting\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-693031123\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "333" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.689Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "891fb1de222148542206d80c8455c621", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 650, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushRegistrationNode/c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c" + }, + "response": { + "bodySize": 438, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 438, + "text": "{\"_id\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"_rev\":\"126603270\",\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"timeout\":60,\"_type\":{\"_id\":\"PushRegistrationNode\",\"name\":\"Push Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"timeoutOutcome\",\"displayName\":\"Time Out\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"126603270\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "438" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.690Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "64414d9108826f97c281f9ecc4b388fd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 642, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushWaitNode/ccb48486-0d8e-475d-a002-29d0bfa1177a" + }, + "response": { + "bodySize": 302, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 302, + "text": "{\"_id\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"_rev\":\"1204164942\",\"challengeMessage\":{},\"exitMessage\":{},\"waitingMessage\":{},\"secondsToWait\":5,\"_type\":{\"_id\":\"PushWaitNode\",\"name\":\"Push Wait Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"DONE\",\"displayName\":\"Done\"},{\"id\":\"EXITED\",\"displayName\":\"Exit\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1204164942\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "302" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.690Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "c30fecc22bf86d0ed55bd08e0ecc9cf5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/1eb148f2-82e0-49c6-a330-e6a6d1a9eea9" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"_rev\":\"499818596\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"499818596\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.708Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "0339a36d8cd2e6f592b6e94c5822e283", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7ab18633-6eb0-455d-97ff-40ff7db4862a" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"_rev\":\"1208874462\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1208874462\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.709Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "ad1add3dc919dba7012fa842f369ab3b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/RetryLimit" + }, + "response": { + "bodySize": 1231, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1417605028\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1231" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.717Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "62b8aea68448de894f05b7cc15aa9294", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1991543646\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.725Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "700f8712bf9943d27f5c4340321399df", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"376925853\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.726Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "4a18bb1295115390e21f1d3323ae2d53", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1844311587\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.727Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "7d4e7ce5745725156daa0a42b329299a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1366894111\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.727Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "d929de4c4200fd162a9aa79944a48133", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 648, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + }, + "response": { + "bodySize": 221, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 221, + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2057819892\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "221" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.728Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "65a20f9887ccb9065a06104420d14a49", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 596, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/six" + }, + "response": { + "bodySize": 1202, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1202, + "text": "{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1231202898\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1202" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.738Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "b9ee1f7116da2fd85af21cac06670161", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/295a70ba-2b67-4a48-bf13-237ce0a55450" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"295a70ba-2b67-4a48-bf13-237ce0a55450\",\"_rev\":\"161778965\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"161778965\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.746Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "6af13b3c256c3c0aaccd2429e3131215", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/5883ff1e-80dd-49f5-a609-120303e1b0cd" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"5883ff1e-80dd-49f5-a609-120303e1b0cd\",\"_rev\":\"1326879436\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1326879436\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.747Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "9639a85d9151a7e1ac0e6a5023e3e3ab", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/4a77788d-d443-4646-ac52-5cb9f2207a8a" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"4a77788d-d443-4646-ac52-5cb9f2207a8a\",\"_rev\":\"-745501524\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-745501524\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.747Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "3d0fc8e8d2752f8dbb5227e155ff2631", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/59129227-f192-4ff4-a7b4-bc7690b82d4f" + }, + "response": { + "bodySize": 260, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 260, + "text": "{\"_id\":\"59129227-f192-4ff4-a7b4-bc7690b82d4f\",\"_rev\":\"-1475080074\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1475080074\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "260" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.748Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "932ac25bfe97ae2403eaa15c1edd2f87", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/6a1aa88f-25f8-4d40-8008-bfc6684b2a58" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\",\"_rev\":\"1687799310\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1687799310\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.748Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "cff55c70988d655879dc2eba79c32bd9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\",\"_rev\":\"1681212105\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1681212105\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.749Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "810439ed432ba4aeca554d226f6261d3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 597, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/test" + }, + "response": { + "bodySize": 305, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 305, + "text": "{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2111683877\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "305" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.758Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "c47d9894a4df7f96999c6b94182e8cfa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/webauthn_registration" + }, + "response": { + "bodySize": 1488, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1488, + "text": "{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1750078555\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1488" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.765Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "1b3569af4eff0544f9a5cc0ac1b9c9c6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 638, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/807106ff-fb66-469e-93bb-4e0834f6c875" + }, + "response": { + "bodySize": 464, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 464, + "text": "{\"_id\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"_rev\":\"-890592433\",\"nodes\":[{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-890592433\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "464" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.774Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "46ec9c11b0fe469befa1ad3b2e43646a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 654, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnRegistrationNode/72ef6e1d-930c-4bed-922a-850815d98ea1" + }, + "response": { + "bodySize": 832, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 832, + "text": "{\"_id\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"_rev\":\"-990617448\",\"trustStoreAlias\":\"trustalias\",\"relyingPartyName\":\"ForgeRock\",\"maxSavedDevices\":0,\"generateRecoveryCodes\":true,\"storeAttestationDataInTransientState\":false,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"postponeDeviceProfileStorage\":false,\"excludeCredentials\":false,\"requiresResidentKey\":false,\"authenticatorAttachment\":\"UNSPECIFIED\",\"asScript\":true,\"acceptedSigningAlgorithms\":[\"ES256\",\"RS256\"],\"attestationPreference\":\"NONE\",\"enforceRevocationCheck\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnRegistrationNode\",\"name\":\"WebAuthn Registration Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-990617448\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "832" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.774Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "c4a09b17a05d7a5c66526f4172756e78", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/878eb28e-41b2-4bd7-9256-80ed427bd168" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\",\"_rev\":\"-398538787\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-398538787\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.775Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "dc9f100de7fa4960a76386e258b57a4f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 656, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnAuthenticationNode/9fce34fc-03f1-4fb1-8ce5-1feff34a403c" + }, + "response": { + "bodySize": 553, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 553, + "text": "{\"_id\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"_rev\":\"1437065775\",\"requiresResidentKey\":false,\"asScript\":true,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"isRecoveryCodeAllowed\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnAuthenticationNode\",\"name\":\"WebAuthn Authentication Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"noDevice\",\"displayName\":\"No Device Registered\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1437065775\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "553" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.776Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "45e2b86d47e4539b8333bfaa20dddbdf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/08faa9c0-7c19-454a-a4e1-0692d94615f6" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"_rev\":\"1598789339\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1598789339\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.794Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "d6bee6c1f5a266692b2baa233e9ffcc5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3334a349-b2ea-42e0-86b8-9f6c39d43dad" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"_rev\":\"-492443345\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-492443345\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.795Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "0965f269fcda0ed0bd98dc281be677ad", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 552, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/policies?_queryFilter=true" + }, + "response": { + "bodySize": 743, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 743, + "text": "{\"result\":[{\"_id\":\"Test Policy\",\"_rev\":\"1728509786771\",\"name\":\"Test Policy\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*?*\"],\"applicationName\":\"iPlanetAMWebAgentService\",\"actionValues\":{},\"subject\":{\"type\":\"AND\",\"subjects\":[{\"type\":\"NONE\"},{\"type\":\"Identity\",\"subjectValues\":[\"id=phales,ou=user,dc=openam,dc=forgerock,dc=org\"]}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":\"2024-10-09T21:36:26.771Z\",\"createdBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":\"2024-06-27T17:07:04.220Z\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.1, resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "743" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.803Z", + "time": 31, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 31 + } + }, + { + "_id": "e2667422f2152dbbb72d90e735b523c4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 642, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + }, + "response": { + "bodySize": 1994, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1994, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"name\":\"iPlanetAMWebAgentService\",\"displayName\":\"Default Policy Set\",\"description\":\"The built-in Application used by OpenAM Policy Agents.\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1718897366825,\"lastModifiedDate\":1728509786744,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"},{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1718897366918,\"lastModifiedDate\":1728509786761,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=2.1, resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1994" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.839Z", + "time": 28, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 28 + } + }, + { + "_id": "cc4540aef38f68690fef36a5beb34aad", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 641, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + }, + "response": { + "bodySize": 1031, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1031, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1517161800564,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786611},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1422892465848,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786629}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1031" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.872Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "139b5e629e98bccba72c676d156cb3da", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 564, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts?_queryFilter=true" + }, + "response": { + "bodySize": 198250, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 198250, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"description\":\"This is a test script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"description\":\"Test script description\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"name\":\"Legacy\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":41,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.1, resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.892Z", + "time": 8, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 8 + } + }, + { + "_id": "b6333952c3219c251f531046edd5767f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 597, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"test script 2\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22test%20script%202%22" + }, + "response": { + "bodySize": 403, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 403, + "text": "{\"result\":[{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "403" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.906Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "f0cdb567881ce8f5aa24b16ffb8be086", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 593, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Test Script\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22Test%20Script%22" + }, + "response": { + "bodySize": 401, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 401, + "text": "{\"result\":[{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "401" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:38.988Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "d98fffca3283f12788b818f5cc7fb270", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 594, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"NextGeneration\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22NextGeneration%22" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"result\":[{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "404" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.004Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "67b162aa4e286a6239fd5c5ca856af0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 596, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Library Script\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "404" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.018Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "6baad0bba4f335062a535223ebb6dd9f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores?_action=nextdescendents" + }, + "response": { + "bodySize": 523, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "523" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.033Z", + "time": 13, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 13 + } + }, + { + "_id": "d91bb7cf030742d1b9d0813844a0e02e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 630, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.050Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "7006abd2fddea2b78aeb4ee10cb136b2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -28496,18 +48098,1374 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 639, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 99, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "99" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:35:39.059Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "4df62c6436b97a141e813d288a22f05f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 40637, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 40637, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Legacy\",\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"NextGeneration\",\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"Test script description\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"Test Script\",\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"This is a test script\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test script 2\",\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"validGotoDestinations\":[],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"timeToLive\":\"180\",\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 472, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.067Z", + "time": 37, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 37 + } + }, + { + "_id": "c835061aa51d2ff3a6c99a01dbd32adf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 576, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories" + }, + "response": { + "bodySize": 346, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1741783487\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "346" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.120Z", + "time": 39, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 39 + } + }, + { + "_id": "e4fd6226302163812f6c018d87dd9efa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 580, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration" + }, + "response": { + "bodySize": 708, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-52720779\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "708" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.121Z", + "time": 38, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 38 + } + }, + { + "_id": "9e81d6d06efd3e1a30e471868f1aaaf1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 601, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories?_action=nextdescendents" + }, + "response": { + "bodySize": 5198, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5198, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\",\"thingType\",\"thingKeys\",\"thingOAuth2ClientName\",\"thingConfig\",\"thingProperties\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\",\"fr-iot\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5198" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 466, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.121Z", + "time": 46, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 46 + } + }, + { + "_id": "f1b420258e0746d54f4488097587a065", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 605, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.122Z", + "time": 37, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 37 + } + }, + { + "_id": "1b47f205acecc513d99d5cd5304b99d5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 565, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user" + }, + "response": { + "bodySize": 127, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 127, + "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1193526377\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "127" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.123Z", + "time": 39, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 39 + } + }, + { + "_id": "db0880f24df03e679ed43477e28edc52", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.126Z", + "time": 37, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 37 + } + }, + { + "_id": "e3979a5a68cef4cdea13543c717ab049", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 569, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security" + }, + "response": { + "bodySize": 561, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 561, + "text": "{\"_id\":\"\",\"_rev\":\"1761890425\",\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1761890425\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "561" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.126Z", + "time": 37, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 37 + } + }, + { + "_id": "b8489f59b6efddbca5cfb0f4f96e05cb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 594, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.128Z", + "time": 38, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 38 + } + }, + { + "_id": "d9656d86fe0a18485a2fcf0f25aa2f6f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 568, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl" }, "response": { - "bodySize": 437, + "bodySize": 147, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 147, + "text": "{\"_id\":\"\",\"_rev\":\"-1480957299\",\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -28525,7 +49483,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28541,7 +49499,7 @@ }, { "name": "etag", - "value": "\"-1682915712\"" + "value": "\"-1480957299\"" }, { "name": "expires", @@ -28557,11 +49515,11 @@ }, { "name": "content-length", - "value": "437" + "value": "147" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -28578,8 +49536,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.087Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.129Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -28587,11 +49545,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 38 } }, { - "_id": "f9f578e6f5836db8de99fe082c63d505", + "_id": "421a860e6e98f6efc3e6e2a5be1b8ae9", "_order": 0, "cache": {}, "request": { @@ -28608,15 +49566,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -28631,18 +49589,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 593, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.130Z", + "time": 44, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 44 + } + }, + { + "_id": "191767a516a73c4d4c46182ca5276c88", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit" }, "response": { - "bodySize": 273, + "bodySize": 171, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 171, + "text": "{\"_id\":\"\",\"_rev\":\"-1113197065\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -28660,7 +49754,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28676,7 +49770,7 @@ }, { "name": "etag", - "value": "\"-1599353126\"" + "value": "\"-1113197065\"" }, { "name": "expires", @@ -28692,11 +49786,11 @@ }, { "name": "content-length", - "value": "273" + "value": "171" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -28713,8 +49807,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.088Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.131Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -28722,11 +49816,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 50 } }, { - "_id": "e3f8cde78703d5d214b15df2803c9a59", + "_id": "f0390d7ed17168e299f3bc3d021322bb", "_order": 0, "cache": {}, "request": { @@ -28743,15 +49837,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -28766,18 +49860,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.131Z", + "time": 70, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 70 + } + }, + { + "_id": "fb67247c7a37d2a2d7b03beda72e35f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService" }, "response": { - "bodySize": 305, + "bodySize": 497, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 497, + "text": "{\"_id\":\"\",\"_rev\":\"2036666814\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -28795,7 +50025,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28811,7 +50041,7 @@ }, { "name": "etag", - "value": "\"104930768\"" + "value": "\"2036666814\"" }, { "name": "expires", @@ -28827,11 +50057,146 @@ }, { "name": "content-length", - "value": "305" + "value": "497" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:38 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.132Z", + "time": 43, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 43 + } + }, + { + "_id": "5dfbdef3ae936bb829f2bbd20d566cb1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 576, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService" + }, + "response": { + "bodySize": 382, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 382, + "text": "{\"_id\":\"\",\"_rev\":\"367752594\",\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"367752594\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "382" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -28848,8 +50213,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.099Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.133Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -28857,11 +50222,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 53 } }, { - "_id": "4cf3d661cba37e823acd1be25b4c17f5", + "_id": "457c05c391a373a722561d7b0b5d379f", "_order": 0, "cache": {}, "request": { @@ -28878,15 +50243,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -28901,18 +50266,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 614, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService?_action=nextdescendents" }, "response": { - "bodySize": 1047, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -28930,7 +50300,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28944,10 +50314,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2033523620\"" - }, { "name": "expires", "value": "0" @@ -28962,11 +50328,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -28977,14 +50343,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.107Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:39.133Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -28992,11 +50358,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 53 } }, { - "_id": "24f98dad3fc890f31f9131f10e6761f2", + "_id": "6d05cca113763d4cb93ecbee29572277", "_order": 0, "cache": {}, "request": { @@ -29013,15 +50379,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29036,18 +50402,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService?_action=nextdescendents" }, "response": { - "bodySize": 243, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -29065,7 +50436,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29079,10 +50450,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1707653179\"" - }, { "name": "expires", "value": "0" @@ -29097,11 +50464,11 @@ }, { "name": "content-length", - "value": "243" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29112,14 +50479,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.114Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.134Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -29127,11 +50494,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 62 } }, { - "_id": "a92648e0e513ab2f9abb1797d4a1e2c0", + "_id": "449f0c492be068f57d41333093576359", "_order": 0, "cache": {}, "request": { @@ -29148,15 +50515,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29171,18 +50538,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 607, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService?_action=nextdescendents" }, "response": { - "bodySize": 278, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -29200,7 +50572,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29214,10 +50586,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1613803341\"" - }, { "name": "expires", "value": "0" @@ -29232,11 +50600,11 @@ }, { "name": "content-length", - "value": "278" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29247,14 +50615,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.114Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.135Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -29262,11 +50630,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 50 } }, { - "_id": "75e57f4451a5151352a96b749257aa32", + "_id": "74be39b9f5542dd22304f83ed644ba7b", "_order": 0, "cache": {}, "request": { @@ -29283,15 +50651,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29306,18 +50674,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService" }, "response": { - "bodySize": 711, + "bodySize": 418, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 418, + "text": "{\"_id\":\"\",\"_rev\":\"20313748\",\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -29335,7 +50703,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29351,7 +50719,7 @@ }, { "name": "etag", - "value": "\"-202662309\"" + "value": "\"20313748\"" }, { "name": "expires", @@ -29367,11 +50735,11 @@ }, { "name": "content-length", - "value": "711" + "value": "418" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29382,14 +50750,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.115Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.135Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -29397,11 +50765,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 53 } }, { - "_id": "5f2eebbc97a437c2f163f80d12a6de9c", + "_id": "bef89b3deeb87a4b272ea7021cc64d5d", "_order": 0, "cache": {}, "request": { @@ -29418,15 +50786,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29441,18 +50809,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -29470,7 +50843,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29484,10 +50857,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1478640305\"" - }, { "name": "expires", "value": "0" @@ -29502,11 +50871,11 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29517,14 +50886,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.115Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.136Z", + "time": 48, "timings": { "blocked": -1, "connect": -1, @@ -29532,11 +50901,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 48 } }, { - "_id": "cbae75a29392c168b5169a3631a069dc", + "_id": "f6684ab69515501ebd83fb00c696566f", "_order": 0, "cache": {}, "request": { @@ -29553,15 +50922,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29576,18 +50945,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 572, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService" }, "response": { - "bodySize": 258, + "bodySize": 2733, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 2733, + "text": "{\"_id\":\"\",\"_rev\":\"201010615\",\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -29605,7 +50974,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29621,7 +50990,7 @@ }, { "name": "etag", - "value": "\"128653632\"" + "value": "\"201010615\"" }, { "name": "expires", @@ -29637,11 +51006,11 @@ }, { "name": "content-length", - "value": "258" + "value": "2733" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29652,14 +51021,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.129Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:39.136Z", + "time": 55, "timings": { "blocked": -1, "connect": -1, @@ -29667,11 +51036,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 55 } }, { - "_id": "bc356676a43d6cd88c77db4d8db7d08f", + "_id": "8b53385cd1503252aa712c2f9435e417", "_order": 0, "cache": {}, "request": { @@ -29688,15 +51057,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29711,18 +51080,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification" }, "response": { - "bodySize": 260, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 278, + "text": "{\"_id\":\"\",\"_rev\":\"-112617302\",\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -29740,7 +51109,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29756,7 +51125,7 @@ }, { "name": "etag", - "value": "\"-1790782773\"" + "value": "\"-112617302\"" }, { "name": "expires", @@ -29772,11 +51141,11 @@ }, { "name": "content-length", - "value": "260" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29787,14 +51156,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.129Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.136Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -29802,11 +51171,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 56 } }, { - "_id": "8de752ffec9e3b3dd0aea8d9f48461ac", + "_id": "52fe39a17d36834f1a9407d0c8aba640", "_order": 0, "cache": {}, "request": { @@ -29823,15 +51192,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29846,18 +51215,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 619, + "headersSize": 597, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService?_action=nextdescendents" }, "response": { - "bodySize": 1119, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -29875,7 +51249,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29889,10 +51263,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-686533928\"" - }, { "name": "expires", "value": "0" @@ -29907,11 +51277,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -29922,14 +51292,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.136Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:39.137Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -29937,11 +51307,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 38 } }, { - "_id": "68043464f486d95bdae1f93943eaf345", + "_id": "825d45dc6c426d5de01c8147a8fe7fcf", "_order": 0, "cache": {}, "request": { @@ -29958,15 +51328,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -29981,18 +51351,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication" }, "response": { - "bodySize": 376, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 206, + "text": "{\"_id\":\"\",\"_rev\":\"-49730604\",\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -30010,7 +51380,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30026,7 +51396,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"-49730604\"" }, { "name": "expires", @@ -30042,11 +51412,11 @@ }, { "name": "content-length", - "value": "376" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30063,8 +51433,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.142Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.137Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -30072,11 +51442,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 56 } }, { - "_id": "a103b6cc9e80a9148faffd133107119b", + "_id": "fc798ceeeff5e890a2045a3c9ebacc9b", "_order": 0, "cache": {}, "request": { @@ -30093,15 +51463,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30116,18 +51486,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication?_action=nextdescendents" }, "response": { - "bodySize": 404, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -30145,7 +51520,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30159,10 +51534,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1655043290\"" - }, { "name": "expires", "value": "0" @@ -30177,11 +51548,11 @@ }, { "name": "content-length", - "value": "404" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30192,14 +51563,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.143Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.138Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -30207,11 +51578,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 56 } }, { - "_id": "ff4cde59b928bdfd379441f53fc20c64", + "_id": "982835aa7637cc6112f387c76ecd5789", "_order": 0, "cache": {}, "request": { @@ -30228,15 +51599,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30251,18 +51622,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 300, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -30280,7 +51656,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30294,10 +51670,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1735965231\"" - }, { "name": "expires", "value": "0" @@ -30312,11 +51684,11 @@ }, { "name": "content-length", - "value": "300" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30327,14 +51699,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.143Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.139Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -30342,11 +51714,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 56 } }, { - "_id": "d76f02fc3facdeb9109fa3ba9ce67edc", + "_id": "22ed054250235a8178254373c88b5c18", "_order": 0, "cache": {}, "request": { @@ -30363,15 +51735,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30386,18 +51758,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService?_action=nextdescendents" }, "response": { - "bodySize": 340, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -30415,7 +51792,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30429,10 +51806,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"712832963\"" - }, { "name": "expires", "value": "0" @@ -30447,11 +51820,11 @@ }, { "name": "content-length", - "value": "340" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30462,14 +51835,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.144Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.140Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -30477,11 +51850,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 42 } }, { - "_id": "3f2a1abe64d10da7fbed71fd61254daf", + "_id": "6b3dbf30096a9640340d1c797a084fb7", "_order": 0, "cache": {}, "request": { @@ -30498,15 +51871,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30521,18 +51894,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService" }, "response": { - "bodySize": 351, + "bodySize": 411, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 411, + "text": "{\"_id\":\"\",\"_rev\":\"1502014682\",\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -30550,7 +51923,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30566,7 +51939,7 @@ }, { "name": "etag", - "value": "\"-1799080778\"" + "value": "\"1502014682\"" }, { "name": "expires", @@ -30582,11 +51955,11 @@ }, { "name": "content-length", - "value": "351" + "value": "411" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30597,14 +51970,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.154Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.140Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -30612,11 +51985,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 50 } }, { - "_id": "a87709ffdc21c7fefad0156bb1764988", + "_id": "af1a3426bf3079f9fc075f35d546a11e", "_order": 0, "cache": {}, "request": { @@ -30633,15 +52006,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30656,18 +52029,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation" }, "response": { - "bodySize": 819, + "bodySize": 132, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 132, + "text": "{\"_id\":\"\",\"_rev\":\"280113261\",\"validGotoDestinations\":[],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -30685,7 +52058,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30701,7 +52074,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"280113261\"" }, { "name": "expires", @@ -30717,11 +52090,11 @@ }, { "name": "content-length", - "value": "819" + "value": "132" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30732,14 +52105,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.162Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:39.141Z", + "time": 43, "timings": { "blocked": -1, "connect": -1, @@ -30747,11 +52120,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 43 } }, { - "_id": "51d4fc40951eea3fec7c284468f137af", + "_id": "ab7693d00ead91cd99a4f6513942048d", "_order": 0, "cache": {}, "request": { @@ -30768,15 +52141,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30791,18 +52164,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 243, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -30820,7 +52198,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30834,10 +52212,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1743893705\"" - }, { "name": "expires", "value": "0" @@ -30852,11 +52226,11 @@ }, { "name": "content-length", - "value": "243" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -30867,14 +52241,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.169Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.141Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -30882,11 +52256,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 46 } }, { - "_id": "230af9b4afa85d96accb2b7d7e0e998c", + "_id": "745904e84f2af7b29d9e02e5d91c618d", "_order": 0, "cache": {}, "request": { @@ -30903,15 +52277,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30926,18 +52300,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService?_action=nextdescendents" }, "response": { - "bodySize": 271, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -30955,7 +52334,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30969,10 +52348,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1895090878\"" - }, { "name": "expires", "value": "0" @@ -30987,11 +52362,11 @@ }, { "name": "content-length", - "value": "271" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31002,14 +52377,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.170Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.142Z", + "time": 34, "timings": { "blocked": -1, "connect": -1, @@ -31017,11 +52392,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 34 } }, { - "_id": "27838e48d2d84ec0169373525d6e1176", + "_id": "c5a98618a302e070efaf94ae01cec32b", "_order": 0, "cache": {}, "request": { @@ -31038,15 +52413,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31061,18 +52436,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService" }, "response": { - "bodySize": 959, + "bodySize": 603, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 603, + "text": "{\"_id\":\"\",\"_rev\":\"1219218586\",\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -31090,7 +52465,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31106,7 +52481,7 @@ }, { "name": "etag", - "value": "\"-1037301643\"" + "value": "\"1219218586\"" }, { "name": "expires", @@ -31122,11 +52497,11 @@ }, { "name": "content-length", - "value": "959" + "value": "603" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31137,14 +52512,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.170Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:39.142Z", + "time": 55, "timings": { "blocked": -1, "connect": -1, @@ -31152,11 +52527,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 55 } }, { - "_id": "227865ce09d751927b597045b968a37c", + "_id": "e0248057f4174a562cc019a60994ff19", "_order": 0, "cache": {}, "request": { @@ -31173,15 +52548,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31196,18 +52571,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 564, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot" }, "response": { - "bodySize": 259, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 280, + "text": "{\"_id\":\"\",\"_rev\":\"1395311902\",\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -31225,7 +52600,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31241,7 +52616,7 @@ }, { "name": "etag", - "value": "\"-1365755177\"" + "value": "\"1395311902\"" }, { "name": "expires", @@ -31257,11 +52632,11 @@ }, { "name": "content-length", - "value": "259" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31272,14 +52647,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.179Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.146Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -31287,11 +52662,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 50 } }, { - "_id": "ef3c042d37501c2232538b7f383823d9", + "_id": "0327c0ae958eb1a5656a40d63eb9b627", "_order": 0, "cache": {}, "request": { @@ -31308,15 +52683,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31331,18 +52706,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 589, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot?_action=nextdescendents" }, "response": { - "bodySize": 371, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -31360,7 +52740,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31374,10 +52754,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"790804755\"" - }, { "name": "expires", "value": "0" @@ -31392,11 +52768,11 @@ }, { "name": "content-length", - "value": "371" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31407,14 +52783,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.180Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.147Z", + "time": 40, "timings": { "blocked": -1, "connect": -1, @@ -31422,11 +52798,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 40 } }, { - "_id": "7fcac09925e519944ee6c25a70f6d6ed", + "_id": "24a792bb847d11d38e4f9d3a48182b97", "_order": 0, "cache": {}, "request": { @@ -31443,15 +52819,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31466,18 +52842,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard" }, "response": { - "bodySize": 258, + "bodySize": 116, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 116, + "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -31495,7 +52871,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31511,7 +52887,7 @@ }, { "name": "etag", - "value": "\"-347683889\"" + "value": "\"6506753\"" }, { "name": "expires", @@ -31527,11 +52903,11 @@ }, { "name": "content-length", - "value": "258" + "value": "116" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31542,14 +52918,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 482, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.180Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:39.148Z", + "time": 41, "timings": { "blocked": -1, "connect": -1, @@ -31557,11 +52933,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 41 } }, { - "_id": "1067e3e8038721d641be47b9f1efcc9a", + "_id": "2ae9d3f0193abc57b04ab28a9b0a5a71", "_order": 0, "cache": {}, "request": { @@ -31578,15 +52954,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31601,18 +52977,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 224, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -31630,7 +53011,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31644,10 +53025,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1310629925\"" - }, { "name": "expires", "value": "0" @@ -31662,11 +53039,11 @@ }, { "name": "content-length", - "value": "224" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31677,14 +53054,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.181Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.149Z", + "time": 32, "timings": { "blocked": -1, "connect": -1, @@ -31692,11 +53069,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 32 } }, { - "_id": "f7b11c90271c6cbb9d6005f68c2e664f", + "_id": "0269a7655f6d7f47ade837af6e23e712", "_order": 0, "cache": {}, "request": { @@ -31713,15 +53090,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31736,18 +53113,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 643, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService" }, "response": { - "bodySize": 275, + "bodySize": 161, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 161, + "text": "{\"_id\":\"\",\"_rev\":\"403540704\",\"cacheDuration\":120,\"enable\":true,\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -31765,7 +53142,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31781,7 +53158,7 @@ }, { "name": "etag", - "value": "\"-1855541828\"" + "value": "\"403540704\"" }, { "name": "expires", @@ -31797,11 +53174,11 @@ }, { "name": "content-length", - "value": "275" + "value": "161" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31812,14 +53189,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.181Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.149Z", + "time": 43, "timings": { "blocked": -1, "connect": -1, @@ -31827,11 +53204,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 43 } }, { - "_id": "8688e83a3ca385e9a0f54b0985bc8612", + "_id": "9cfd08b19c65f94bedb476341a0fae7b", "_order": 0, "cache": {}, "request": { @@ -31848,15 +53225,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -31871,18 +53248,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 1201, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -31900,7 +53277,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31916,7 +53293,7 @@ }, { "name": "etag", - "value": "\"1171487776\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -31932,11 +53309,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -31947,14 +53324,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.190Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.150Z", + "time": 34, "timings": { "blocked": -1, "connect": -1, @@ -31962,11 +53339,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 34 } }, { - "_id": "6cb256afdd70defeb71fa66e0988c42e", + "_id": "3fb1c8765200cf2ab0ce6eb3853b16af", "_order": 0, "cache": {}, "request": { @@ -31983,15 +53360,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32006,18 +53383,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService?_action=nextdescendents" }, "response": { - "bodySize": 295, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -32035,7 +53417,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32049,10 +53431,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-77719538\"" - }, { "name": "expires", "value": "0" @@ -32067,11 +53445,11 @@ }, { "name": "content-length", - "value": "295" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32082,14 +53460,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.198Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.150Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -32097,11 +53475,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 49 } }, { - "_id": "973bccd0bc94c86dda98da9b264aa6fb", + "_id": "e8ba39997d71771de355e4d1b103ce9a", "_order": 0, "cache": {}, "request": { @@ -32118,15 +53496,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32141,18 +53519,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService" }, "response": { - "bodySize": 407, + "bodySize": 518, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 518, + "text": "{\"_id\":\"\",\"_rev\":\"-683259715\",\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -32170,7 +53548,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32186,7 +53564,7 @@ }, { "name": "etag", - "value": "\"-1578060484\"" + "value": "\"-683259715\"" }, { "name": "expires", @@ -32202,11 +53580,11 @@ }, { "name": "content-length", - "value": "407" + "value": "518" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32217,14 +53595,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.198Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.151Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -32232,11 +53610,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 38 } }, { - "_id": "7143192540f24bf1a2121588f84ba903", + "_id": "0a7071871adcba0d0c495016dc8565ac", "_order": 0, "cache": {}, "request": { @@ -32253,15 +53631,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32276,153 +53654,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" - }, - "response": { - "bodySize": 433, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1395544271\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "433" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 486, + "headersSize": 609, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.199Z", - "time": 8, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 8 - } - }, - { - "_id": "34a3d974162be880172c02f2212c5ff0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 645, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 336, + "bodySize": 1460, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 1460, + "text": "{\"result\":[{\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"clientId\":\"test\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonClass\":\"\",\"buttonImage\":\"images/g-logo.png\",\"buttonDisplayName\":\"Google\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"iconClass\":\"fa-google\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://testurl.com\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"useCustomTrustStore\":false,\"responseMode\":\"DEFAULT\",\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"Google Test\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -32440,7 +53688,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32454,10 +53702,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"875182106\"" - }, { "name": "expires", "value": "0" @@ -32472,11 +53716,11 @@ }, { "name": "content-length", - "value": "336" + "value": "1460" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32487,14 +53731,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.199Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.151Z", + "time": 52, "timings": { "blocked": -1, "connect": -1, @@ -32502,11 +53746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 52 } }, { - "_id": "ad26c10af137095071e17202330e338f", + "_id": "8589c4e6a5336d67836695038afe5d10", "_order": 0, "cache": {}, "request": { @@ -32523,15 +53767,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32546,18 +53790,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService?_action=nextdescendents" }, "response": { - "bodySize": 469, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -32575,7 +53824,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32589,10 +53838,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1522661276\"" - }, { "name": "expires", "value": "0" @@ -32607,11 +53852,11 @@ }, { "name": "content-length", - "value": "469" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32622,14 +53867,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.199Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.152Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -32637,11 +53882,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 46 } }, { - "_id": "37a261d2df15af9f8fa1d4747c2c900c", + "_id": "db283448bf6cdee228903090828365ae", "_order": 0, "cache": {}, "request": { @@ -32658,15 +53903,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32681,18 +53926,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 306, + "bodySize": 310, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 310, + "text": "{\"_id\":\"\",\"_rev\":\"435870150\",\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -32710,7 +53955,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32726,7 +53971,7 @@ }, { "name": "etag", - "value": "\"-415466582\"" + "value": "\"435870150\"" }, { "name": "expires", @@ -32742,11 +53987,11 @@ }, { "name": "content-length", - "value": "306" + "value": "310" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32757,14 +54002,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.212Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.153Z", + "time": 30, "timings": { "blocked": -1, "connect": -1, @@ -32772,11 +54017,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 30 } }, { - "_id": "692161e6670f557ca32ee9164ca7afad", + "_id": "70d3cbe5f7f279bb37ee8755c88b6dd8", "_order": 0, "cache": {}, "request": { @@ -32793,15 +54038,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32816,18 +54061,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -32845,7 +54095,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32859,10 +54109,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1323058199\"" - }, { "name": "expires", "value": "0" @@ -32877,11 +54123,11 @@ }, { "name": "content-length", - "value": "258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -32892,14 +54138,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.212Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.153Z", + "time": 34, "timings": { "blocked": -1, "connect": -1, @@ -32907,11 +54153,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 34 } }, { - "_id": "10622e01f510e68b50e6bf3655acfe82", + "_id": "9fd4853b17067e9df88d210680a0e1e9", "_order": 0, "cache": {}, "request": { @@ -32928,15 +54174,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -32951,153 +54197,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 615, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" - }, - "response": { - "bodySize": 1639, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"433260882\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1639" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.231Z", - "time": 10, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 10 - } - }, - { - "_id": "5eb31a46c0b1ab6671556567c7061cc4", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -33115,7 +54231,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33129,10 +54245,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1309752765\"" - }, { "name": "expires", "value": "0" @@ -33147,11 +54259,11 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33162,14 +54274,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.249Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:39.154Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -33177,11 +54289,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 39 } }, { - "_id": "0e1e8fd1185929f93872dad007bc2e68", + "_id": "5540588b22e9de6505fdb0ff45c3062e", "_order": 0, "cache": {}, "request": { @@ -33198,15 +54310,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -33221,18 +54333,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 315, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -33250,7 +54362,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33266,7 +54378,7 @@ }, { "name": "etag", - "value": "\"-1874082022\"" + "value": "\"-945038405\"" }, { "name": "expires", @@ -33282,11 +54394,11 @@ }, { "name": "content-length", - "value": "315" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33297,14 +54409,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.249Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:39.154Z", + "time": 40, "timings": { "blocked": -1, "connect": -1, @@ -33312,11 +54424,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 40 } }, { - "_id": "afd49cbf047aedc6213597e0b34e66d0", + "_id": "b2c486a37af8cb96e303d0a0eafdb8d2", "_order": 0, "cache": {}, "request": { @@ -33333,15 +54445,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -33356,18 +54468,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email" }, "response": { - "bodySize": 485, + "bodySize": 255, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 255, + "text": "{\"_id\":\"\",\"_rev\":\"-876042057\",\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -33385,7 +54497,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33401,7 +54513,7 @@ }, { "name": "etag", - "value": "\"-529786920\"" + "value": "\"-876042057\"" }, { "name": "expires", @@ -33417,11 +54529,11 @@ }, { "name": "content-length", - "value": "485" + "value": "255" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33438,8 +54550,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.250Z", - "time": 37, + "startedDateTime": "2024-11-06T16:35:39.155Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -33447,11 +54559,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 37 + "wait": 39 } }, { - "_id": "250733b8a391b619033afa3793a588c6", + "_id": "7f528072ac9e7ae4572e8df09c9ceb91", "_order": 0, "cache": {}, "request": { @@ -33468,15 +54580,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -33491,18 +54603,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 422, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -33520,7 +54637,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33534,10 +54651,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"384347514\"" - }, { "name": "expires", "value": "0" @@ -33552,11 +54665,11 @@ }, { "name": "content-length", - "value": "422" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33567,14 +54680,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.250Z", - "time": 44, + "startedDateTime": "2024-11-06T16:35:39.155Z", + "time": 40, "timings": { "blocked": -1, "connect": -1, @@ -33582,11 +54695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 44 + "wait": 40 } }, { - "_id": "5476c57261c4d1bc5dd9d3225f7c4e4b", + "_id": "24896809b7e36d9888300a4a337f401c", "_order": 0, "cache": {}, "request": { @@ -33603,15 +54716,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -33626,18 +54739,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 587, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist" }, "response": { - "bodySize": 410, + "bodySize": 209, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 209, + "text": "{\"_id\":\"\",\"_rev\":\"-736760492\",\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -33655,7 +54768,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33671,7 +54784,7 @@ }, { "name": "etag", - "value": "\"-895759180\"" + "value": "\"-736760492\"" }, { "name": "expires", @@ -33687,11 +54800,11 @@ }, { "name": "content-length", - "value": "410" + "value": "209" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33708,8 +54821,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.251Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:39.156Z", + "time": 37, "timings": { "blocked": -1, "connect": -1, @@ -33717,11 +54830,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 37 } }, { - "_id": "1dec51c74d5c0300f685e657ab6e888b", + "_id": "3043040cf5119d83953cc35e1c9c22a7", "_order": 0, "cache": {}, "request": { @@ -33738,15 +54851,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -33761,153 +54874,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" - }, - "response": { - "bodySize": 349, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"894949571\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "349" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, + "headersSize": 612, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.251Z", - "time": 44, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 44 - } - }, - { - "_id": "f94ebacf0b08dc66c26c615b07bb68fc", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 645, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist?_action=nextdescendents" }, "response": { - "bodySize": 256, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -33925,7 +54908,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33939,10 +54922,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-852986593\"" - }, { "name": "expires", "value": "0" @@ -33957,11 +54936,11 @@ }, { "name": "content-length", - "value": "256" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -33972,14 +54951,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.251Z", - "time": 52, + "startedDateTime": "2024-11-06T16:35:39.156Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -33987,11 +54966,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 52 + "wait": 42 } }, { - "_id": "6eb01df757bbe55ede27e5b79eb9bebc", + "_id": "09437f0fea64aa3ddc222ce6881e86cc", "_order": 0, "cache": {}, "request": { @@ -34008,15 +54987,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -34031,18 +55010,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 572, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction" }, "response": { - "bodySize": 259, + "bodySize": 142, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 142, + "text": "{\"_id\":\"\",\"_rev\":\"1386279405\",\"timeToLive\":\"180\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -34060,7 +55039,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34076,7 +55055,7 @@ }, { "name": "etag", - "value": "\"-611727803\"" + "value": "\"1386279405\"" }, { "name": "expires", @@ -34092,11 +55071,11 @@ }, { "name": "content-length", - "value": "259" + "value": "142" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34113,8 +55092,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.308Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.157Z", + "time": 37, "timings": { "blocked": -1, "connect": -1, @@ -34122,11 +55101,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 37 } }, { - "_id": "781feff853a97404af139878c570ebd9", + "_id": "538722666560d57ccd03d3844ff58865", "_order": 0, "cache": {}, "request": { @@ -34143,15 +55122,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -34166,18 +55145,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 597, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction?_action=nextdescendents" }, "response": { - "bodySize": 257, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -34195,7 +55179,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34209,10 +55193,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"502723459\"" - }, { "name": "expires", "value": "0" @@ -34227,11 +55207,11 @@ }, { "name": "content-length", - "value": "257" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34242,14 +55222,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.308Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.157Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -34257,11 +55237,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 39 } }, { - "_id": "08e5ec754bb94bc4c9768213caebf3e8", + "_id": "bf9e771ba74d5b31b4e107c6a67c7cbb", "_order": 0, "cache": {}, "request": { @@ -34278,15 +55258,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -34301,18 +55281,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/push_registration" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService?_action=nextdescendents" }, "response": { - "bodySize": 1801, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1801, - "text": "{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -34330,7 +55315,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34344,10 +55329,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-250131000\"" - }, { "name": "expires", "value": "0" @@ -34362,11 +55343,11 @@ }, { "name": "content-length", - "value": "1801" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34377,14 +55358,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.332Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.158Z", + "time": 25, "timings": { "blocked": -1, "connect": -1, @@ -34392,11 +55373,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 25 } }, { - "_id": "70967fd5c2b40f15ef50562827ad51f3", + "_id": "32cbd08c7c2d3963e74629b44f6d2eca", "_order": 0, "cache": {}, "request": { @@ -34413,15 +55394,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -34436,18 +55417,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/07bc635b-5a3f-461b-87ee-e76c9fa22738" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService" }, "response": { - "bodySize": 465, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 465, - "text": "{\"_id\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"_rev\":\"-2057388206\",\"nodes\":[{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 206, + "text": "{\"_id\":\"\",\"_rev\":\"-1039295581\",\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -34465,7 +55446,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34481,7 +55462,7 @@ }, { "name": "etag", - "value": "\"-2057388206\"" + "value": "\"-1039295581\"" }, { "name": "expires", @@ -34497,11 +55478,11 @@ }, { "name": "content-length", - "value": "465" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34518,8 +55499,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.349Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:39.158Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -34527,11 +55508,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 39 } }, { - "_id": "1b2da9d36696fe0b48cd9876c5a90c3b", + "_id": "993b0786dc65c07a643a5e597f01db6c", "_order": 0, "cache": {}, "request": { @@ -34548,15 +55529,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -34571,18 +55552,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 593, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/0e161d10-c2d1-4196-8b41-59f80be4a587" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 239, + "bodySize": 824, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"0e161d10-c2d1-4196-8b41-59f80be4a587\",\"_rev\":\"1313222188\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 824, + "text": "{\"result\":[{\"_id\":\"test-jwt-issuer\",\"_rev\":\"-1634408477\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":\"hello\",\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}},{\"_id\":\"trusted jwt\",\"_rev\":\"671391925\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -34600,7 +55586,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34614,10 +55600,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1313222188\"" - }, { "name": "expires", "value": "0" @@ -34632,11 +55614,11 @@ }, { "name": "content-length", - "value": "239" + "value": "824" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34647,14 +55629,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.350Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:39.208Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -34662,11 +55644,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 7 } }, { - "_id": "d24dbc68a2e0dfb9ee0eb851ff02fc3b", + "_id": "f5c7700e8edbc874b9bd5326c4553103", "_order": 0, "cache": {}, "request": { @@ -34683,15 +55665,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34706,18 +55688,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 588, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushAuthenticationSenderNode/1323d24e-b9f8-4396-a9ce-4550fe3ac84f" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 439, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 439, - "text": "{\"_id\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"_rev\":\"1886752343\",\"captureFailure\":false,\"contextInfo\":false,\"userMessage\":{},\"pushType\":\"DEFAULT\",\"customPayload\":[],\"mandatory\":false,\"messageTimeout\":120000,\"_type\":{\"_id\":\"PushAuthenticationSenderNode\",\"name\":\"Push Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"SENT\",\"displayName\":\"Sent\"},{\"id\":\"NOT_REGISTERED\",\"displayName\":\"Not Registered\"},{\"id\":\"SKIPPED\",\"displayName\":\"Skipped\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -34735,7 +55722,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34749,10 +55736,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1886752343\"" - }, { "name": "expires", "value": "0" @@ -34767,11 +55750,11 @@ }, { "name": "content-length", - "value": "439" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34782,14 +55765,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.350Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:39.220Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -34797,11 +55780,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 11 } }, { - "_id": "b5814fd777fe89e5c0738909a6508ee6", + "_id": "7ded160b901f60130de1bce51c3c740f", "_order": 0, "cache": {}, "request": { @@ -34818,15 +55801,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34841,18 +55824,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 608, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushResultVerifierNode/527e6b31-01db-409c-8f52-01a5b7f48737" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 333, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 333, - "text": "{\"_id\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"_rev\":\"-693031123\",\"_type\":{\"_id\":\"PushResultVerifierNode\",\"name\":\"Push Result Verifier Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"Success\"},{\"id\":\"FALSE\",\"displayName\":\"Failure\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"},{\"id\":\"WAITING\",\"displayName\":\"Waiting\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -34870,7 +55858,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34884,10 +55872,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-693031123\"" - }, { "name": "expires", "value": "0" @@ -34902,11 +55886,11 @@ }, { "name": "content-length", - "value": "333" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -34917,14 +55901,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.350Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:39.236Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -34932,15 +55916,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 6 } }, { - "_id": "64414d9108826f97c281f9ecc4b388fd", + "_id": "ea802003ad1a38bb44910a3bc43bfe0b", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -34953,20 +55937,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -34976,18 +55964,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 622, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushWaitNode/ccb48486-0d8e-475d-a002-29d0bfa1177a" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 302, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 302, - "text": "{\"_id\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"_rev\":\"1204164942\",\"challengeMessage\":{},\"exitMessage\":{},\"waitingMessage\":{},\"secondsToWait\":5,\"_type\":{\"_id\":\"PushWaitNode\",\"name\":\"Push Wait Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"DONE\",\"displayName\":\"Done\"},{\"id\":\"EXITED\",\"displayName\":\"Exit\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -35005,7 +56003,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35019,10 +56017,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1204164942\"" - }, { "name": "expires", "value": "0" @@ -35037,11 +56031,11 @@ }, { "name": "content-length", - "value": "302" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35052,14 +56046,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.351Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:39.247Z", + "time": 15, "timings": { "blocked": -1, "connect": -1, @@ -35067,11 +56061,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 15 } }, { - "_id": "891fb1de222148542206d80c8455c621", + "_id": "7974bc5ba570b4ad14331d7f5a0a8ce1", "_order": 0, "cache": {}, "request": { @@ -35088,15 +56082,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35111,18 +56105,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 650, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushRegistrationNode/c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 438, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 438, - "text": "{\"_id\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"_rev\":\"126603270\",\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"timeout\":60,\"_type\":{\"_id\":\"PushRegistrationNode\",\"name\":\"Push Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"timeoutOutcome\",\"displayName\":\"Time Out\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35140,7 +56139,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35154,10 +56153,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"126603270\"" - }, { "name": "expires", "value": "0" @@ -35172,11 +56167,11 @@ }, { "name": "content-length", - "value": "438" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35187,14 +56182,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.351Z", - "time": 46, + "startedDateTime": "2024-11-06T16:35:39.269Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -35202,11 +56197,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 46 + "wait": 10 } }, { - "_id": "c30fecc22bf86d0ed55bd08e0ecc9cf5", + "_id": "2571d4bdb2f6dae5612f05e84ac2c4a3", "_order": 0, "cache": {}, "request": { @@ -35223,15 +56218,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35246,18 +56241,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 610, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/1eb148f2-82e0-49c6-a330-e6a6d1a9eea9" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"_rev\":\"499818596\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35275,7 +56275,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35289,10 +56289,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"499818596\"" - }, { "name": "expires", "value": "0" @@ -35307,11 +56303,11 @@ }, { "name": "content-length", - "value": "258" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35322,13 +56318,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.404Z", + "startedDateTime": "2024-11-06T16:35:39.270Z", "time": 9, "timings": { "blocked": -1, @@ -35341,7 +56337,7 @@ } }, { - "_id": "0339a36d8cd2e6f592b6e94c5822e283", + "_id": "818341d9484a860bf8907337a7351ad6", "_order": 0, "cache": {}, "request": { @@ -35358,15 +56354,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35381,18 +56377,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7ab18633-6eb0-455d-97ff-40ff7db4862a" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { - "bodySize": 259, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"_rev\":\"1208874462\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35410,7 +56411,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35424,10 +56425,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1208874462\"" - }, { "name": "expires", "value": "0" @@ -35442,11 +56439,11 @@ }, { "name": "content-length", - "value": "259" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35457,13 +56454,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.404Z", + "startedDateTime": "2024-11-06T16:35:39.270Z", "time": 9, "timings": { "blocked": -1, @@ -35476,7 +56473,7 @@ } }, { - "_id": "ad1add3dc919dba7012fa842f369ab3b", + "_id": "b90ce151d22ea80c1d6fceafab4ab7a7", "_order": 0, "cache": {}, "request": { @@ -35493,15 +56490,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35516,18 +56513,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 601, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 1231, + "bodySize": 87, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ @@ -35545,7 +56547,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35559,10 +56561,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1417605028\"" - }, { "name": "expires", "value": "0" @@ -35577,29 +56575,25 @@ }, { "name": "content-length", - "value": "1231" + "value": "87" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "connection", - "value": "keep-alive" + "value": "close" } ], - "headersSize": 487, + "headersSize": 435, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 501, + "statusText": "Not Implemented" }, - "startedDateTime": "2024-10-22T22:49:36.417Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.271Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -35607,11 +56601,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 4 } }, { - "_id": "62b8aea68448de894f05b7cc15aa9294", + "_id": "2c2ac1abf74db092cd6fcc968923b345", "_order": 0, "cache": {}, "request": { @@ -35628,15 +56622,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35651,18 +56645,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 608, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { - "bodySize": 207, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35680,7 +56679,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35694,10 +56693,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1991543646\"" - }, { "name": "expires", "value": "0" @@ -35712,11 +56707,11 @@ }, { "name": "content-length", - "value": "207" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35727,14 +56722,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.430Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.272Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -35742,11 +56737,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 8 } }, { - "_id": "700f8712bf9943d27f5c4340321399df", + "_id": "1661cf876d70d23e363733ce59bca919", "_order": 0, "cache": {}, "request": { @@ -35763,15 +56758,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35786,18 +56781,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 601, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { - "bodySize": 298, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35815,7 +56815,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35829,10 +56829,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"376925853\"" - }, { "name": "expires", "value": "0" @@ -35847,11 +56843,11 @@ }, { "name": "content-length", - "value": "298" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35862,14 +56858,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.430Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.272Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -35877,11 +56873,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 8 } }, { - "_id": "4a18bb1295115390e21f1d3323ae2d53", + "_id": "39f41b2d3aa1ca41b7a06365123c3fcb", "_order": 0, "cache": {}, "request": { @@ -35898,15 +56894,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35921,18 +56917,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 602, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SoapSTSAgent?_queryFilter=true" }, "response": { - "bodySize": 207, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -35950,7 +56951,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35964,10 +56965,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1844311587\"" - }, { "name": "expires", "value": "0" @@ -35982,11 +56979,11 @@ }, { "name": "content-length", - "value": "207" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -35997,14 +56994,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.431Z", - "time": 13, + "startedDateTime": "2024-11-06T16:35:39.273Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -36012,11 +57009,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 13 + "wait": 7 } }, { - "_id": "7d4e7ce5745725156daa0a42b329299a", + "_id": "64eea1f8fb94deddfe57842a9b3b416b", "_order": 0, "cache": {}, "request": { @@ -36033,15 +57030,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36056,18 +57053,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { - "bodySize": 239, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -36085,7 +57087,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36099,10 +57101,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1366894111\"" - }, { "name": "expires", "value": "0" @@ -36117,11 +57115,11 @@ }, { "name": "content-length", - "value": "239" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -36132,14 +57130,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.431Z", - "time": 22, + "startedDateTime": "2024-11-06T16:35:39.274Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -36147,11 +57145,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 22 + "wait": 6 } }, { - "_id": "d929de4c4200fd162a9aa79944a48133", + "_id": "9f5acd59d3225049964bc5a97574d4ac", "_order": 0, "cache": {}, "request": { @@ -36168,15 +57166,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36191,18 +57189,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 607, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { - "bodySize": 221, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -36220,7 +57223,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36234,10 +57237,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2057819892\"" - }, { "name": "expires", "value": "0" @@ -36252,11 +57251,11 @@ }, { "name": "content-length", - "value": "221" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -36267,14 +57266,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.432Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:39.274Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -36282,11 +57281,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 6 } }, { - "_id": "65a20f9887ccb9065a06104420d14a49", + "_id": "c142da088a6c43c09039e02bdaa2c8d3", "_order": 0, "cache": {}, "request": { @@ -36303,15 +57302,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36326,18 +57325,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/six" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc" }, "response": { - "bodySize": 1202, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1202, - "text": "{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36355,7 +57354,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36371,7 +57370,7 @@ }, { "name": "etag", - "value": "\"1231202898\"" + "value": "\"2117196426\"" }, { "name": "expires", @@ -36386,12 +57385,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "1202" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -36402,13 +57401,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.457Z", + "startedDateTime": "2024-11-06T16:35:39.285Z", "time": 6, "timings": { "blocked": -1, @@ -36421,7 +57420,7 @@ } }, { - "_id": "b9ee1f7116da2fd85af21cac06670161", + "_id": "4e6ef97ce006cc7ca671549040b654d4", "_order": 0, "cache": {}, "request": { @@ -36438,15 +57437,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36461,18 +57460,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 602, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/295a70ba-2b67-4a48-bf13-237ce0a55450" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"295a70ba-2b67-4a48-bf13-237ce0a55450\",\"_rev\":\"161778965\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -36490,7 +57494,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36504,10 +57508,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"161778965\"" - }, { "name": "expires", "value": "0" @@ -36522,11 +57522,11 @@ }, { "name": "content-length", - "value": "258" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -36537,14 +57537,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.468Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:39.297Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -36552,11 +57552,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 5 } }, { - "_id": "9639a85d9151a7e1ac0e6a5023e3e3ab", + "_id": "6b9e889c497065d6eecc03f0c15e8523", "_order": 0, "cache": {}, "request": { @@ -36573,15 +57573,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36596,18 +57596,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 579, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/4a77788d-d443-4646-ac52-5cb9f2207a8a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication" }, "response": { - "bodySize": 259, + "bodySize": 1299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"4a77788d-d443-4646-ac52-5cb9f2207a8a\",\"_rev\":\"-745501524\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1299, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370265\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36625,7 +57625,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36641,7 +57641,7 @@ }, { "name": "etag", - "value": "\"-745501524\"" + "value": "\"-2141370265\"" }, { "name": "expires", @@ -36657,11 +57657,11 @@ }, { "name": "content-length", - "value": "259" + "value": "1299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:38 GMT" }, { "name": "keep-alive", @@ -36672,14 +57672,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.469Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:39.307Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -36687,15 +57687,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 5 } }, { - "_id": "6af13b3c256c3c0aaccd2429e3131215", + "_id": "0f96581906dfee454d59e2c086278cd4", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -36708,20 +57708,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -36731,18 +57735,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 641, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/5883ff1e-80dd-49f5-a609-120303e1b0cd" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"5883ff1e-80dd-49f5-a609-120303e1b0cd\",\"_rev\":\"1326879436\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36760,7 +57774,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36774,10 +57788,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1326879436\"" - }, { "name": "expires", "value": "0" @@ -36792,11 +57802,11 @@ }, { "name": "content-length", - "value": "259" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -36807,14 +57817,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.469Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:39.318Z", + "time": 28, "timings": { "blocked": -1, "connect": -1, @@ -36822,11 +57832,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 28 } }, { - "_id": "3d0fc8e8d2752f8dbb5227e155ff2631", + "_id": "9fb94d6e43d493e45aafb1a4abf80834", "_order": 0, "cache": {}, "request": { @@ -36843,15 +57853,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36866,18 +57876,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 623, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/59129227-f192-4ff4-a7b4-bc7690b82d4f" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 260, + "bodySize": 15921, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"59129227-f192-4ff4-a7b4-bc7690b82d4f\",\"_rev\":\"-1475080074\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 15921, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}],\"resultCount\":14,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -36895,7 +57910,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -36909,10 +57924,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1475080074\"" - }, { "name": "expires", "value": "0" @@ -36926,12 +57937,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "260" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -36942,14 +57953,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.469Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:39.350Z", + "time": 15, "timings": { "blocked": -1, "connect": -1, @@ -36957,11 +57968,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 15 } }, { - "_id": "932ac25bfe97ae2403eaa15c1edd2f87", + "_id": "42c25f4cd8a096675a09067c1183a470", "_order": 0, "cache": {}, "request": { @@ -36978,15 +57989,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37001,18 +58012,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 611, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/6a1aa88f-25f8-4d40-8008-bfc6684b2a58" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Agent" }, "response": { - "bodySize": 259, + "bodySize": 676, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\",\"_rev\":\"1687799310\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -37030,7 +58041,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37046,7 +58057,7 @@ }, { "name": "etag", - "value": "\"1687799310\"" + "value": "\"-1016023191\"" }, { "name": "expires", @@ -37062,11 +58073,11 @@ }, { "name": "content-length", - "value": "259" + "value": "676" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37077,14 +58088,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.470Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:39.369Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -37092,11 +58103,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 3 } }, { - "_id": "cff55c70988d655879dc2eba79c32bd9", + "_id": "43c77b39909d199d473a5fe771332ee0", "_order": 0, "cache": {}, "request": { @@ -37113,15 +58124,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37136,18 +58147,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" }, "response": { - "bodySize": 259, + "bodySize": 384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\",\"_rev\":\"1681212105\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -37165,7 +58176,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37181,7 +58192,7 @@ }, { "name": "etag", - "value": "\"1681212105\"" + "value": "\"482303273\"" }, { "name": "expires", @@ -37197,11 +58208,11 @@ }, { "name": "content-length", - "value": "259" + "value": "384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37212,14 +58223,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.470Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:39.377Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -37227,11 +58238,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 6 } }, { - "_id": "810439ed432ba4aeca554d226f6261d3", + "_id": "83a21a6ba9ed171feb199bf6cbf1d38a", "_order": 0, "cache": {}, "request": { @@ -37248,15 +58259,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37271,18 +58282,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 669, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/test" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" }, "response": { - "bodySize": 305, + "bodySize": 250, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -37300,7 +58311,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37316,7 +58327,7 @@ }, { "name": "etag", - "value": "\"2111683877\"" + "value": "\"1036485453\"" }, { "name": "expires", @@ -37332,11 +58343,11 @@ }, { "name": "content-length", - "value": "305" + "value": "250" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37353,8 +58364,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.510Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.377Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -37362,11 +58373,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 6 } }, { - "_id": "c47d9894a4df7f96999c6b94182e8cfa", + "_id": "dfec7bff4570e579c48b0d257b1e5d07", "_order": 0, "cache": {}, "request": { @@ -37383,15 +58394,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37406,18 +58417,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/webauthn_registration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Example" }, "response": { - "bodySize": 1488, + "bodySize": 1043, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1488, - "text": "{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}" + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -37435,7 +58446,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37451,7 +58462,7 @@ }, { "name": "etag", - "value": "\"1750078555\"" + "value": "\"-536916143\"" }, { "name": "expires", @@ -37467,11 +58478,11 @@ }, { "name": "content-length", - "value": "1488" + "value": "1043" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37488,8 +58499,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.523Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.388Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -37497,11 +58508,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 5 } }, { - "_id": "1b3569af4eff0544f9a5cc0ac1b9c9c6", + "_id": "5702f3b3baa1e5f7f59572801b53d4f0", "_order": 0, "cache": {}, "request": { @@ -37518,15 +58529,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37541,18 +58552,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/807106ff-fb66-469e-93bb-4e0834f6c875" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" }, "response": { - "bodySize": 464, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 464, - "text": "{\"_id\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"_rev\":\"-890592433\",\"nodes\":[{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37570,7 +58581,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37586,7 +58597,7 @@ }, { "name": "etag", - "value": "\"-890592433\"" + "value": "\"-1271206475\"" }, { "name": "expires", @@ -37602,11 +58613,11 @@ }, { "name": "content-length", - "value": "464" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37617,14 +58628,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.537Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.398Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -37632,11 +58643,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 7 } }, { - "_id": "c4a09b17a05d7a5c66526f4172756e78", + "_id": "f51a426dc6daaf8d8eed4ba6d19fdc53", "_order": 0, "cache": {}, "request": { @@ -37653,15 +58664,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37676,18 +58687,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/878eb28e-41b2-4bd7-9256-80ed427bd168" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" }, "response": { "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", "size": 239, - "text": "{\"_id\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\",\"_rev\":\"-398538787\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -37705,7 +58716,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37721,7 +58732,7 @@ }, { "name": "etag", - "value": "\"-398538787\"" + "value": "\"1201833788\"" }, { "name": "expires", @@ -37741,7 +58752,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37758,8 +58769,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.537Z", - "time": 22, + "startedDateTime": "2024-11-06T16:35:39.398Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -37767,11 +58778,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 22 + "wait": 7 } }, { - "_id": "46ec9c11b0fe469befa1ad3b2e43646a", + "_id": "89414e013782aafe5695d6ea1104c2d8", "_order": 0, "cache": {}, "request": { @@ -37788,15 +58799,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37811,18 +58822,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnRegistrationNode/72ef6e1d-930c-4bed-922a-850815d98ea1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" }, "response": { - "bodySize": 832, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 832, - "text": "{\"_id\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"_rev\":\"-990617448\",\"trustStoreAlias\":\"trustalias\",\"relyingPartyName\":\"ForgeRock\",\"maxSavedDevices\":0,\"generateRecoveryCodes\":true,\"storeAttestationDataInTransientState\":false,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"postponeDeviceProfileStorage\":false,\"excludeCredentials\":false,\"requiresResidentKey\":false,\"authenticatorAttachment\":\"UNSPECIFIED\",\"asScript\":true,\"acceptedSigningAlgorithms\":[\"ES256\",\"RS256\"],\"attestationPreference\":\"NONE\",\"enforceRevocationCheck\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnRegistrationNode\",\"name\":\"WebAuthn Registration Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -37840,7 +58851,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37856,7 +58867,7 @@ }, { "name": "etag", - "value": "\"-990617448\"" + "value": "\"1517053596\"" }, { "name": "expires", @@ -37872,11 +58883,11 @@ }, { "name": "content-length", - "value": "832" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -37893,8 +58904,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.537Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:39.399Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -37902,11 +58913,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 5 } }, { - "_id": "dc9f100de7fa4960a76386e258b57a4f", + "_id": "76d458cab3399e4b733d1b494543f6d4", "_order": 0, "cache": {}, "request": { @@ -37923,15 +58934,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37946,18 +58957,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnAuthenticationNode/9fce34fc-03f1-4fb1-8ce5-1feff34a403c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" }, "response": { - "bodySize": 553, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 553, - "text": "{\"_id\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"_rev\":\"1437065775\",\"requiresResidentKey\":false,\"asScript\":true,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"isRecoveryCodeAllowed\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnAuthenticationNode\",\"name\":\"WebAuthn Authentication Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"noDevice\",\"displayName\":\"No Device Registered\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37975,7 +58986,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37991,7 +59002,7 @@ }, { "name": "etag", - "value": "\"1437065775\"" + "value": "\"-1588216686\"" }, { "name": "expires", @@ -38007,11 +59018,11 @@ }, { "name": "content-length", - "value": "553" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38022,14 +59033,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.538Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:39.399Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -38037,11 +59048,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 6 } }, { - "_id": "45e2b86d47e4539b8333bfaa20dddbdf", + "_id": "41b80df967f2710ad5be5dac0d1112f2", "_order": 0, "cache": {}, "request": { @@ -38058,15 +59069,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38081,18 +59092,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 634, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/08faa9c0-7c19-454a-a4e1-0692d94615f6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" }, "response": { - "bodySize": 259, + "bodySize": 668, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"_rev\":\"1598789339\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -38110,7 +59121,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38126,7 +59137,7 @@ }, { "name": "etag", - "value": "\"1598789339\"" + "value": "\"-152060055\"" }, { "name": "expires", @@ -38142,11 +59153,11 @@ }, { "name": "content-length", - "value": "259" + "value": "668" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38163,8 +59174,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.577Z", - "time": 16, + "startedDateTime": "2024-11-06T16:35:39.409Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -38172,11 +59183,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 16 + "wait": 4 } }, { - "_id": "d6bee6c1f5a266692b2baa233e9ffcc5", + "_id": "fbf57281b1e632d17ba994799d13d086", "_order": 0, "cache": {}, "request": { @@ -38193,15 +59204,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38216,18 +59227,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3334a349-b2ea-42e0-86b8-9f6c39d43dad" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" }, "response": { - "bodySize": 259, + "bodySize": 318, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"_rev\":\"-492443345\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -38245,7 +59256,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38261,7 +59272,7 @@ }, { "name": "etag", - "value": "\"-492443345\"" + "value": "\"264081780\"" }, { "name": "expires", @@ -38277,11 +59288,11 @@ }, { "name": "content-length", - "value": "259" + "value": "318" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38292,14 +59303,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.578Z", - "time": 13, + "startedDateTime": "2024-11-06T16:35:39.418Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -38307,11 +59318,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 13 + "wait": 6 } }, { - "_id": "f5c7700e8edbc874b9bd5326c4553103", + "_id": "3deabeecc4b76ff80d9dd33c1b4b9f24", "_order": 0, "cache": {}, "request": { @@ -38328,11 +59339,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -38351,23 +59362,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 588, + "headersSize": 661, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" }, "response": { - "bodySize": 138, + "bodySize": 1332, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -38400,140 +59406,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "138" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 465, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.597Z", - "time": 17, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 17 - } - }, - { - "_id": "7ded160b901f60130de1bce51c3c740f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 608, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/circlesoftrust?_queryFilter=true" - }, - "response": { - "bodySize": 138, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"756891103\"" }, { "name": "expires", @@ -38549,11 +59423,11 @@ }, { "name": "content-length", - "value": "138" + "value": "1332" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38564,14 +59438,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.618Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.418Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -38579,11 +59453,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 7 } }, { - "_id": "2571d4bdb2f6dae5612f05e84ac2c4a3", + "_id": "b121e9a9186f00e4322e052b953aa99e", "_order": 0, "cache": {}, "request": { @@ -38600,15 +59474,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38623,23 +59497,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 626, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" }, "response": { - "bodySize": 138, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -38657,7 +59526,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38671,6 +59540,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1066064282\"" + }, { "name": "expires", "value": "0" @@ -38685,11 +59558,11 @@ }, { "name": "content-length", - "value": "138" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38700,14 +59573,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.638Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:39.429Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -38715,11 +59588,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 3 } }, { - "_id": "64eea1f8fb94deddfe57842a9b3b416b", + "_id": "b3295e2c363d0a8431d17686b7e29530", "_order": 0, "cache": {}, "request": { @@ -38736,15 +59609,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38759,23 +59632,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/WebAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" }, "response": { - "bodySize": 138, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -38793,7 +59661,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38807,6 +59675,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-85053235\"" + }, { "name": "expires", "value": "0" @@ -38821,11 +59693,11 @@ }, { "name": "content-length", - "value": "138" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38836,14 +59708,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.639Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:39.437Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -38851,11 +59723,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 6 } }, { - "_id": "818341d9484a860bf8907337a7351ad6", + "_id": "f377dd58cb29bc8d3780090447890489", "_order": 0, "cache": {}, "request": { @@ -38872,15 +59744,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38895,23 +59767,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" }, "response": { - "bodySize": 138, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -38929,7 +59796,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38943,6 +59810,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1739808917\"" + }, { "name": "expires", "value": "0" @@ -38957,11 +59828,11 @@ }, { "name": "content-length", - "value": "138" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -38972,14 +59843,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.639Z", - "time": 30, + "startedDateTime": "2024-11-06T16:35:39.438Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -38987,11 +59858,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 30 + "wait": 4 } }, { - "_id": "c142da088a6c43c09039e02bdaa2c8d3", + "_id": "5b387d79bf8633d659e9967ba011772b", "_order": 0, "cache": {}, "request": { @@ -39008,15 +59879,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39031,18 +59902,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" }, "response": { - "bodySize": 8380, + "bodySize": 1284, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -39060,7 +59931,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39076,7 +59947,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" + "value": "\"328700129\"" }, { "name": "expires", @@ -39091,12 +59962,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "1284" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39107,14 +59978,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.673Z", - "time": 30, + "startedDateTime": "2024-11-06T16:35:39.438Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -39122,11 +59993,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 30 + "wait": 7 } }, { - "_id": "4e6ef97ce006cc7ca671549040b654d4", + "_id": "a725cf9b7e3b49ab610d94509d017399", "_order": 0, "cache": {}, "request": { @@ -39143,15 +60014,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39166,23 +60037,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 635, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" }, "response": { - "bodySize": 138, + "bodySize": 1729, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -39200,7 +60066,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39214,6 +60080,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1048135735\"" + }, { "name": "expires", "value": "0" @@ -39228,11 +60098,11 @@ }, { "name": "content-length", - "value": "138" + "value": "1729" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39243,14 +60113,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.707Z", - "time": 16, + "startedDateTime": "2024-11-06T16:35:39.448Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -39258,11 +60128,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 16 + "wait": 5 } }, { - "_id": "6b9e889c497065d6eecc03f0c15e8523", + "_id": "ea36b763d8521688ca7cf0cf59d1f1ed", "_order": 0, "cache": {}, "request": { @@ -39279,15 +60149,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39302,18 +60172,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 670, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" }, "response": { - "bodySize": 1278, + "bodySize": 327, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1278, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39331,7 +60201,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39347,7 +60217,7 @@ }, { "name": "etag", - "value": "\"-2141370265\"" + "value": "\"2002571022\"" }, { "name": "expires", @@ -39363,11 +60233,11 @@ }, { "name": "content-length", - "value": "1278" + "value": "327" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39378,14 +60248,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.728Z", - "time": 13, + "startedDateTime": "2024-11-06T16:35:39.458Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -39393,15 +60263,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 13 + "wait": 7 } }, { - "_id": "0f96581906dfee454d59e2c086278cd4", + "_id": "042320d68eeb69a72e6f560aa0456a3f", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -39414,11 +60284,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -39428,10 +60298,6 @@ "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -39441,28 +60307,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 661, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" }, "response": { - "bodySize": 13, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39494,6 +60350,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1210949842\"" + }, { "name": "expires", "value": "0" @@ -39508,11 +60368,11 @@ }, { "name": "content-length", - "value": "13" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39523,14 +60383,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.745Z", - "time": 117, + "startedDateTime": "2024-11-06T16:35:39.459Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -39538,11 +60398,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 117 + "wait": 6 } }, { - "_id": "3589957470cb982886bc187fa01daa34", + "_id": "4dad7850e3b4aa1edf51845f2b99743d", "_order": 0, "cache": {}, "request": { @@ -39559,15 +60419,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39582,23 +60442,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/policies?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" }, "response": { - "bodySize": 137, + "bodySize": 1285, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -39616,7 +60471,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39630,6 +60485,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1821134736\"" + }, { "name": "expires", "value": "0" @@ -39644,11 +60503,11 @@ }, { "name": "content-length", - "value": "137" + "value": "1285" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39659,14 +60518,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.867Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:39.460Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -39674,11 +60533,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 6 } }, { - "_id": "2865a4376c54371f09eb6676984ac794", + "_id": "6df6a9ddd5a60930d171a5d2e2534307", "_order": 0, "cache": {}, "request": { @@ -39695,15 +60554,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39718,27 +60577,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 655, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" }, "response": { - "bodySize": 1058, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1058, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788713,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39756,7 +60606,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39770,6 +60620,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-470328822\"" + }, { "name": "expires", "value": "0" @@ -39784,11 +60638,11 @@ }, { "name": "content-length", - "value": "1058" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39799,14 +60653,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.892Z", - "time": 29, + "startedDateTime": "2024-11-06T16:35:39.460Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -39814,11 +60668,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 29 + "wait": 7 } }, { - "_id": "8ec481d75bb7a0d54671964fc5d30f39", + "_id": "1828f701e56214fb606de64c77bb633e", "_order": 0, "cache": {}, "request": { @@ -39835,15 +60689,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39858,27 +60712,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" }, "response": { - "bodySize": 996, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 996, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788670},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788692}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39896,7 +60741,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39910,6 +60755,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1709503699\"" + }, { "name": "expires", "value": "0" @@ -39924,11 +60773,11 @@ }, { "name": "content-length", - "value": "996" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -39939,14 +60788,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:36.926Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:39.461Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -39954,11 +60803,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 5 } }, { - "_id": "ef0612496b038d8e7d11ebdcb47d0c7a", + "_id": "36f30a2663ee67816c417080f7f7281c", "_order": 0, "cache": {}, "request": { @@ -39975,15 +60824,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39998,23 +60847,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/scripts?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" }, "response": { - "bodySize": 176322, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176322, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -40032,7 +60876,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40047,140 +60891,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:36 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 499, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:36.963Z", - "time": 36, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 36 - } - }, - { - "_id": "8c28c86ea2dc548d8f377f13e235adda", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 598, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services?_action=nextdescendents" - }, - "response": { - "bodySize": 9585, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 9585, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"-171890830\"" }, { "name": "expires", @@ -40195,12 +60907,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40211,14 +60923,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.005Z", - "time": 200, + "startedDateTime": "2024-11-06T16:35:39.461Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -40226,11 +60938,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 200 + "wait": 6 } }, { - "_id": "edf51fedd09100a6cc80b4059b2549e7", + "_id": "1e63ed577c6a24cd6e3dc35a1ce2d923", "_order": 0, "cache": {}, "request": { @@ -40247,15 +60959,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40270,18 +60982,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" }, "response": { - "bodySize": 346, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -40299,7 +61011,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40315,7 +61027,7 @@ }, { "name": "etag", - "value": "\"-1741783487\"" + "value": "\"580379617\"" }, { "name": "expires", @@ -40331,11 +61043,11 @@ }, { "name": "content-length", - "value": "346" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40346,14 +61058,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.210Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.462Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -40361,11 +61073,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 7 } }, { - "_id": "1ce634703753aa4931a5559e2e365dde", + "_id": "3c37cb96a0bfe0f4c30ac363a2ad5902", "_order": 0, "cache": {}, "request": { @@ -40382,15 +61094,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40405,23 +61117,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 625, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" }, "response": { - "bodySize": 5109, + "bodySize": 1456, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5109, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 1456, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -40439,7 +61146,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40453,6 +61160,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-293280187\"" + }, { "name": "expires", "value": "0" @@ -40467,11 +61178,11 @@ }, { "name": "content-length", - "value": "5109" + "value": "1456" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40482,14 +61193,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.211Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:39.472Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -40497,11 +61208,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 4 } }, { - "_id": "b8167ce019d6d590dd02b1979d9bb24e", + "_id": "7fa95a66a5ea8886b23677d440ddbe3c", "_order": 0, "cache": {}, "request": { @@ -40518,15 +61229,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40541,23 +61252,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 618, + "headersSize": 671, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" }, "response": { - "bodySize": 13, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40575,7 +61281,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40589,6 +61295,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1217170264\"" + }, { "name": "expires", "value": "0" @@ -40603,11 +61313,11 @@ }, { "name": "content-length", - "value": "13" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40618,14 +61328,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.212Z", - "time": 26, + "startedDateTime": "2024-11-06T16:35:39.482Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -40633,11 +61343,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 26 + "wait": 5 } }, { - "_id": "e5e9a36236b174ed5a6fe1c44dca8e7f", + "_id": "95f91270497ab866daa53975512ebb54", "_order": 0, "cache": {}, "request": { @@ -40654,15 +61364,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40677,18 +61387,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" }, "response": { - "bodySize": 708, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -40706,7 +61416,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40722,7 +61432,7 @@ }, { "name": "etag", - "value": "\"-52720779\"" + "value": "\"613466196\"" }, { "name": "expires", @@ -40738,11 +61448,11 @@ }, { "name": "content-length", - "value": "708" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40759,8 +61469,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.212Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:39.483Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -40768,11 +61478,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 3 } }, { - "_id": "0032444f503cd7792d89b6d46389da6f", + "_id": "a614634e682b10c3c1e0dbde3e9903ee", "_order": 0, "cache": {}, "request": { @@ -40789,15 +61499,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40812,18 +61522,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" }, "response": { - "bodySize": 148, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -40841,7 +61551,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40857,7 +61567,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"-567112083\"" }, { "name": "expires", @@ -40873,11 +61583,11 @@ }, { "name": "content-length", - "value": "148" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -40894,8 +61604,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.213Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:39.483Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -40903,11 +61613,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 4 } }, { - "_id": "ad849dc027dfa4349545492c88087a5e", + "_id": "e32b5cb194a2bca9e48d6984edb6e543", "_order": 0, "cache": {}, "request": { @@ -40924,15 +61634,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40947,23 +61657,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 609, + "headersSize": 664, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" }, "response": { - "bodySize": 13, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40981,7 +61686,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40995,6 +61700,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"821878048\"" + }, { "name": "expires", "value": "0" @@ -41009,11 +61718,11 @@ }, { "name": "content-length", - "value": "13" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41024,14 +61733,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.213Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:39.484Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -41039,11 +61748,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 3 } }, { - "_id": "cf5d090e919d5ccbb347c90ec06f7977", + "_id": "2057565926f53a5d316b28c80d846a29", "_order": 0, "cache": {}, "request": { @@ -41060,15 +61769,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41083,23 +61792,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 664, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" }, "response": { - "bodySize": 13, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41117,7 +61821,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41131,6 +61835,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-943748018\"" + }, { "name": "expires", "value": "0" @@ -41145,11 +61853,11 @@ }, { "name": "content-length", - "value": "13" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41160,14 +61868,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.214Z", - "time": 92, + "startedDateTime": "2024-11-06T16:35:39.484Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -41175,11 +61883,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 3 } }, { - "_id": "9fb94d6e43d493e45aafb1a4abf80834", + "_id": "c0a8f47307f0e373ba5b06ef8f214a29", "_order": 0, "cache": {}, "request": { @@ -41196,15 +61904,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41219,23 +61927,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 623, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" }, "response": { - "bodySize": 15921, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 15921, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}],\"resultCount\":14,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41253,7 +61956,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41267,6 +61970,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1140433090\"" + }, { "name": "expires", "value": "0" @@ -41280,12 +61987,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41296,14 +62003,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.310Z", - "time": 11, + "startedDateTime": "2024-11-06T16:35:39.484Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -41311,11 +62018,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 11 + "wait": 4 } }, { - "_id": "42c25f4cd8a096675a09067c1183a470", + "_id": "82fd58dac86d0be209d145f206a37a87", "_order": 0, "cache": {}, "request": { @@ -41332,15 +62039,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41355,18 +62062,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 611, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Agent" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PersistentCookie" }, "response": { - "bodySize": 676, + "bodySize": 1258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -41384,7 +62091,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41400,7 +62107,7 @@ }, { "name": "etag", - "value": "\"-1016023191\"" + "value": "\"-1882065253\"" }, { "name": "expires", @@ -41416,11 +62123,11 @@ }, { "name": "content-length", - "value": "676" + "value": "1258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41431,14 +62138,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.326Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.493Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -41446,11 +62153,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 3 } }, { - "_id": "83a21a6ba9ed171feb199bf6cbf1d38a", + "_id": "ec986d6ece7088e09c0ccba2e36f74fc", "_order": 0, "cache": {}, "request": { @@ -41467,15 +62174,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41490,18 +62197,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 669, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" }, "response": { - "bodySize": 250, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 207, + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41519,7 +62226,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41535,7 +62242,7 @@ }, { "name": "etag", - "value": "\"1036485453\"" + "value": "\"1365565913\"" }, { "name": "expires", @@ -41551,11 +62258,11 @@ }, { "name": "content-length", - "value": "250" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41572,8 +62279,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.336Z", - "time": 22, + "startedDateTime": "2024-11-06T16:35:39.501Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -41581,11 +62288,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 22 + "wait": 5 } }, { - "_id": "43c77b39909d199d473a5fe771332ee0", + "_id": "141899f5311fcf46c0cb7bb11b6f6f6f", "_order": 0, "cache": {}, "request": { @@ -41602,15 +62309,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41625,18 +62332,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" }, "response": { - "bodySize": 384, + "bodySize": 401, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41654,7 +62361,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41670,7 +62377,7 @@ }, { "name": "etag", - "value": "\"482303273\"" + "value": "\"2091792219\"" }, { "name": "expires", @@ -41686,11 +62393,11 @@ }, { "name": "content-length", - "value": "384" + "value": "401" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41701,14 +62408,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.337Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.502Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -41716,11 +62423,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 5 } }, { - "_id": "dfec7bff4570e579c48b0d257b1e5d07", + "_id": "943738cff1ac85716e67ad3eb13d9450", "_order": 0, "cache": {}, "request": { @@ -41737,15 +62444,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41760,18 +62467,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" }, "response": { - "bodySize": 1043, + "bodySize": 348, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41789,7 +62496,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41805,7 +62512,7 @@ }, { "name": "etag", - "value": "\"-536916143\"" + "value": "\"1056905201\"" }, { "name": "expires", @@ -41821,11 +62528,11 @@ }, { "name": "content-length", - "value": "1043" + "value": "348" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41836,14 +62543,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.362Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:39.502Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -41851,11 +62558,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 6 } }, { - "_id": "5702f3b3baa1e5f7f59572801b53d4f0", + "_id": "96a53b23a19af66561e6720704097460", "_order": 0, "cache": {}, "request": { @@ -41872,15 +62579,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41899,14 +62606,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" }, "response": { - "bodySize": 208, + "bodySize": 205, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41924,7 +62631,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41940,7 +62647,7 @@ }, { "name": "etag", - "value": "\"-1271206475\"" + "value": "\"49533813\"" }, { "name": "expires", @@ -41956,11 +62663,11 @@ }, { "name": "content-length", - "value": "208" + "value": "205" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -41971,14 +62678,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.376Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:39.503Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -41986,11 +62693,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 4 } }, { - "_id": "f51a426dc6daaf8d8eed4ba6d19fdc53", + "_id": "786e50ce7e2a687378ad9f2e65aee710", "_order": 0, "cache": {}, "request": { @@ -42007,15 +62714,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42034,14 +62741,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" }, "response": { - "bodySize": 239, + "bodySize": 240, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42059,7 +62766,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42075,7 +62782,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"-1504299596\"" }, { "name": "expires", @@ -42091,11 +62798,11 @@ }, { "name": "content-length", - "value": "239" + "value": "240" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42106,14 +62813,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.376Z", - "time": 40, + "startedDateTime": "2024-11-06T16:35:39.504Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -42121,11 +62828,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 40 + "wait": 2 } }, { - "_id": "89414e013782aafe5695d6ea1104c2d8", + "_id": "65d6ebed14802c9cb207a0c6892679a2", "_order": 0, "cache": {}, "request": { @@ -42142,15 +62849,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42165,18 +62872,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 631, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" }, "response": { - "bodySize": 385, + "bodySize": 1052, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -42194,7 +62901,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42210,7 +62917,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"460502738\"" }, { "name": "expires", @@ -42226,11 +62933,11 @@ }, { "name": "content-length", - "value": "385" + "value": "1052" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42247,8 +62954,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.377Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:39.514Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -42256,11 +62963,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 3 } }, { - "_id": "76d458cab3399e4b733d1b494543f6d4", + "_id": "80731f7498eeb82808c1865b19e3ac4b", "_order": 0, "cache": {}, "request": { @@ -42277,15 +62984,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42300,18 +63007,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" }, "response": { - "bodySize": 208, + "bodySize": 437, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42329,7 +63036,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42345,7 +63052,7 @@ }, { "name": "etag", - "value": "\"-1588216686\"" + "value": "\"-1682915712\"" }, { "name": "expires", @@ -42361,11 +63068,11 @@ }, { "name": "content-length", - "value": "208" + "value": "437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42382,143 +63089,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.377Z", - "time": 38, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 38 - } - }, - { - "_id": "41b80df967f2710ad5be5dac0d1112f2", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 634, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" - }, - "response": { - "bodySize": 668, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-152060055\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "668" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:37.421Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.523Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -42526,11 +63098,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 8 } }, { - "_id": "3deabeecc4b76ff80d9dd33c1b4b9f24", + "_id": "d73f5a1156e95d6a1082f1098008dc27", "_order": 0, "cache": {}, "request": { @@ -42547,15 +63119,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42570,18 +63142,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" }, "response": { - "bodySize": 1332, + "bodySize": 265, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42599,7 +63171,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42615,7 +63187,7 @@ }, { "name": "etag", - "value": "\"756891103\"" + "value": "\"-1300278465\"" }, { "name": "expires", @@ -42631,11 +63203,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "265" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42646,14 +63218,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.431Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:39.523Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -42661,11 +63233,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 8 } }, { - "_id": "fbf57281b1e632d17ba994799d13d086", + "_id": "8dbfb2445a2195e1f90cab62e3b7cfd8", "_order": 0, "cache": {}, "request": { @@ -42682,15 +63254,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42705,18 +63277,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 667, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" }, "response": { - "bodySize": 318, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42734,7 +63306,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42750,7 +63322,7 @@ }, { "name": "etag", - "value": "\"264081780\"" + "value": "\"-1599353126\"" }, { "name": "expires", @@ -42766,11 +63338,11 @@ }, { "name": "content-length", - "value": "318" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42781,14 +63353,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.432Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.524Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -42796,11 +63368,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 6 } }, { - "_id": "b121e9a9186f00e4322e052b953aa99e", + "_id": "52e3961c14f1ae5091ca4482778459be", "_order": 0, "cache": {}, "request": { @@ -42817,15 +63389,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42840,18 +63412,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 626, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" }, "response": { - "bodySize": 831, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42869,7 +63441,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42885,7 +63457,7 @@ }, { "name": "etag", - "value": "\"1066064282\"" + "value": "\"-1018162955\"" }, { "name": "expires", @@ -42901,11 +63473,11 @@ }, { "name": "content-length", - "value": "831" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -42916,14 +63488,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.458Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.524Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -42931,11 +63503,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 7 } }, { - "_id": "b3295e2c363d0a8431d17686b7e29530", + "_id": "9d4ff766eebe043e4c81a44b3792ec4b", "_order": 0, "cache": {}, "request": { @@ -42952,15 +63524,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42975,18 +63547,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" }, "response": { - "bodySize": 237, + "bodySize": 305, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43004,7 +63576,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43020,7 +63592,7 @@ }, { "name": "etag", - "value": "\"-85053235\"" + "value": "\"104930768\"" }, { "name": "expires", @@ -43036,11 +63608,11 @@ }, { "name": "content-length", - "value": "237" + "value": "305" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43057,8 +63629,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.465Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.534Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -43066,11 +63638,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 5 } }, { - "_id": "f377dd58cb29bc8d3780090447890489", + "_id": "a62c818ecbcab5cfe863c81b25392058", "_order": 0, "cache": {}, "request": { @@ -43087,15 +63659,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43110,18 +63682,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 619, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformLogin" }, "response": { - "bodySize": 239, + "bodySize": 1047, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -43139,7 +63711,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43155,7 +63727,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"-2033523620\"" }, { "name": "expires", @@ -43171,11 +63743,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1047" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43186,14 +63758,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.466Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.543Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -43201,11 +63773,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 2 } }, { - "_id": "5b387d79bf8633d659e9967ba011772b", + "_id": "b30149cd3d16573fda235fef3691a22a", "_order": 0, "cache": {}, "request": { @@ -43222,15 +63794,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43245,18 +63817,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" }, "response": { - "bodySize": 1284, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43274,7 +63846,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43290,7 +63862,7 @@ }, { "name": "etag", - "value": "\"328700129\"" + "value": "\"1707653179\"" }, { "name": "expires", @@ -43306,11 +63878,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43327,8 +63899,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.466Z", - "time": 14, + "startedDateTime": "2024-11-06T16:35:39.551Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -43336,11 +63908,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 14 + "wait": 5 } }, { - "_id": "a725cf9b7e3b49ab610d94509d017399", + "_id": "caefac325b890f48a5b3dc2636f2acb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + }, + "response": { + "bodySize": 278, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1613803341\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "278" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.552Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "e96433862cd3432228364e6b01110540", "_order": 0, "cache": {}, "request": { @@ -43357,15 +64064,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43380,18 +64087,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 635, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" }, "response": { - "bodySize": 1729, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -43409,7 +64116,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43425,7 +64132,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"1478640305\"" }, { "name": "expires", @@ -43441,11 +64148,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43456,13 +64163,13 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.484Z", + "startedDateTime": "2024-11-06T16:35:39.552Z", "time": 4, "timings": { "blocked": -1, @@ -43475,7 +64182,7 @@ } }, { - "_id": "ea36b763d8521688ca7cf0cf59d1f1ed", + "_id": "66ae48097d88f47b706212d511b67abc", "_order": 0, "cache": {}, "request": { @@ -43492,15 +64199,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43515,18 +64222,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 670, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" }, "response": { - "bodySize": 327, + "bodySize": 711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43544,7 +64251,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43560,7 +64267,7 @@ }, { "name": "etag", - "value": "\"2002571022\"" + "value": "\"-202662309\"" }, { "name": "expires", @@ -43576,11 +64283,11 @@ }, { "name": "content-length", - "value": "327" + "value": "711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43597,8 +64304,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.493Z", - "time": 25, + "startedDateTime": "2024-11-06T16:35:39.553Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -43606,11 +64313,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 25 + "wait": 4 } }, { - "_id": "4dad7850e3b4aa1edf51845f2b99743d", + "_id": "cb7543090267a9357fe2042d7886eda3", "_order": 0, "cache": {}, "request": { @@ -43627,15 +64334,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43650,18 +64357,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" }, "response": { - "bodySize": 1285, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43679,7 +64386,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43695,7 +64402,7 @@ }, { "name": "etag", - "value": "\"1821134736\"" + "value": "\"128653632\"" }, { "name": "expires", @@ -43711,11 +64418,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43726,14 +64433,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.494Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.561Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -43741,11 +64448,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 6 } }, { - "_id": "042320d68eeb69a72e6f560aa0456a3f", + "_id": "c462fdc881f127545e3681f59d8384c3", "_order": 0, "cache": {}, "request": { @@ -43762,15 +64469,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43785,18 +64492,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" }, "response": { - "bodySize": 224, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43814,7 +64521,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43830,7 +64537,7 @@ }, { "name": "etag", - "value": "\"-1210949842\"" + "value": "\"-1790782773\"" }, { "name": "expires", @@ -43846,11 +64553,11 @@ }, { "name": "content-length", - "value": "224" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -43867,143 +64574,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.494Z", - "time": 22, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 22 - } - }, - { - "_id": "36f30a2663ee67816c417080f7f7281c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 665, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" - }, - "response": { - "bodySize": 299, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-171890830\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "299" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:37.495Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:39.562Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -44011,11 +64583,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 5 } }, { - "_id": "1828f701e56214fb606de64c77bb633e", + "_id": "d743479b541ad1cba5b72f4e1bd2ead4", "_order": 0, "cache": {}, "request": { @@ -44032,15 +64604,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44055,18 +64627,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 632, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" }, "response": { - "bodySize": 222, + "bodySize": 1119, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -44084,7 +64656,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44100,7 +64672,7 @@ }, { "name": "etag", - "value": "\"-1709503699\"" + "value": "\"-686533928\"" }, { "name": "expires", @@ -44116,11 +64688,11 @@ }, { "name": "content-length", - "value": "222" + "value": "1119" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44137,8 +64709,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.495Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:39.572Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -44146,11 +64718,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 3 } }, { - "_id": "6df6a9ddd5a60930d171a5d2e2534307", + "_id": "0fc3b6af26d7907dd122cab8e340e9a1", "_order": 0, "cache": {}, "request": { @@ -44167,15 +64739,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44190,18 +64762,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" }, "response": { - "bodySize": 659, + "bodySize": 376, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -44219,7 +64791,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44235,7 +64807,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"511839934\"" }, { "name": "expires", @@ -44251,11 +64823,11 @@ }, { "name": "content-length", - "value": "659" + "value": "376" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44266,14 +64838,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.495Z", - "time": 25, + "startedDateTime": "2024-11-06T16:35:39.580Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -44281,11 +64853,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 25 + "wait": 6 } }, { - "_id": "1e63ed577c6a24cd6e3dc35a1ce2d923", + "_id": "2bcdb8cfff8a8c5415260ff921903f30", "_order": 0, "cache": {}, "request": { @@ -44302,15 +64874,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44325,18 +64897,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" }, "response": { - "bodySize": 279, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44354,7 +64926,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44370,7 +64942,7 @@ }, { "name": "etag", - "value": "\"580379617\"" + "value": "\"-1655043290\"" }, { "name": "expires", @@ -44386,11 +64958,11 @@ }, { "name": "content-length", - "value": "279" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44401,14 +64973,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.496Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:39.581Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -44416,11 +64988,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 4 } }, { - "_id": "3c37cb96a0bfe0f4c30ac363a2ad5902", + "_id": "5f5736e172d9b2f3465956e7bec53b13", "_order": 0, "cache": {}, "request": { @@ -44437,15 +65009,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44460,18 +65032,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 625, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" }, "response": { - "bodySize": 1456, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1456, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -44489,7 +65061,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44505,7 +65077,7 @@ }, { "name": "etag", - "value": "\"-293280187\"" + "value": "\"-1735965231\"" }, { "name": "expires", @@ -44521,11 +65093,11 @@ }, { "name": "content-length", - "value": "1456" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44542,8 +65114,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.524Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.581Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -44551,11 +65123,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 7 } }, { - "_id": "7fa95a66a5ea8886b23677d440ddbe3c", + "_id": "8fe2893c2ce7f34c5d881b4f753bafca", "_order": 0, "cache": {}, "request": { @@ -44572,15 +65144,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44595,18 +65167,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" }, "response": { - "bodySize": 221, + "bodySize": 340, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -44624,7 +65196,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44640,7 +65212,7 @@ }, { "name": "etag", - "value": "\"1217170264\"" + "value": "\"712832963\"" }, { "name": "expires", @@ -44656,11 +65228,11 @@ }, { "name": "content-length", - "value": "221" + "value": "340" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44671,14 +65243,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.533Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:39.582Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -44686,11 +65258,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 6 } }, { - "_id": "a614634e682b10c3c1e0dbde3e9903ee", + "_id": "b02c393896237d2336488125448e35a6", "_order": 0, "cache": {}, "request": { @@ -44707,15 +65279,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44730,18 +65302,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" }, "response": { - "bodySize": 280, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44759,7 +65331,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44775,7 +65347,7 @@ }, { "name": "etag", - "value": "\"-567112083\"" + "value": "\"-1799080778\"" }, { "name": "expires", @@ -44791,11 +65363,11 @@ }, { "name": "content-length", - "value": "280" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44806,14 +65378,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.534Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.593Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -44821,11 +65393,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 4 } }, { - "_id": "95f91270497ab866daa53975512ebb54", + "_id": "d669e6a1ff56a1a13e7d5229b449ff73", "_order": 0, "cache": {}, "request": { @@ -44842,15 +65414,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44865,18 +65437,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 626, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" }, "response": { - "bodySize": 238, + "bodySize": 819, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -44894,7 +65466,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44910,7 +65482,7 @@ }, { "name": "etag", - "value": "\"613466196\"" + "value": "\"1526211113\"" }, { "name": "expires", @@ -44926,11 +65498,11 @@ }, { "name": "content-length", - "value": "238" + "value": "819" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -44941,14 +65513,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.534Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.601Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -44956,11 +65528,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 3 } }, { - "_id": "e32b5cb194a2bca9e48d6984edb6e543", + "_id": "90594581e99b14d80bd96b7884a0098c", "_order": 0, "cache": {}, "request": { @@ -44977,15 +65549,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45000,18 +65572,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" }, "response": { - "bodySize": 206, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45029,7 +65601,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45045,7 +65617,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"1743893705\"" }, { "name": "expires", @@ -45061,11 +65633,11 @@ }, { "name": "content-length", - "value": "206" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45076,14 +65648,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.535Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.609Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -45091,11 +65663,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 5 } }, { - "_id": "c0a8f47307f0e373ba5b06ef8f214a29", + "_id": "b178e1c07f88e1d2b690c161fc85bf7a", "_order": 0, "cache": {}, "request": { @@ -45112,15 +65684,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45135,18 +65707,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" }, "response": { - "bodySize": 659, + "bodySize": 271, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -45164,7 +65736,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45180,7 +65752,7 @@ }, { "name": "etag", - "value": "\"1140433090\"" + "value": "\"1895090878\"" }, { "name": "expires", @@ -45196,11 +65768,11 @@ }, { "name": "content-length", - "value": "659" + "value": "271" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45217,8 +65789,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.535Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.610Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -45226,11 +65798,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 5 } }, { - "_id": "2057565926f53a5d316b28c80d846a29", + "_id": "6422a2ef61d2d2e3e01c4ff1ed87af04", "_order": 0, "cache": {}, "request": { @@ -45247,15 +65819,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45270,18 +65842,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" }, "response": { - "bodySize": 207, + "bodySize": 959, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45299,7 +65871,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45315,7 +65887,7 @@ }, { "name": "etag", - "value": "\"-943748018\"" + "value": "\"-1037301643\"" }, { "name": "expires", @@ -45331,11 +65903,11 @@ }, { "name": "content-length", - "value": "207" + "value": "959" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45346,14 +65918,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.536Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.610Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -45361,11 +65933,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 6 } }, { - "_id": "82fd58dac86d0be209d145f206a37a87", + "_id": "30d00d5eb8415b5bf68ee7368a9a3a37", "_order": 0, "cache": {}, "request": { @@ -45382,15 +65954,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45405,18 +65977,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" }, "response": { - "bodySize": 1258, + "bodySize": 371, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45434,7 +66006,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45450,7 +66022,7 @@ }, { "name": "etag", - "value": "\"-1882065253\"" + "value": "\"790804755\"" }, { "name": "expires", @@ -45466,11 +66038,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "371" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45481,14 +66053,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.559Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.621Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -45496,11 +66068,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 5 } }, { - "_id": "ec986d6ece7088e09c0ccba2e36f74fc", + "_id": "71b1a537a9c37508e265d35bad4e0830", "_order": 0, "cache": {}, "request": { @@ -45517,15 +66089,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45544,14 +66116,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" }, "response": { - "bodySize": 207, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45569,7 +66141,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45585,7 +66157,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"-1365755177\"" }, { "name": "expires", @@ -45601,11 +66173,11 @@ }, { "name": "content-length", - "value": "207" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45616,14 +66188,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.568Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.621Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -45631,11 +66203,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 6 } }, { - "_id": "943738cff1ac85716e67ad3eb13d9450", + "_id": "74e4ee1442b16e999cda3f40f4b7688f", "_order": 0, "cache": {}, "request": { @@ -45652,15 +66224,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45675,18 +66247,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" }, "response": { - "bodySize": 348, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45704,7 +66276,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45720,7 +66292,7 @@ }, { "name": "etag", - "value": "\"1056905201\"" + "value": "\"-347683889\"" }, { "name": "expires", @@ -45736,11 +66308,11 @@ }, { "name": "content-length", - "value": "348" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45757,8 +66329,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.568Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:39.622Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -45766,11 +66338,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 4 } }, { - "_id": "786e50ce7e2a687378ad9f2e65aee710", + "_id": "5ba978fc7d7f3ad64ed5a2ab85e311af", "_order": 0, "cache": {}, "request": { @@ -45787,15 +66359,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45810,18 +66382,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 656, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" }, "response": { - "bodySize": 240, + "bodySize": 275, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45839,7 +66411,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45855,7 +66427,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"-1855541828\"" }, { "name": "expires", @@ -45871,11 +66443,11 @@ }, { "name": "content-length", - "value": "240" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -45892,8 +66464,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.569Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.622Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -45901,11 +66473,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 5 } }, { - "_id": "96a53b23a19af66561e6720704097460", + "_id": "a1557c0e3191e550931383a163ba7080", "_order": 0, "cache": {}, "request": { @@ -45922,15 +66494,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45945,18 +66517,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" }, "response": { - "bodySize": 205, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45974,7 +66546,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45990,7 +66562,7 @@ }, { "name": "etag", - "value": "\"49533813\"" + "value": "\"-1310629925\"" }, { "name": "expires", @@ -46006,11 +66578,11 @@ }, { "name": "content-length", - "value": "205" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46021,14 +66593,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.569Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.623Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -46036,11 +66608,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 5 } }, { - "_id": "141899f5311fcf46c0cb7bb11b6f6f6f", + "_id": "0b0f7377af263ef0d3ced5c89b5f57aa", "_order": 0, "cache": {}, "request": { @@ -46057,15 +66629,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46080,18 +66652,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 627, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" }, "response": { - "bodySize": 401, + "bodySize": 1201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -46109,7 +66681,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46125,7 +66697,7 @@ }, { "name": "etag", - "value": "\"2091792219\"" + "value": "\"1171487776\"" }, { "name": "expires", @@ -46141,11 +66713,11 @@ }, { "name": "content-length", - "value": "401" + "value": "1201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46156,14 +66728,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.569Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.632Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -46171,11 +66743,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 4 } }, { - "_id": "65d6ebed14802c9cb207a0c6892679a2", + "_id": "4c29ff6b56efbbcf462e401ef462f9a0", "_order": 0, "cache": {}, "request": { @@ -46192,15 +66764,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46215,18 +66787,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 631, + "headersSize": 667, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" }, "response": { - "bodySize": 1052, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -46244,7 +66816,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46260,7 +66832,7 @@ }, { "name": "etag", - "value": "\"460502738\"" + "value": "\"-77719538\"" }, { "name": "expires", @@ -46276,11 +66848,11 @@ }, { "name": "content-length", - "value": "1052" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46291,13 +66863,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.593Z", + "startedDateTime": "2024-11-06T16:35:39.642Z", "time": 4, "timings": { "blocked": -1, @@ -46310,7 +66882,7 @@ } }, { - "_id": "d73f5a1156e95d6a1082f1098008dc27", + "_id": "a5ee15257ae08776cb4344a8e3680ad6", "_order": 0, "cache": {}, "request": { @@ -46327,15 +66899,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46350,18 +66922,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" }, "response": { - "bodySize": 265, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46379,7 +66951,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46395,7 +66967,7 @@ }, { "name": "etag", - "value": "\"-1300278465\"" + "value": "\"-1578060484\"" }, { "name": "expires", @@ -46411,11 +66983,11 @@ }, { "name": "content-length", - "value": "265" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46432,8 +67004,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.602Z", - "time": 16, + "startedDateTime": "2024-11-06T16:35:39.642Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -46441,11 +67013,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 16 + "wait": 5 } }, { - "_id": "80731f7498eeb82808c1865b19e3ac4b", + "_id": "e078d511ccbfe0e79afbdc4a7488d9f7", "_order": 0, "cache": {}, "request": { @@ -46462,15 +67034,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46485,18 +67057,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" }, "response": { - "bodySize": 437, + "bodySize": 336, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -46514,7 +67086,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46530,7 +67102,7 @@ }, { "name": "etag", - "value": "\"-1682915712\"" + "value": "\"875182106\"" }, { "name": "expires", @@ -46546,11 +67118,11 @@ }, { "name": "content-length", - "value": "437" + "value": "336" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46561,14 +67133,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.603Z", - "time": 16, + "startedDateTime": "2024-11-06T16:35:39.643Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -46576,11 +67148,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 16 + "wait": 3 } }, { - "_id": "52e3961c14f1ae5091ca4482778459be", + "_id": "8ebc74a56a3900fae230596ff1246ba8", "_order": 0, "cache": {}, "request": { @@ -46597,15 +67169,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46624,14 +67196,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" }, "response": { - "bodySize": 474, + "bodySize": 469, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46649,7 +67221,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46665,7 +67237,7 @@ }, { "name": "etag", - "value": "\"-1018162955\"" + "value": "\"1522661276\"" }, { "name": "expires", @@ -46681,11 +67253,11 @@ }, { "name": "content-length", - "value": "474" + "value": "469" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46696,14 +67268,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.603Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.643Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -46711,11 +67283,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 4 } }, { - "_id": "8dbfb2445a2195e1f90cab62e3b7cfd8", + "_id": "1e2ad84d748dd87df22002ce23285747", "_order": 0, "cache": {}, "request": { @@ -46732,15 +67304,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46755,18 +67327,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 667, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" }, "response": { - "bodySize": 273, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46784,7 +67356,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46800,7 +67372,7 @@ }, { "name": "etag", - "value": "\"-1599353126\"" + "value": "\"-1395544271\"" }, { "name": "expires", @@ -46816,11 +67388,11 @@ }, { "name": "content-length", - "value": "273" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46837,8 +67409,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.604Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.643Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -46846,11 +67418,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 4 } }, { - "_id": "9d4ff766eebe043e4c81a44b3792ec4b", + "_id": "b3eefb4122378336dbb40ec539af61c8", "_order": 0, "cache": {}, "request": { @@ -46867,15 +67439,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46890,18 +67462,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" }, "response": { - "bodySize": 305, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46919,7 +67491,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46935,7 +67507,7 @@ }, { "name": "etag", - "value": "\"104930768\"" + "value": "\"1323058199\"" }, { "name": "expires", @@ -46951,11 +67523,11 @@ }, { "name": "content-length", - "value": "305" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -46966,14 +67538,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.625Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:39.652Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -46981,11 +67553,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 4 } }, { - "_id": "a62c818ecbcab5cfe863c81b25392058", + "_id": "07f319f7c8e7cf662a719206e8c1ecbd", "_order": 0, "cache": {}, "request": { @@ -47002,15 +67574,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47025,18 +67597,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 619, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" }, "response": { - "bodySize": 1047, + "bodySize": 306, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -47054,7 +67626,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47070,7 +67642,7 @@ }, { "name": "etag", - "value": "\"-2033523620\"" + "value": "\"-415466582\"" }, { "name": "expires", @@ -47086,11 +67658,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "306" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47101,13 +67673,13 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.636Z", + "startedDateTime": "2024-11-06T16:35:39.653Z", "time": 3, "timings": { "blocked": -1, @@ -47120,7 +67692,7 @@ } }, { - "_id": "b30149cd3d16573fda235fef3691a22a", + "_id": "4dff3f2674bf22e7fce4eedd1abe356b", "_order": 0, "cache": {}, "request": { @@ -47137,15 +67709,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47160,18 +67732,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 628, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" }, "response": { - "bodySize": 243, + "bodySize": 1639, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -47189,7 +67761,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47205,7 +67777,7 @@ }, { "name": "etag", - "value": "\"1707653179\"" + "value": "\"433260882\"" }, { "name": "expires", @@ -47221,11 +67793,11 @@ }, { "name": "content-length", - "value": "243" + "value": "1639" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47242,8 +67814,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.643Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.660Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -47251,11 +67823,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 3 } }, { - "_id": "caefac325b890f48a5b3dc2636f2acb5", + "_id": "d1448394c85d7ecd50ea10b33c4f3c77", "_order": 0, "cache": {}, "request": { @@ -47272,15 +67844,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47295,18 +67867,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" }, "response": { - "bodySize": 278, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47324,7 +67896,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47340,7 +67912,7 @@ }, { "name": "etag", - "value": "\"-1613803341\"" + "value": "\"1309752765\"" }, { "name": "expires", @@ -47356,11 +67928,11 @@ }, { "name": "content-length", - "value": "278" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47371,14 +67943,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.644Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.669Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -47386,11 +67958,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 5 } }, { - "_id": "e96433862cd3432228364e6b01110540", + "_id": "39c678828a3b6356ae0b2bd2c9663d38", "_order": 0, "cache": {}, "request": { @@ -47407,15 +67979,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47430,18 +68002,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" }, "response": { - "bodySize": 239, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -47459,7 +68031,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47475,7 +68047,7 @@ }, { "name": "etag", - "value": "\"1478640305\"" + "value": "\"-529786920\"" }, { "name": "expires", @@ -47491,11 +68063,11 @@ }, { "name": "content-length", - "value": "239" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47512,8 +68084,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.644Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.670Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -47521,11 +68093,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 3 } }, { - "_id": "66ae48097d88f47b706212d511b67abc", + "_id": "d615f6570735349e761a99ec55198f66", "_order": 0, "cache": {}, "request": { @@ -47542,15 +68114,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47565,18 +68137,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" }, "response": { - "bodySize": 711, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47594,7 +68166,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47610,7 +68182,7 @@ }, { "name": "etag", - "value": "\"-202662309\"" + "value": "\"-1874082022\"" }, { "name": "expires", @@ -47626,11 +68198,11 @@ }, { "name": "content-length", - "value": "711" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47641,14 +68213,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.645Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:39.670Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -47656,11 +68228,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 6 } }, { - "_id": "cb7543090267a9357fe2042d7886eda3", + "_id": "4e369d894edaf1d5c3218fa24a7e95b2", "_order": 0, "cache": {}, "request": { @@ -47677,15 +68249,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47700,18 +68272,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" }, "response": { - "bodySize": 258, + "bodySize": 349, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -47729,7 +68301,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47745,7 +68317,7 @@ }, { "name": "etag", - "value": "\"128653632\"" + "value": "\"894949571\"" }, { "name": "expires", @@ -47761,11 +68333,11 @@ }, { "name": "content-length", - "value": "258" + "value": "349" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47782,8 +68354,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.665Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.671Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -47791,11 +68363,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 4 } }, { - "_id": "c462fdc881f127545e3681f59d8384c3", + "_id": "a40e9402741d2edbb08a31d5e96ffc2b", "_order": 0, "cache": {}, "request": { @@ -47812,15 +68384,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47835,18 +68407,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" }, "response": { - "bodySize": 260, + "bodySize": 410, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -47864,7 +68436,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -47880,7 +68452,7 @@ }, { "name": "etag", - "value": "\"-1790782773\"" + "value": "\"-895759180\"" }, { "name": "expires", @@ -47896,11 +68468,11 @@ }, { "name": "content-length", - "value": "260" + "value": "410" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -47911,14 +68483,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.666Z", - "time": 11, + "startedDateTime": "2024-11-06T16:35:39.671Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -47926,11 +68498,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 11 + "wait": 5 } }, { - "_id": "d743479b541ad1cba5b72f4e1bd2ead4", + "_id": "4ee276c46e89a87d31a75db8dc68daaa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + }, + "response": { + "bodySize": 422, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"384347514\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "422" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.671Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "2d1e4c57e08142cd762f20836ee70377", "_order": 0, "cache": {}, "request": { @@ -47947,15 +68654,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -47970,18 +68677,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 632, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" }, "response": { - "bodySize": 1119, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -47999,7 +68706,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48015,7 +68722,7 @@ }, { "name": "etag", - "value": "\"-686533928\"" + "value": "\"-852986593\"" }, { "name": "expires", @@ -48031,11 +68738,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48046,14 +68753,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.681Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.672Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -48061,11 +68768,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 5 } }, { - "_id": "2bcdb8cfff8a8c5415260ff921903f30", + "_id": "c965fb495a5d351fe926f41c394a0d33", "_order": 0, "cache": {}, "request": { @@ -48082,15 +68789,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48105,18 +68812,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" }, "response": { - "bodySize": 404, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48134,7 +68841,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48150,7 +68857,7 @@ }, { "name": "etag", - "value": "\"-1655043290\"" + "value": "\"-611727803\"" }, { "name": "expires", @@ -48166,11 +68873,11 @@ }, { "name": "content-length", - "value": "404" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48181,14 +68888,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.689Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.681Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -48196,11 +68903,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 5 } }, { - "_id": "0fc3b6af26d7907dd122cab8e340e9a1", + "_id": "75fe9aa2a84ce8cfe0c67d14fbc400b9", "_order": 0, "cache": {}, "request": { @@ -48217,15 +68924,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48240,18 +68947,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" }, "response": { - "bodySize": 376, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48269,7 +68976,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48285,7 +68992,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"502723459\"" }, { "name": "expires", @@ -48301,11 +69008,11 @@ }, { "name": "content-length", - "value": "376" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48322,8 +69029,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.689Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.682Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -48331,11 +69038,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 5 } }, { - "_id": "5f5736e172d9b2f3465956e7bec53b13", + "_id": "753f2021c64ffb849cff618b73a3f0e2", "_order": 0, "cache": {}, "request": { @@ -48352,15 +69059,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48375,18 +69082,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 616, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/RetryLimit" }, "response": { - "bodySize": 300, + "bodySize": 1231, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -48404,7 +69111,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48420,7 +69127,7 @@ }, { "name": "etag", - "value": "\"-1735965231\"" + "value": "\"-1417605028\"" }, { "name": "expires", @@ -48436,11 +69143,11 @@ }, { "name": "content-length", - "value": "300" + "value": "1231" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48451,14 +69158,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.690Z", - "time": 11, + "startedDateTime": "2024-11-06T16:35:39.691Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -48466,11 +69173,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 11 + "wait": 4 } }, { - "_id": "8fe2893c2ce7f34c5d881b4f753bafca", + "_id": "bff3c7f8bd567bb4e400dc59817f6343", "_order": 0, "cache": {}, "request": { @@ -48487,15 +69194,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48510,18 +69217,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" }, "response": { - "bodySize": 340, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 207, + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48539,7 +69246,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48555,7 +69262,7 @@ }, { "name": "etag", - "value": "\"712832963\"" + "value": "\"1991543646\"" }, { "name": "expires", @@ -48571,11 +69278,11 @@ }, { "name": "content-length", - "value": "340" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48586,14 +69293,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.690Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:39.699Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -48601,11 +69308,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 6 } }, { - "_id": "b02c393896237d2336488125448e35a6", + "_id": "b2f41c3d63d02eefe1c577ce9135a13f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1844311587\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.700Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "968db9e0d6179f49120f2bfc3d5704e3", "_order": 0, "cache": {}, "request": { @@ -48622,15 +69464,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48649,14 +69491,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" }, "response": { - "bodySize": 351, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -48674,7 +69516,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48690,7 +69532,7 @@ }, { "name": "etag", - "value": "\"-1799080778\"" + "value": "\"376925853\"" }, { "name": "expires", @@ -48706,11 +69548,11 @@ }, { "name": "content-length", - "value": "351" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48721,13 +69563,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.705Z", + "startedDateTime": "2024-11-06T16:35:39.700Z", "time": 6, "timings": { "blocked": -1, @@ -48740,7 +69582,7 @@ } }, { - "_id": "d669e6a1ff56a1a13e7d5229b449ff73", + "_id": "ab8edf19086f911ab858ca63ed21b9fa", "_order": 0, "cache": {}, "request": { @@ -48757,15 +69599,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48780,18 +69622,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 626, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" }, "response": { - "bodySize": 819, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48809,7 +69651,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48825,7 +69667,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"1366894111\"" }, { "name": "expires", @@ -48841,11 +69683,11 @@ }, { "name": "content-length", - "value": "819" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48862,8 +69704,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.715Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:39.701Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -48871,11 +69713,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "90594581e99b14d80bd96b7884a0098c", + "_id": "d34afdd3ee64c3cd04763f479d195fc2", "_order": 0, "cache": {}, "request": { @@ -48892,15 +69734,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -48915,18 +69757,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 661, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" }, "response": { - "bodySize": 243, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48944,7 +69786,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48960,7 +69802,7 @@ }, { "name": "etag", - "value": "\"1743893705\"" + "value": "\"2057819892\"" }, { "name": "expires", @@ -48976,11 +69818,11 @@ }, { "name": "content-length", - "value": "243" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -48997,8 +69839,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.722Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.701Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -49006,11 +69848,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 5 } }, { - "_id": "6422a2ef61d2d2e3e01c4ff1ed87af04", + "_id": "3589957470cb982886bc187fa01daa34", "_order": 0, "cache": {}, "request": { @@ -49027,15 +69869,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "cookie", @@ -49050,18 +69892,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/policies?_queryFilter=true" }, "response": { - "bodySize": 959, + "bodySize": 137, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -49079,7 +69926,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=2.1" }, { "name": "content-security-policy", @@ -49093,10 +69940,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1037301643\"" - }, { "name": "expires", "value": "0" @@ -49111,11 +69954,11 @@ }, { "name": "content-length", - "value": "959" + "value": "137" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49126,14 +69969,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.723Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.711Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -49141,11 +69984,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 4 } }, { - "_id": "b178e1c07f88e1d2b690c161fc85bf7a", + "_id": "2865a4376c54371f09eb6676984ac794", "_order": 0, "cache": {}, "request": { @@ -49162,15 +70005,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "cookie", @@ -49185,153 +70028,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 655, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" - }, - "response": { - "bodySize": 271, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1895090878\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "271" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:37.723Z", - "time": 11, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 11 - } - }, - { - "_id": "71b1a537a9c37508e265d35bad4e0830", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, + "queryString": [ { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "_sortKeys", + "value": "name" }, { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" } ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 259, + "bodySize": 1058, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1058, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1578580064992,\"lastModifiedDate\":1728509788713,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -49349,7 +70066,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -49363,10 +70080,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1365755177\"" - }, { "name": "expires", "value": "0" @@ -49381,11 +70094,11 @@ }, { "name": "content-length", - "value": "259" + "value": "1058" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49396,14 +70109,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.738Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.718Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -49411,11 +70124,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 8 } }, { - "_id": "30d00d5eb8415b5bf68ee7368a9a3a37", + "_id": "8ec481d75bb7a0d54671964fc5d30f39", "_order": 0, "cache": {}, "request": { @@ -49432,15 +70145,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -49455,18 +70168,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 654, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 371, + "bodySize": 996, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 996, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788670},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788692}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -49484,7 +70206,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -49498,10 +70220,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"790804755\"" - }, { "name": "expires", "value": "0" @@ -49516,11 +70234,11 @@ }, { "name": "content-length", - "value": "371" + "value": "996" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49531,14 +70249,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.738Z", - "time": 22, + "startedDateTime": "2024-11-06T16:35:39.731Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -49546,11 +70264,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 22 + "wait": 7 } }, { - "_id": "74e4ee1442b16e999cda3f40f4b7688f", + "_id": "ef0612496b038d8e7d11ebdcb47d0c7a", "_order": 0, "cache": {}, "request": { @@ -49567,15 +70285,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49590,18 +70308,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/scripts?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 176322, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 176322, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -49619,7 +70342,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -49634,8 +70357,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"-347683889\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:39.742Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + }, + { + "_id": "31c38716b2a724e55b7afc842c70263c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Library Script\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -49651,11 +70506,11 @@ }, { "name": "content-length", - "value": "258" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49666,14 +70521,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.739Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:39.758Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -49681,11 +70536,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 3 } }, { - "_id": "5ba978fc7d7f3ad64ed5a2ab85e311af", + "_id": "8d9eb30dd89f11c6214096ea0454c796", "_order": 0, "cache": {}, "request": { @@ -49702,11 +70557,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -49725,18 +70580,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, + "headersSize": 604, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores?_action=nextdescendents" }, "response": { - "bodySize": 275, + "bodySize": 523, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -49768,10 +70628,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1855541828\"" - }, { "name": "expires", "value": "0" @@ -49786,11 +70642,11 @@ }, { "name": "content-length", - "value": "275" + "value": "523" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49801,14 +70657,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.739Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:39.766Z", + "time": 13, "timings": { "blocked": -1, "connect": -1, @@ -49816,11 +70672,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 13 } }, { - "_id": "a1557c0e3191e550931383a163ba7080", + "_id": "9d8ecfd4317bb2962e6ad9b1fe15a82b", "_order": 0, "cache": {}, "request": { @@ -49837,11 +70693,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -49860,18 +70716,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 643, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" }, "response": { - "bodySize": 224, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -49903,10 +70764,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1310629925\"" - }, { "name": "expires", "value": "0" @@ -49921,11 +70778,11 @@ }, { "name": "content-length", - "value": "224" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -49936,14 +70793,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.739Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:39.785Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -49951,11 +70808,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 4 } }, { - "_id": "0b0f7377af263ef0d3ced5c89b5f57aa", + "_id": "d174898bf906d00eaf8a698802f289f1", "_order": 0, "cache": {}, "request": { @@ -49972,11 +70829,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -49995,18 +70852,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 627, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" }, "response": { - "bodySize": 1201, + "bodySize": 99, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -50038,10 +70900,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1171487776\"" - }, { "name": "expires", "value": "0" @@ -50056,11 +70914,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "99" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50071,14 +70929,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:37.766Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:39.793Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -50086,11 +70944,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "a5ee15257ae08776cb4344a8e3680ad6", + "_id": "8c28c86ea2dc548d8f377f13e235adda", "_order": 0, "cache": {}, "request": { @@ -50107,15 +70965,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50130,153 +70988,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" - }, - "response": { - "bodySize": 407, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1578060484\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "407" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 486, + "headersSize": 598, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:37.777Z", - "time": 19, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 19 - } - }, - { - "_id": "4c29ff6b56efbbcf462e401ef462f9a0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 667, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 295, + "bodySize": 9585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 9585, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -50294,7 +71022,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50308,10 +71036,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-77719538\"" - }, { "name": "expires", "value": "0" @@ -50325,12 +71049,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "295" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50341,14 +71065,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.778Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.801Z", + "time": 29, "timings": { "blocked": -1, "connect": -1, @@ -50356,11 +71080,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 29 } }, { - "_id": "8ebc74a56a3900fae230596ff1246ba8", + "_id": "edf51fedd09100a6cc80b4059b2549e7", "_order": 0, "cache": {}, "request": { @@ -50377,15 +71101,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50400,18 +71124,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories" }, "response": { - "bodySize": 469, + "bodySize": 346, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50429,7 +71153,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50445,7 +71169,7 @@ }, { "name": "etag", - "value": "\"1522661276\"" + "value": "\"-1741783487\"" }, { "name": "expires", @@ -50461,11 +71185,11 @@ }, { "name": "content-length", - "value": "469" + "value": "346" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50476,14 +71200,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.778Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.837Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -50491,11 +71215,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 5 } }, { - "_id": "1e2ad84d748dd87df22002ce23285747", + "_id": "e5e9a36236b174ed5a6fe1c44dca8e7f", "_order": 0, "cache": {}, "request": { @@ -50512,15 +71236,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50535,18 +71259,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 593, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 433, + "bodySize": 708, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50564,7 +71288,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50580,7 +71304,7 @@ }, { "name": "etag", - "value": "\"-1395544271\"" + "value": "\"-52720779\"" }, { "name": "expires", @@ -50596,11 +71320,11 @@ }, { "name": "content-length", - "value": "433" + "value": "708" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50611,14 +71335,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.779Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.838Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -50626,11 +71350,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 4 } }, { - "_id": "e078d511ccbfe0e79afbdc4a7488d9f7", + "_id": "1ce634703753aa4931a5559e2e365dde", "_order": 0, "cache": {}, "request": { @@ -50647,15 +71371,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50670,18 +71394,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 614, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 336, + "bodySize": 5109, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 5109, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -50699,7 +71428,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50713,10 +71442,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"875182106\"" - }, { "name": "expires", "value": "0" @@ -50731,11 +71456,11 @@ }, { "name": "content-length", - "value": "336" + "value": "5109" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50746,14 +71471,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.779Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:39.838Z", + "time": 12, "timings": { "blocked": -1, "connect": -1, @@ -50761,11 +71486,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 12 } }, { - "_id": "b3eefb4122378336dbb40ec539af61c8", + "_id": "b8167ce019d6d590dd02b1979d9bb24e", "_order": 0, "cache": {}, "request": { @@ -50782,15 +71507,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50805,18 +71530,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 618, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -50834,7 +71564,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50848,10 +71578,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1323058199\"" - }, { "name": "expires", "value": "0" @@ -50866,11 +71592,11 @@ }, { "name": "content-length", - "value": "258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -50881,14 +71607,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.802Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.839Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -50896,11 +71622,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 3 } }, { - "_id": "07f319f7c8e7cf662a719206e8c1ecbd", + "_id": "0032444f503cd7792d89b6d46389da6f", "_order": 0, "cache": {}, "request": { @@ -50917,15 +71643,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50940,18 +71666,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 597, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 306, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50969,7 +71695,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50985,7 +71711,7 @@ }, { "name": "etag", - "value": "\"-415466582\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -51001,11 +71727,11 @@ }, { "name": "content-length", - "value": "306" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51022,8 +71748,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.802Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.840Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -51031,11 +71757,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 3 } }, { - "_id": "4dff3f2674bf22e7fce4eedd1abe356b", + "_id": "ad849dc027dfa4349545492c88087a5e", "_order": 0, "cache": {}, "request": { @@ -51052,15 +71778,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51075,18 +71801,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 609, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 1639, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51104,7 +71835,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51118,10 +71849,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"433260882\"" - }, { "name": "expires", "value": "0" @@ -51136,11 +71863,11 @@ }, { "name": "content-length", - "value": "1639" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51151,13 +71878,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.817Z", + "startedDateTime": "2024-11-06T16:35:39.840Z", "time": 4, "timings": { "blocked": -1, @@ -51170,7 +71897,7 @@ } }, { - "_id": "d1448394c85d7ecd50ea10b33c4f3c77", + "_id": "cf5d090e919d5ccbb347c90ec06f7977", "_order": 0, "cache": {}, "request": { @@ -51187,15 +71914,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51210,18 +71937,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 622, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51239,7 +71971,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51253,10 +71985,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1309752765\"" - }, { "name": "expires", "value": "0" @@ -51271,11 +71999,11 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51286,14 +72014,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.829Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:39.841Z", + "time": 15, "timings": { "blocked": -1, "connect": -1, @@ -51301,11 +72029,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 15 } }, { - "_id": "d615f6570735349e761a99ec55198f66", + "_id": "23c5f474dbfd42ec624597992e324bc8", "_order": 0, "cache": {}, "request": { @@ -51322,15 +72050,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51345,18 +72073,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 606, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 315, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -51374,7 +72107,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51388,10 +72121,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1874082022\"" - }, { "name": "expires", "value": "0" @@ -51406,11 +72135,11 @@ }, { "name": "content-length", - "value": "315" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51421,14 +72150,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.829Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:39.861Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -51436,11 +72165,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 4 } }, { - "_id": "4ee276c46e89a87d31a75db8dc68daaa", + "_id": "a9cd24a6d32075673ec9d693a7d37e4d", "_order": 0, "cache": {}, "request": { @@ -51457,15 +72186,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -51480,18 +72209,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 602, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 422, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -51509,7 +72243,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51523,10 +72257,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"384347514\"" - }, { "name": "expires", "value": "0" @@ -51541,11 +72271,11 @@ }, { "name": "content-length", - "value": "422" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51556,14 +72286,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.830Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:39.870Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -51571,11 +72301,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 5 } }, { - "_id": "39c678828a3b6356ae0b2bd2c9663d38", + "_id": "9921972dc1fb9bef47d3efc03bb24ce7", "_order": 0, "cache": {}, "request": { @@ -51592,15 +72322,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -51615,18 +72345,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 485, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -51644,7 +72379,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51658,10 +72393,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-529786920\"" - }, { "name": "expires", "value": "0" @@ -51676,11 +72407,11 @@ }, { "name": "content-length", - "value": "485" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51691,14 +72422,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.830Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:39.879Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -51706,15 +72437,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 6 } }, { - "_id": "4e369d894edaf1d5c3218fa24a7e95b2", + "_id": "4089afd5baf389cd0f1ac4d5226e7fde", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -51727,20 +72458,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -51750,18 +72485,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 636, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 349, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51779,7 +72524,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51793,10 +72538,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"894949571\"" - }, { "name": "expires", "value": "0" @@ -51811,11 +72552,11 @@ }, { "name": "content-length", - "value": "349" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51826,14 +72567,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.830Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:39.888Z", + "time": 15, "timings": { "blocked": -1, "connect": -1, @@ -51841,11 +72582,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 15 } }, { - "_id": "a40e9402741d2edbb08a31d5e96ffc2b", + "_id": "b448c8b76fc926ea8d868eca0d64c99f", "_order": 0, "cache": {}, "request": { @@ -51862,15 +72603,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -51885,18 +72626,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 410, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -51914,7 +72660,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51928,10 +72674,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-895759180\"" - }, { "name": "expires", "value": "0" @@ -51946,11 +72688,11 @@ }, { "name": "content-length", - "value": "410" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -51961,14 +72703,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.831Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:39.908Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -51976,11 +72718,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 8 } }, { - "_id": "2d1e4c57e08142cd762f20836ee70377", + "_id": "c8b0817c09ba786c15acd8cb1eb6c67a", "_order": 0, "cache": {}, "request": { @@ -51997,15 +72739,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52020,18 +72762,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 624, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 256, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52049,7 +72796,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52063,10 +72810,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-852986593\"" - }, { "name": "expires", "value": "0" @@ -52081,11 +72824,11 @@ }, { "name": "content-length", - "value": "256" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52096,14 +72839,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.831Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:39.909Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -52111,11 +72854,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 6 } }, { - "_id": "c965fb495a5d351fe926f41c394a0d33", + "_id": "b46bfd4428b2bba30fa190fe0c6499ea", "_order": 0, "cache": {}, "request": { @@ -52132,15 +72875,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52155,18 +72898,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { - "bodySize": 259, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52184,7 +72932,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52198,10 +72946,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-611727803\"" - }, { "name": "expires", "value": "0" @@ -52216,11 +72960,11 @@ }, { "name": "content-length", - "value": "259" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52231,14 +72975,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.867Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.909Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -52246,11 +72990,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 6 } }, { - "_id": "75fe9aa2a84ce8cfe0c67d14fbc400b9", + "_id": "ec5d37cff4b3bf12128e82125c0ac1cb", "_order": 0, "cache": {}, "request": { @@ -52267,15 +73011,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52290,18 +73034,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 87, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ @@ -52319,7 +73068,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52334,8 +73083,136 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"502723459\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 435, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-11-06T16:35:39.910Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "499d3eaed188674efe47fc65d42d5814", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -52351,11 +73228,11 @@ }, { "name": "content-length", - "value": "257" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52366,14 +73243,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.868Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:39.911Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -52381,11 +73258,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 5 } }, { - "_id": "753f2021c64ffb849cff618b73a3f0e2", + "_id": "fb9c5e04bfd2fbbc68b4984f70998215", "_order": 0, "cache": {}, "request": { @@ -52402,15 +73279,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52425,18 +73302,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 616, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { - "bodySize": 1231, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52454,7 +73336,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52468,10 +73350,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1417605028\"" - }, { "name": "expires", "value": "0" @@ -52486,11 +73364,11 @@ }, { "name": "content-length", - "value": "1231" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52501,14 +73379,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.881Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:39.911Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -52516,11 +73394,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 6 } }, { - "_id": "bff3c7f8bd567bb4e400dc59817f6343", + "_id": "6c9581140d5932fe6e16686344836832", "_order": 0, "cache": {}, "request": { @@ -52537,15 +73415,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52560,153 +73438,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 616, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" - }, - "response": { - "bodySize": 207, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1991543646\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "207" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, + "queryString": [ { - "name": "connection", - "value": "keep-alive" + "name": "_queryFilter", + "value": "true" } ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:37.891Z", - "time": 18, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 18 - } - }, - { - "_id": "b2f41c3d63d02eefe1c577ce9135a13f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SoapSTSAgent?_queryFilter=true" }, "response": { - "bodySize": 207, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52724,7 +73472,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52738,10 +73486,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1844311587\"" - }, { "name": "expires", "value": "0" @@ -52756,11 +73500,11 @@ }, { "name": "content-length", - "value": "207" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52771,14 +73515,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.892Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.912Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -52786,11 +73530,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 6 } }, { - "_id": "968db9e0d6179f49120f2bfc3d5704e3", + "_id": "b680ae2c832bc2d794ca86452a2ca53b", "_order": 0, "cache": {}, "request": { @@ -52807,15 +73551,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52830,18 +73574,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 621, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { - "bodySize": 298, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52859,7 +73608,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52873,10 +73622,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"376925853\"" - }, { "name": "expires", "value": "0" @@ -52891,11 +73636,11 @@ }, { "name": "content-length", - "value": "298" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -52906,14 +73651,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.892Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.913Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -52921,11 +73666,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 4 } }, { - "_id": "ab8edf19086f911ab858ca63ed21b9fa", + "_id": "76a4459aed0f6d9c3ceff144984344e7", "_order": 0, "cache": {}, "request": { @@ -52942,15 +73687,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -52965,18 +73710,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 612, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { - "bodySize": 239, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -52994,7 +73744,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53008,10 +73758,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1366894111\"" - }, { "name": "expires", "value": "0" @@ -53026,11 +73772,11 @@ }, { "name": "content-length", - "value": "239" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53041,14 +73787,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.893Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:39.914Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -53056,11 +73802,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 4 } }, { - "_id": "d34afdd3ee64c3cd04763f479d195fc2", + "_id": "c832ddd497d3b281e137e3349edb1353", "_order": 0, "cache": {}, "request": { @@ -53077,15 +73823,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -53100,18 +73846,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc" }, "response": { - "bodySize": 221, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53129,7 +73875,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53145,7 +73891,7 @@ }, { "name": "etag", - "value": "\"2057819892\"" + "value": "\"2117196426\"" }, { "name": "expires", @@ -53160,12 +73906,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "221" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53176,14 +73922,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.893Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:39.923Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -53191,11 +73937,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 6 } }, { - "_id": "a9cd24a6d32075673ec9d693a7d37e4d", + "_id": "01c412e5b10531038f5f7410d1c6c203", "_order": 0, "cache": {}, "request": { @@ -53212,11 +73958,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -53235,7 +73981,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 616, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53244,7 +73990,7 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/saml2?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { "bodySize": 138, @@ -53301,7 +74047,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53318,8 +74064,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.917Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:39.936Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -53327,11 +74073,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 4 } }, { - "_id": "9921972dc1fb9bef47d3efc03bb24ce7", + "_id": "06fff1b14ebebe62d9df67d37c5159ba", "_order": 0, "cache": {}, "request": { @@ -53348,15 +74094,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -53371,23 +74117,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 593, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication" }, "response": { - "bodySize": 138, + "bodySize": 1298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 1298, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370275\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":true,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53405,7 +74146,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53419,6 +74160,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2141370275\"" + }, { "name": "expires", "value": "0" @@ -53433,11 +74178,11 @@ }, { "name": "content-length", - "value": "138" + "value": "1298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:37 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53448,14 +74193,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.931Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:39.944Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -53463,15 +74208,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 4 } }, { - "_id": "b46bfd4428b2bba30fa190fe0c6499ea", + "_id": "10541f997b63e7fdab4ff20e3dd94a3f", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -53484,20 +74229,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -53507,23 +74256,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 655, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { - "name": "_queryFilter", - "value": "true" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/J2EEAgent?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 138, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -53541,7 +74295,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53569,11 +74323,11 @@ }, { "name": "content-length", - "value": "138" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53584,14 +74338,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.944Z", - "time": 548, + "startedDateTime": "2024-11-06T16:35:39.952Z", + "time": 24, "timings": { "blocked": -1, "connect": -1, @@ -53599,11 +74353,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 548 + "wait": 24 } }, { - "_id": "c8b0817c09ba786c15acd8cb1eb6c67a", + "_id": "903b1fd9371653aa3f662465d574ebc5", "_order": 0, "cache": {}, "request": { @@ -53620,15 +74374,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -53643,7 +74397,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 624, + "headersSize": 637, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53652,14 +74406,14 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 138, + "bodySize": 16422, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 16422, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}],\"resultCount\":15,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -53677,7 +74431,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -53704,12 +74458,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "138" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53720,14 +74474,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.944Z", - "time": 549, + "startedDateTime": "2024-11-06T16:35:39.980Z", + "time": 16, "timings": { "blocked": -1, "connect": -1, @@ -53735,11 +74489,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 549 + "wait": 16 } }, { - "_id": "76a4459aed0f6d9c3ceff144984344e7", + "_id": "09bd8d23cb70de1aa684e476cd0616d1", "_order": 0, "cache": {}, "request": { @@ -53756,15 +74510,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -53779,23 +74533,153 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 625, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Agent" + }, + "response": { + "bodySize": 676, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ { - "name": "_queryFilter", - "value": "true" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1016023191\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "676" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/WebAgent?_queryFilter=true" + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:40.001Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "553e19f23c6c9a75a743231bf71fc70b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 683, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" }, "response": { - "bodySize": 138, + "bodySize": 250, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -53813,7 +74697,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53827,6 +74711,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1036485453\"" + }, { "name": "expires", "value": "0" @@ -53841,11 +74729,11 @@ }, { "name": "content-length", - "value": "138" + "value": "250" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53856,14 +74744,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:37.945Z", - "time": 547, + "startedDateTime": "2024-11-06T16:35:40.010Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -53871,11 +74759,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 547 + "wait": 7 } }, { - "_id": "c832ddd497d3b281e137e3349edb1353", + "_id": "7e4d67487054b9824f2f5f0dc9aa5134", "_order": 0, "cache": {}, "request": { @@ -53892,15 +74780,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -53915,18 +74803,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 674, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" }, "response": { - "bodySize": 8380, + "bodySize": 384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -53944,7 +74832,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53960,7 +74848,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" + "value": "\"482303273\"" }, { "name": "expires", @@ -53975,12 +74863,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -53991,14 +74879,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.497Z", - "time": 11, + "startedDateTime": "2024-11-06T16:35:40.011Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -54006,11 +74894,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 11 + "wait": 7 } }, { - "_id": "01c412e5b10531038f5f7410d1c6c203", + "_id": "1a1fb51bd02699e8f2feeeaae6f6fcac", "_order": 0, "cache": {}, "request": { @@ -54027,15 +74915,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54050,23 +74938,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 616, + "headersSize": 627, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Example" }, "response": { - "bodySize": 138, + "bodySize": 1043, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -54084,7 +74967,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54098,6 +74981,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-536916143\"" + }, { "name": "expires", "value": "0" @@ -54112,11 +74999,11 @@ }, { "name": "content-length", - "value": "138" + "value": "1043" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54127,14 +75014,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.512Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.023Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -54142,11 +75029,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "06fff1b14ebebe62d9df67d37c5159ba", + "_id": "0768a4505fd70b71d9a59007547f0dd4", "_order": 0, "cache": {}, "request": { @@ -54163,15 +75050,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54186,18 +75073,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" }, "response": { - "bodySize": 1277, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1277, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":true,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 239, + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -54215,7 +75102,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54231,7 +75118,7 @@ }, { "name": "etag", - "value": "\"-2141370275\"" + "value": "\"1201833788\"" }, { "name": "expires", @@ -54247,11 +75134,11 @@ }, { "name": "content-length", - "value": "1277" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54262,14 +75149,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.520Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.031Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -54277,15 +75164,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "10541f997b63e7fdab4ff20e3dd94a3f", + "_id": "d7d9df3837bc67417cc9d5cf0185a648", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -54298,11 +75185,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -54312,10 +75199,6 @@ "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -54325,28 +75208,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 655, + "headersSize": 678, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" }, "response": { - "bodySize": 13, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54378,6 +75251,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1271206475\"" + }, { "name": "expires", "value": "0" @@ -54392,11 +75269,11 @@ }, { "name": "content-length", - "value": "13" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54407,14 +75284,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.527Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:40.031Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -54422,11 +75299,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 6 } }, { - "_id": "0861dc086f5c5bee16b6181e8f017819", + "_id": "bb85356b5eb0687693996868fd57020f", "_order": 0, "cache": {}, "request": { @@ -54443,15 +75320,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54466,23 +75343,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 674, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/policies?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" }, "response": { - "bodySize": 137, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -54500,7 +75372,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54514,6 +75386,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1517053596\"" + }, { "name": "expires", "value": "0" @@ -54528,11 +75404,11 @@ }, { "name": "content-length", - "value": "137" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54543,13 +75419,13 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.551Z", + "startedDateTime": "2024-11-06T16:35:40.032Z", "time": 3, "timings": { "blocked": -1, @@ -54562,7 +75438,7 @@ } }, { - "_id": "e6620028102bee7851caf52454436e91", + "_id": "0d0fdbea615e782b51c0a70594f299ed", "_order": 0, "cache": {}, "request": { @@ -54579,15 +75455,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54602,27 +75478,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 669, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" }, "response": { - "bodySize": 1058, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1058, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790191,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54640,7 +75507,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54654,6 +75521,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1588216686\"" + }, { "name": "expires", "value": "0" @@ -54668,11 +75539,11 @@ }, { "name": "content-length", - "value": "1058" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54683,14 +75554,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.557Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:40.032Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -54698,11 +75569,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 5 } }, { - "_id": "26039f1e4e2d0a1253dca583cff9a80a", + "_id": "6a767287c1aaf949ac03cc8561f95fd2", "_order": 0, "cache": {}, "request": { @@ -54719,15 +75590,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54742,27 +75613,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 668, + "headersSize": 648, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" }, "response": { - "bodySize": 996, + "bodySize": 668, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 996, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790156},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790171}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -54780,7 +75642,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54794,6 +75656,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-152060055\"" + }, { "name": "expires", "value": "0" @@ -54808,11 +75674,11 @@ }, { "name": "content-length", - "value": "996" + "value": "668" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54823,13 +75689,13 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.568Z", + "startedDateTime": "2024-11-06T16:35:40.042Z", "time": 4, "timings": { "blocked": -1, @@ -54842,7 +75708,7 @@ } }, { - "_id": "c96e209b06c3940c674889c174e176c5", + "_id": "9803dda703d6e0795240c7ec7f1ac8b2", "_order": 0, "cache": {}, "request": { @@ -54859,15 +75725,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -54882,23 +75748,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 675, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/scripts?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" }, "response": { - "bodySize": 176322, + "bodySize": 1332, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176322, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -54916,7 +75777,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54930,6 +75791,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"756891103\"" + }, { "name": "expires", "value": "0" @@ -54943,12 +75808,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "1332" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -54959,14 +75824,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.576Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:40.050Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -54974,11 +75839,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 6 } }, { - "_id": "c2c1abc8ef1ee952641c2981da6dd6a0", + "_id": "9382fc020480ded847631d75f1820def", "_order": 0, "cache": {}, "request": { @@ -54995,15 +75860,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55018,23 +75883,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 680, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" }, "response": { - "bodySize": 9585, + "bodySize": 318, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 9585, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55052,7 +75912,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55066,6 +75926,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"264081780\"" + }, { "name": "expires", "value": "0" @@ -55079,12 +75943,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "318" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55095,14 +75959,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.585Z", - "time": 45, + "startedDateTime": "2024-11-06T16:35:40.051Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -55110,11 +75974,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 5 } }, { - "_id": "8ce993874189334475c3c81bc166186e", + "_id": "d3dd6b9c45f930831b4e0ee250ed9716", "_order": 0, "cache": {}, "request": { @@ -55131,15 +75995,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55154,18 +76018,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 640, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" }, "response": { - "bodySize": 346, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -55183,7 +76047,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55199,7 +76063,7 @@ }, { "name": "etag", - "value": "\"-1741783487\"" + "value": "\"1066064282\"" }, { "name": "expires", @@ -55215,11 +76079,11 @@ }, { "name": "content-length", - "value": "346" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55230,14 +76094,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.636Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.061Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -55245,11 +76109,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "f74cb1ce51070a07c9fdc9be61c7fc04", + "_id": "56c5921ed6c177c4a7d117343b77c55f", "_order": 0, "cache": {}, "request": { @@ -55266,15 +76130,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55289,18 +76153,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 674, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" }, "response": { - "bodySize": 708, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55318,7 +76182,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55334,7 +76198,7 @@ }, { "name": "etag", - "value": "\"-52720779\"" + "value": "\"-85053235\"" }, { "name": "expires", @@ -55350,11 +76214,11 @@ }, { "name": "content-length", - "value": "708" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55371,8 +76235,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.637Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.069Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -55380,11 +76244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "b07a84b7bb5cb6654530a34df9c2e81f", + "_id": "c533f620aa13cf9862d047659141ee5d", "_order": 0, "cache": {}, "request": { @@ -55401,15 +76265,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55424,23 +76288,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 673, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" }, "response": { - "bodySize": 5109, + "bodySize": 1284, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5109, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -55458,7 +76317,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55473,140 +76332,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "5109" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 466, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:38.637Z", - "time": 8, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 8 - } - }, - { - "_id": "719cb3d85965a12f9a98ae2ae47ba906", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 632, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"328700129\"" }, { "name": "expires", @@ -55622,11 +76349,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1284" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55637,13 +76364,13 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.638Z", + "startedDateTime": "2024-11-06T16:35:40.069Z", "time": 6, "timings": { "blocked": -1, @@ -55656,7 +76383,7 @@ } }, { - "_id": "a039d32358e11ad4bd8e8623b15f60cc", + "_id": "213c076fab6bb3a5a77585311055f189", "_order": 0, "cache": {}, "request": { @@ -55673,15 +76400,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55696,18 +76423,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 611, + "headersSize": 674, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" }, "response": { - "bodySize": 148, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55725,7 +76452,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55741,7 +76468,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"1739808917\"" }, { "name": "expires", @@ -55757,11 +76484,11 @@ }, { "name": "content-length", - "value": "148" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55778,8 +76505,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.639Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:40.070Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -55787,11 +76514,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 4 } }, { - "_id": "749250274d4ac9bd2f5289fd767c4aea", + "_id": "99dba9c3ad59c0de19527bd78369baca", "_order": 0, "cache": {}, "request": { @@ -55808,15 +76535,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55831,23 +76558,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 623, + "headersSize": 649, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" }, "response": { - "bodySize": 13, + "bodySize": 1729, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -55865,7 +76587,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55879,6 +76601,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1048135735\"" + }, { "name": "expires", "value": "0" @@ -55893,11 +76619,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1729" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -55908,14 +76634,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.639Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:40.079Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -55923,11 +76649,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 3 } }, { - "_id": "14f7cf6fdc855992d18dc7ddca3394a2", + "_id": "bc5ce74fce114ed4d62f7e8d6c41ea73", "_order": 0, "cache": {}, "request": { @@ -55944,15 +76670,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55967,23 +76693,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 636, + "headersSize": 684, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" }, "response": { - "bodySize": 13, + "bodySize": 327, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56001,7 +76722,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56015,6 +76736,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2002571022\"" + }, { "name": "expires", "value": "0" @@ -56029,11 +76754,11 @@ }, { "name": "content-length", - "value": "13" + "value": "327" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56044,14 +76769,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.640Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:40.088Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -56059,11 +76784,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 6 } }, { - "_id": "903b1fd9371653aa3f662465d574ebc5", + "_id": "5f3c483d1c95412b2b9654784c9b569f", "_order": 0, "cache": {}, "request": { @@ -56080,15 +76805,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56103,23 +76828,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 637, + "headersSize": 675, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" }, "response": { - "bodySize": 16422, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 16422, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}],\"resultCount\":15,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56137,7 +76857,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56151,6 +76871,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1210949842\"" + }, { "name": "expires", "value": "0" @@ -56164,12 +76888,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56180,14 +76904,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.653Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.088Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -56195,11 +76919,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 6 } }, { - "_id": "09bd8d23cb70de1aa684e476cd0616d1", + "_id": "3d991f5d9a6adc396c8a42ce98c9c4e6", "_order": 0, "cache": {}, "request": { @@ -56216,15 +76940,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56239,18 +76963,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 625, + "headersSize": 673, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Agent" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" }, "response": { - "bodySize": 676, + "bodySize": 1285, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -56268,7 +76992,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56284,7 +77008,7 @@ }, { "name": "etag", - "value": "\"-1016023191\"" + "value": "\"1821134736\"" }, { "name": "expires", @@ -56300,11 +77024,11 @@ }, { "name": "content-length", - "value": "676" + "value": "1285" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56321,8 +77045,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.660Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.089Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -56330,11 +77054,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "553e19f23c6c9a75a743231bf71fc70b", + "_id": "e5eaec0a9b84c1cd061ac11b6553adeb", "_order": 0, "cache": {}, "request": { @@ -56351,15 +77075,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56374,18 +77098,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 683, + "headersSize": 686, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" }, "response": { - "bodySize": 250, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56403,7 +77127,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56419,7 +77143,7 @@ }, { "name": "etag", - "value": "\"1036485453\"" + "value": "\"-470328822\"" }, { "name": "expires", @@ -56435,11 +77159,11 @@ }, { "name": "content-length", - "value": "250" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56456,8 +77180,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.665Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.089Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -56465,11 +77189,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 6 } }, { - "_id": "7e4d67487054b9824f2f5f0dc9aa5134", + "_id": "3928fc0e1d6271800319928bc7253fdd", "_order": 0, "cache": {}, "request": { @@ -56486,15 +77210,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56509,18 +77233,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 685, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" }, "response": { - "bodySize": 384, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56538,7 +77262,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56554,7 +77278,7 @@ }, { "name": "etag", - "value": "\"482303273\"" + "value": "\"-1709503699\"" }, { "name": "expires", @@ -56570,11 +77294,11 @@ }, { "name": "content-length", - "value": "384" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56585,14 +77309,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.666Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.090Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -56600,11 +77324,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "1a1fb51bd02699e8f2feeeaae6f6fcac", + "_id": "a98a613c7d72e149ce836dd058f9ec0e", "_order": 0, "cache": {}, "request": { @@ -56621,15 +77345,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56644,18 +77368,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 627, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" }, "response": { - "bodySize": 1043, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -56673,7 +77397,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56689,7 +77413,7 @@ }, { "name": "etag", - "value": "\"-536916143\"" + "value": "\"-171890830\"" }, { "name": "expires", @@ -56705,11 +77429,11 @@ }, { "name": "content-length", - "value": "1043" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56720,14 +77444,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.673Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.090Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -56735,11 +77459,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 7 } }, { - "_id": "d7d9df3837bc67417cc9d5cf0185a648", + "_id": "a3bdae47c9df16fa450f23b28098f504", "_order": 0, "cache": {}, "request": { @@ -56756,15 +77480,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56779,18 +77503,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 693, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" }, "response": { - "bodySize": 208, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -56808,7 +77532,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56824,7 +77548,7 @@ }, { "name": "etag", - "value": "\"-1271206475\"" + "value": "\"580379617\"" }, { "name": "expires", @@ -56840,11 +77564,11 @@ }, { "name": "content-length", - "value": "208" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56855,14 +77579,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.680Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.091Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -56870,11 +77594,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 5 } }, { - "_id": "0768a4505fd70b71d9a59007547f0dd4", + "_id": "088953f074ae742b0a7c2e284a39861b", "_order": 0, "cache": {}, "request": { @@ -56891,15 +77615,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56914,18 +77638,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 639, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" }, "response": { - "bodySize": 239, + "bodySize": 1456, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1456, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -56943,7 +77667,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56959,7 +77683,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"-293280187\"" }, { "name": "expires", @@ -56975,11 +77699,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1456" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -56990,13 +77714,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.681Z", + "startedDateTime": "2024-11-06T16:35:40.101Z", "time": 3, "timings": { "blocked": -1, @@ -57009,7 +77733,7 @@ } }, { - "_id": "0d0fdbea615e782b51c0a70594f299ed", + "_id": "73ba0e8cfcf0a9c516fdef841341cc5e", "_order": 0, "cache": {}, "request": { @@ -57026,15 +77750,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57049,18 +77773,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 685, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" }, "response": { - "bodySize": 208, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57078,7 +77802,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57094,7 +77818,7 @@ }, { "name": "etag", - "value": "\"-1588216686\"" + "value": "\"1217170264\"" }, { "name": "expires", @@ -57110,11 +77834,11 @@ }, { "name": "content-length", - "value": "208" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57125,14 +77849,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.681Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.109Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -57140,11 +77864,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "bb85356b5eb0687693996868fd57020f", + "_id": "b6d0253fbb07c98e90e2ced88bbc30ff", "_order": 0, "cache": {}, "request": { @@ -57161,15 +77885,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57184,18 +77908,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 693, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" }, "response": { - "bodySize": 385, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -57213,7 +77937,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57229,7 +77953,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"-567112083\"" }, { "name": "expires", @@ -57245,11 +77969,11 @@ }, { "name": "content-length", - "value": "385" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57266,8 +77990,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.683Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.110Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -57275,11 +77999,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "6a767287c1aaf949ac03cc8561f95fd2", + "_id": "e0de5e25c83b8345ad65d1b5d97e66b3", "_order": 0, "cache": {}, "request": { @@ -57296,15 +78020,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57319,18 +78043,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" }, "response": { - "bodySize": 668, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -57348,7 +78072,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57364,7 +78088,7 @@ }, { "name": "etag", - "value": "\"-152060055\"" + "value": "\"613466196\"" }, { "name": "expires", @@ -57380,11 +78104,11 @@ }, { "name": "content-length", - "value": "668" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57395,14 +78119,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.689Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:40.110Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -57410,11 +78134,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 5 } }, { - "_id": "9803dda703d6e0795240c7ec7f1ac8b2", + "_id": "a80b62ed18554f9e03019f23ae29d00e", "_order": 0, "cache": {}, "request": { @@ -57431,15 +78155,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57454,18 +78178,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 686, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" }, "response": { - "bodySize": 1332, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57483,7 +78207,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57499,7 +78223,7 @@ }, { "name": "etag", - "value": "\"756891103\"" + "value": "\"1140433090\"" }, { "name": "expires", @@ -57515,11 +78239,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57536,7 +78260,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.715Z", + "startedDateTime": "2024-11-06T16:35:40.111Z", "time": 4, "timings": { "blocked": -1, @@ -57549,7 +78273,7 @@ } }, { - "_id": "9382fc020480ded847631d75f1820def", + "_id": "6e11d74da63eff4e542bb251dab86520", "_order": 0, "cache": {}, "request": { @@ -57566,15 +78290,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57589,18 +78313,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" }, "response": { - "bodySize": 318, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57618,7 +78342,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57634,7 +78358,7 @@ }, { "name": "etag", - "value": "\"264081780\"" + "value": "\"821878048\"" }, { "name": "expires", @@ -57650,11 +78374,11 @@ }, { "name": "content-length", - "value": "318" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57671,8 +78395,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.716Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.111Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -57680,11 +78404,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "d3dd6b9c45f930831b4e0ee250ed9716", + "_id": "cee06165733bf62eec5f307cb9ebfb42", "_order": 0, "cache": {}, "request": { @@ -57701,15 +78425,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57724,18 +78448,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 640, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" }, "response": { - "bodySize": 831, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57753,7 +78477,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57769,7 +78493,7 @@ }, { "name": "etag", - "value": "\"1066064282\"" + "value": "\"-943748018\"" }, { "name": "expires", @@ -57785,11 +78509,11 @@ }, { "name": "content-length", - "value": "831" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57806,8 +78530,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.724Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.112Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -57815,11 +78539,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "56c5921ed6c177c4a7d117343b77c55f", + "_id": "9121d8923d35f7c1fdcfa821a445b661", "_order": 0, "cache": {}, "request": { @@ -57836,15 +78560,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57859,18 +78583,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 636, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PersistentCookie" }, "response": { - "bodySize": 237, + "bodySize": 1258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -57888,7 +78612,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57904,7 +78628,7 @@ }, { "name": "etag", - "value": "\"-85053235\"" + "value": "\"-1882065253\"" }, { "name": "expires", @@ -57920,11 +78644,11 @@ }, { "name": "content-length", - "value": "237" + "value": "1258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -57935,13 +78659,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.730Z", + "startedDateTime": "2024-11-06T16:35:40.118Z", "time": 3, "timings": { "blocked": -1, @@ -57954,7 +78678,7 @@ } }, { - "_id": "c533f620aa13cf9862d047659141ee5d", + "_id": "5dbd320c4d4b9f5bb9819a42737efe11", "_order": 0, "cache": {}, "request": { @@ -57971,15 +78695,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57994,18 +78718,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" }, "response": { - "bodySize": 1284, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 207, + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58023,7 +78747,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58039,7 +78763,7 @@ }, { "name": "etag", - "value": "\"328700129\"" + "value": "\"1365565913\"" }, { "name": "expires", @@ -58055,11 +78779,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58076,8 +78800,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.730Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.126Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -58085,11 +78809,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "213c076fab6bb3a5a77585311055f189", + "_id": "f6e17f46044f33f9615b9ea0a304261e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + }, + "response": { + "bodySize": 348, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1056905201\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "348" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:40.126Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "fd812db4990ebbbb4af3e2b83c264d03", "_order": 0, "cache": {}, "request": { @@ -58106,15 +78965,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58129,18 +78988,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 685, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" }, "response": { - "bodySize": 239, + "bodySize": 401, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58158,7 +79017,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58174,7 +79033,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"2091792219\"" }, { "name": "expires", @@ -58190,11 +79049,11 @@ }, { "name": "content-length", - "value": "239" + "value": "401" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58211,8 +79070,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.731Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.127Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -58220,11 +79079,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "99dba9c3ad59c0de19527bd78369baca", + "_id": "2e7851535db7cbdac7d5015411e88ba8", "_order": 0, "cache": {}, "request": { @@ -58241,15 +79100,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58264,18 +79123,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 649, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" }, "response": { - "bodySize": 1729, + "bodySize": 240, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58293,7 +79152,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58309,7 +79168,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"-1504299596\"" }, { "name": "expires", @@ -58325,11 +79184,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "240" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58340,14 +79199,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.739Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.128Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -58355,11 +79214,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "bc5ce74fce114ed4d62f7e8d6c41ea73", + "_id": "9df3a128b9403ce978e84ac878167ed5", "_order": 0, "cache": {}, "request": { @@ -58376,15 +79235,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58399,18 +79258,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 684, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" }, "response": { - "bodySize": 327, + "bodySize": 205, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58428,7 +79287,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58444,7 +79303,7 @@ }, { "name": "etag", - "value": "\"2002571022\"" + "value": "\"49533813\"" }, { "name": "expires", @@ -58460,11 +79319,11 @@ }, { "name": "content-length", - "value": "327" + "value": "205" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58475,14 +79334,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.745Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.128Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -58490,11 +79349,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "5f3c483d1c95412b2b9654784c9b569f", + "_id": "e3f96be7fa1550419e4ee51b4f96d908", "_order": 0, "cache": {}, "request": { @@ -58511,15 +79370,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58534,18 +79393,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" }, "response": { - "bodySize": 224, + "bodySize": 1052, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -58563,7 +79422,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58579,7 +79438,7 @@ }, { "name": "etag", - "value": "\"-1210949842\"" + "value": "\"460502738\"" }, { "name": "expires", @@ -58595,11 +79454,11 @@ }, { "name": "content-length", - "value": "224" + "value": "1052" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58610,14 +79469,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.745Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.137Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -58625,11 +79484,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "3d991f5d9a6adc396c8a42ce98c9c4e6", + "_id": "f08f80726c138a95dc8e265f4b734b97", "_order": 0, "cache": {}, "request": { @@ -58646,15 +79505,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58669,18 +79528,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" }, "response": { - "bodySize": 1285, + "bodySize": 265, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58698,7 +79557,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58714,7 +79573,7 @@ }, { "name": "etag", - "value": "\"1821134736\"" + "value": "\"-1300278465\"" }, { "name": "expires", @@ -58730,11 +79589,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "265" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58751,8 +79610,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.746Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.145Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -58760,11 +79619,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 6 } }, { - "_id": "e5eaec0a9b84c1cd061ac11b6553adeb", + "_id": "b225b286d95603a7b14b303c2ea27b56", "_order": 0, "cache": {}, "request": { @@ -58781,15 +79640,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58804,18 +79663,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 686, + "headersSize": 673, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" }, "response": { - "bodySize": 659, + "bodySize": 437, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58833,7 +79692,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58849,7 +79708,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"-1682915712\"" }, { "name": "expires", @@ -58865,11 +79724,11 @@ }, { "name": "content-length", - "value": "659" + "value": "437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -58880,14 +79739,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.746Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.146Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -58895,11 +79754,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 5 } }, { - "_id": "a98a613c7d72e149ce836dd058f9ec0e", + "_id": "27e431b1e5d779299b08c33f90bbc75e", "_order": 0, "cache": {}, "request": { @@ -58916,15 +79775,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58939,18 +79798,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" }, "response": { - "bodySize": 299, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58968,7 +79827,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58984,7 +79843,7 @@ }, { "name": "etag", - "value": "\"-171890830\"" + "value": "\"-1018162955\"" }, { "name": "expires", @@ -59000,11 +79859,11 @@ }, { "name": "content-length", - "value": "299" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59015,14 +79874,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.747Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.146Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -59030,11 +79889,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "3928fc0e1d6271800319928bc7253fdd", + "_id": "a2cc64d8942b5e349b1acd41bff8c9d9", "_order": 0, "cache": {}, "request": { @@ -59051,15 +79910,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59074,18 +79933,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 681, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" }, "response": { - "bodySize": 222, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -59103,7 +79962,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59119,7 +79978,7 @@ }, { "name": "etag", - "value": "\"-1709503699\"" + "value": "\"-1599353126\"" }, { "name": "expires", @@ -59135,11 +79994,11 @@ }, { "name": "content-length", - "value": "222" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59156,8 +80015,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.747Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.147Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -59165,11 +80024,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "a3bdae47c9df16fa450f23b28098f504", + "_id": "da4df766acc84b133512cbe770581742", "_order": 0, "cache": {}, "request": { @@ -59186,15 +80045,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59209,18 +80068,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 693, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" }, "response": { - "bodySize": 279, + "bodySize": 305, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59238,7 +80097,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59254,7 +80113,7 @@ }, { "name": "etag", - "value": "\"580379617\"" + "value": "\"104930768\"" }, { "name": "expires", @@ -59270,11 +80129,11 @@ }, { "name": "content-length", - "value": "279" + "value": "305" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59291,8 +80150,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.748Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.157Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -59300,11 +80159,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "088953f074ae742b0a7c2e284a39861b", + "_id": "d1c5ed587ba74dbe65750c7e79f6664d", "_order": 0, "cache": {}, "request": { @@ -59321,15 +80180,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59344,18 +80203,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 639, + "headersSize": 633, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformLogin" }, "response": { - "bodySize": 1456, + "bodySize": 1047, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1456, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -59373,7 +80232,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59389,7 +80248,7 @@ }, { "name": "etag", - "value": "\"-293280187\"" + "value": "\"-2033523620\"" }, { "name": "expires", @@ -59405,11 +80264,11 @@ }, { "name": "content-length", - "value": "1456" + "value": "1047" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59420,14 +80279,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.754Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.167Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -59435,11 +80294,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "73ba0e8cfcf0a9c516fdef841341cc5e", + "_id": "c968c1f4f138b130d6afde1d7c690088", "_order": 0, "cache": {}, "request": { @@ -59456,15 +80315,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59479,18 +80338,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 680, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" }, "response": { - "bodySize": 221, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59508,7 +80367,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59524,7 +80383,7 @@ }, { "name": "etag", - "value": "\"1217170264\"" + "value": "\"1707653179\"" }, { "name": "expires", @@ -59540,11 +80399,11 @@ }, { "name": "content-length", - "value": "221" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59561,8 +80420,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.760Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.174Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -59570,11 +80429,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 7 } }, { - "_id": "b6d0253fbb07c98e90e2ced88bbc30ff", + "_id": "6bb59e0ac1a7c109603b26e29bf52ac1", "_order": 0, "cache": {}, "request": { @@ -59591,15 +80450,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59614,18 +80473,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 693, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" }, "response": { - "bodySize": 280, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -59643,7 +80502,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59659,7 +80518,7 @@ }, { "name": "etag", - "value": "\"-567112083\"" + "value": "\"-1613803341\"" }, { "name": "expires", @@ -59675,11 +80534,11 @@ }, { "name": "content-length", - "value": "280" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59690,14 +80549,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.761Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.175Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -59705,11 +80564,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "e0de5e25c83b8345ad65d1b5d97e66b3", + "_id": "5a1f859044d5ab1cf29f1c4aea97c424", "_order": 0, "cache": {}, "request": { @@ -59726,15 +80585,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59753,14 +80612,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" }, "response": { - "bodySize": 238, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -59778,7 +80637,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59794,7 +80653,7 @@ }, { "name": "etag", - "value": "\"613466196\"" + "value": "\"1478640305\"" }, { "name": "expires", @@ -59810,11 +80669,11 @@ }, { "name": "content-length", - "value": "238" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59825,14 +80684,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.761Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.176Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -59840,11 +80699,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "6e11d74da63eff4e542bb251dab86520", + "_id": "248098d0b2d5a0d71474eea0f9bff734", "_order": 0, "cache": {}, "request": { @@ -59861,15 +80720,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59884,18 +80743,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" }, "response": { - "bodySize": 206, + "bodySize": 711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59913,7 +80772,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59929,7 +80788,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"-202662309\"" }, { "name": "expires", @@ -59945,11 +80804,11 @@ }, { "name": "content-length", - "value": "206" + "value": "711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -59960,14 +80819,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.762Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.177Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -59975,11 +80834,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 7 } }, { - "_id": "a80b62ed18554f9e03019f23ae29d00e", + "_id": "d42ea564d9bf407bfa32546f448ee555", "_order": 0, "cache": {}, "request": { @@ -59996,15 +80855,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60019,18 +80878,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 686, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" }, "response": { - "bodySize": 659, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60048,7 +80907,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60064,7 +80923,7 @@ }, { "name": "etag", - "value": "\"1140433090\"" + "value": "\"128653632\"" }, { "name": "expires", @@ -60080,11 +80939,11 @@ }, { "name": "content-length", - "value": "659" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60095,14 +80954,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.762Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.186Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -60110,11 +80969,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "cee06165733bf62eec5f307cb9ebfb42", + "_id": "e79bb6e4db3a5c2ec1249075a2ab51d3", "_order": 0, "cache": {}, "request": { @@ -60131,15 +80990,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60158,14 +81017,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" }, "response": { - "bodySize": 207, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60183,7 +81042,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60199,7 +81058,7 @@ }, { "name": "etag", - "value": "\"-943748018\"" + "value": "\"-1790782773\"" }, { "name": "expires", @@ -60215,11 +81074,11 @@ }, { "name": "content-length", - "value": "207" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60230,14 +81089,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.763Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.187Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -60245,11 +81104,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "9121d8923d35f7c1fdcfa821a445b661", + "_id": "6f0bb9456d686b254a8fd6ccdfd2028a", "_order": 0, "cache": {}, "request": { @@ -60266,15 +81125,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60289,18 +81148,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 636, + "headersSize": 646, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" }, "response": { - "bodySize": 1258, + "bodySize": 1119, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -60318,7 +81177,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60334,7 +81193,7 @@ }, { "name": "etag", - "value": "\"-1882065253\"" + "value": "\"-686533928\"" }, { "name": "expires", @@ -60350,11 +81209,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "1119" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60365,14 +81224,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.768Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.196Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -60380,11 +81239,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "5dbd320c4d4b9f5bb9819a42737efe11", + "_id": "aa129614713fc11b13775ab701e2cac1", "_order": 0, "cache": {}, "request": { @@ -60401,15 +81260,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60424,18 +81283,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 680, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" }, "response": { - "bodySize": 207, + "bodySize": 376, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60453,7 +81312,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60469,7 +81328,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"511839934\"" }, { "name": "expires", @@ -60485,11 +81344,11 @@ }, { "name": "content-length", - "value": "207" + "value": "376" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60500,14 +81359,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.774Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.206Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -60515,11 +81374,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 6 } }, { - "_id": "fd812db4990ebbbb4af3e2b83c264d03", + "_id": "3d1421f93663d440136e81643cbd2389", "_order": 0, "cache": {}, "request": { @@ -60536,15 +81395,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60559,18 +81418,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" }, "response": { - "bodySize": 401, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60588,7 +81447,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60604,7 +81463,7 @@ }, { "name": "etag", - "value": "\"2091792219\"" + "value": "\"-1655043290\"" }, { "name": "expires", @@ -60620,11 +81479,11 @@ }, { "name": "content-length", - "value": "401" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60635,14 +81494,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.775Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.207Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -60650,11 +81509,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "f6e17f46044f33f9615b9ea0a304261e", + "_id": "1ba2c27779385fcb9e3beb284e0e49bc", "_order": 0, "cache": {}, "request": { @@ -60671,15 +81530,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60694,18 +81553,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" }, "response": { - "bodySize": 348, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60723,7 +81582,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60739,7 +81598,7 @@ }, { "name": "etag", - "value": "\"1056905201\"" + "value": "\"-1735965231\"" }, { "name": "expires", @@ -60755,11 +81614,11 @@ }, { "name": "content-length", - "value": "348" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60770,14 +81629,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.775Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.207Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -60785,11 +81644,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "9df3a128b9403ce978e84ac878167ed5", + "_id": "307e64c580ecd37e03506e639659aaa8", "_order": 0, "cache": {}, "request": { @@ -60806,15 +81665,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60829,18 +81688,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" }, "response": { - "bodySize": 205, + "bodySize": 340, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -60858,7 +81717,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60874,7 +81733,7 @@ }, { "name": "etag", - "value": "\"49533813\"" + "value": "\"712832963\"" }, { "name": "expires", @@ -60890,11 +81749,11 @@ }, { "name": "content-length", - "value": "205" + "value": "340" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -60905,14 +81764,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.776Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.208Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -60920,11 +81779,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "2e7851535db7cbdac7d5015411e88ba8", + "_id": "fba81180f9b581cea03770e6f9de04e5", "_order": 0, "cache": {}, "request": { @@ -60941,15 +81800,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60964,18 +81823,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" }, "response": { - "bodySize": 240, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60993,7 +81852,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61009,7 +81868,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"-1799080778\"" }, { "name": "expires", @@ -61025,11 +81884,11 @@ }, { "name": "content-length", - "value": "240" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61046,8 +81905,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.776Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.217Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -61055,11 +81914,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "e3f96be7fa1550419e4ee51b4f96d908", + "_id": "b7be51430c052151da7a50827977cb0c", "_order": 0, "cache": {}, "request": { @@ -61076,15 +81935,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61099,18 +81958,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 640, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" }, "response": { - "bodySize": 1052, + "bodySize": 819, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -61128,7 +81987,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61144,7 +82003,7 @@ }, { "name": "etag", - "value": "\"460502738\"" + "value": "\"1526211113\"" }, { "name": "expires", @@ -61160,11 +82019,11 @@ }, { "name": "content-length", - "value": "1052" + "value": "819" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61181,8 +82040,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.782Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.227Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -61190,11 +82049,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "f08f80726c138a95dc8e265f4b734b97", + "_id": "9950ed10f15360083cafa67a901615c1", "_order": 0, "cache": {}, "request": { @@ -61211,15 +82070,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61234,18 +82093,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 680, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" }, "response": { - "bodySize": 265, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61263,7 +82122,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61279,7 +82138,7 @@ }, { "name": "etag", - "value": "\"-1300278465\"" + "value": "\"1743893705\"" }, { "name": "expires", @@ -61295,11 +82154,11 @@ }, { "name": "content-length", - "value": "265" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61310,14 +82169,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.788Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:40.237Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -61325,11 +82184,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 4 } }, { - "_id": "b225b286d95603a7b14b303c2ea27b56", + "_id": "3c31e8e0cebc9abd0757a15e48bb71f3", "_order": 0, "cache": {}, "request": { @@ -61346,15 +82205,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61373,14 +82232,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" }, "response": { - "bodySize": 437, + "bodySize": 271, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -61398,7 +82257,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61414,7 +82273,7 @@ }, { "name": "etag", - "value": "\"-1682915712\"" + "value": "\"1895090878\"" }, { "name": "expires", @@ -61430,11 +82289,11 @@ }, { "name": "content-length", - "value": "437" + "value": "271" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61445,14 +82304,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.789Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:40.237Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -61460,11 +82319,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 4 } }, { - "_id": "27e431b1e5d779299b08c33f90bbc75e", + "_id": "bfa8061976dd2c61aa7355802b64a2af", "_order": 0, "cache": {}, "request": { @@ -61481,15 +82340,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61508,14 +82367,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" }, "response": { - "bodySize": 474, + "bodySize": 959, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61533,7 +82392,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61549,7 +82408,7 @@ }, { "name": "etag", - "value": "\"-1018162955\"" + "value": "\"-1037301643\"" }, { "name": "expires", @@ -61565,11 +82424,11 @@ }, { "name": "content-length", - "value": "474" + "value": "959" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61586,8 +82445,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.789Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:40.238Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -61595,11 +82454,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 4 } }, { - "_id": "a2cc64d8942b5e349b1acd41bff8c9d9", + "_id": "a1cf1e8dcf795ae2018229b61fe7e95f", "_order": 0, "cache": {}, "request": { @@ -61616,15 +82475,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61639,18 +82498,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 681, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" }, "response": { - "bodySize": 273, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61668,7 +82527,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61684,7 +82543,7 @@ }, { "name": "etag", - "value": "\"-1599353126\"" + "value": "\"-1365755177\"" }, { "name": "expires", @@ -61700,11 +82559,11 @@ }, { "name": "content-length", - "value": "273" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61721,8 +82580,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.790Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.247Z", + "time": 16, "timings": { "blocked": -1, "connect": -1, @@ -61730,11 +82589,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 16 } }, { - "_id": "da4df766acc84b133512cbe770581742", + "_id": "c1b3a1f611fd40698634288945a8531a", "_order": 0, "cache": {}, "request": { @@ -61751,15 +82610,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61774,18 +82633,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" }, "response": { - "bodySize": 305, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61803,7 +82662,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61819,7 +82678,7 @@ }, { "name": "etag", - "value": "\"104930768\"" + "value": "\"-347683889\"" }, { "name": "expires", @@ -61835,11 +82694,11 @@ }, { "name": "content-length", - "value": "305" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61850,14 +82709,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.798Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.248Z", + "time": 15, "timings": { "blocked": -1, "connect": -1, @@ -61865,11 +82724,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 15 } }, { - "_id": "d1c5ed587ba74dbe65750c7e79f6664d", + "_id": "7f794598a08d975051dc8e0c00794674", "_order": 0, "cache": {}, "request": { @@ -61886,15 +82745,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61909,18 +82768,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 633, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" }, "response": { - "bodySize": 1047, + "bodySize": 371, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61938,7 +82797,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61954,7 +82813,7 @@ }, { "name": "etag", - "value": "\"-2033523620\"" + "value": "\"790804755\"" }, { "name": "expires", @@ -61970,11 +82829,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "371" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -61985,14 +82844,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.806Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.248Z", + "time": 17, "timings": { "blocked": -1, "connect": -1, @@ -62000,11 +82859,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 17 } }, { - "_id": "c968c1f4f138b130d6afde1d7c690088", + "_id": "255a77f3817bf5b850c02b1c7822e498", "_order": 0, "cache": {}, "request": { @@ -62021,15 +82880,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62044,18 +82903,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 685, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" }, "response": { - "bodySize": 243, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62073,7 +82932,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62089,7 +82948,7 @@ }, { "name": "etag", - "value": "\"1707653179\"" + "value": "\"-1310629925\"" }, { "name": "expires", @@ -62105,11 +82964,11 @@ }, { "name": "content-length", - "value": "243" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62120,14 +82979,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.812Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:40.249Z", + "time": 19, "timings": { "blocked": -1, "connect": -1, @@ -62135,11 +82994,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 19 } }, { - "_id": "6bb59e0ac1a7c109603b26e29bf52ac1", + "_id": "a06cc957ce7be1b39c3c73b83e298508", "_order": 0, "cache": {}, "request": { @@ -62156,15 +83015,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62179,18 +83038,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 670, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" }, "response": { - "bodySize": 278, + "bodySize": 275, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62208,7 +83067,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62224,7 +83083,7 @@ }, { "name": "etag", - "value": "\"-1613803341\"" + "value": "\"-1855541828\"" }, { "name": "expires", @@ -62240,11 +83099,11 @@ }, { "name": "content-length", - "value": "278" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62261,8 +83120,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.813Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.249Z", + "time": 20, "timings": { "blocked": -1, "connect": -1, @@ -62270,11 +83129,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 20 } }, { - "_id": "5a1f859044d5ab1cf29f1c4aea97c424", + "_id": "5cfbcdaf97990a66929900d3b5be3a60", "_order": 0, "cache": {}, "request": { @@ -62291,15 +83150,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62314,18 +83173,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 641, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" }, "response": { - "bodySize": 239, + "bodySize": 1201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -62343,7 +83202,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62359,7 +83218,7 @@ }, { "name": "etag", - "value": "\"1478640305\"" + "value": "\"1171487776\"" }, { "name": "expires", @@ -62375,11 +83234,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62390,14 +83249,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.813Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.273Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -62405,11 +83264,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "248098d0b2d5a0d71474eea0f9bff734", + "_id": "a1e27df60480f4a0b76959a21b7448e2", "_order": 0, "cache": {}, "request": { @@ -62426,15 +83285,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62453,14 +83312,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" }, "response": { - "bodySize": 711, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62478,7 +83337,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62494,7 +83353,7 @@ }, { "name": "etag", - "value": "\"-202662309\"" + "value": "\"-1578060484\"" }, { "name": "expires", @@ -62510,11 +83369,11 @@ }, { "name": "content-length", - "value": "711" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62525,14 +83384,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.814Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.282Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -62540,11 +83399,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 11 } }, { - "_id": "d42ea564d9bf407bfa32546f448ee555", + "_id": "2dadef18cac1a52b14b601c90649823a", "_order": 0, "cache": {}, "request": { @@ -62561,15 +83420,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62584,18 +83443,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 681, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" }, "response": { - "bodySize": 258, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -62613,7 +83472,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62629,7 +83488,7 @@ }, { "name": "etag", - "value": "\"128653632\"" + "value": "\"-77719538\"" }, { "name": "expires", @@ -62645,11 +83504,11 @@ }, { "name": "content-length", - "value": "258" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62666,8 +83525,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.821Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:40.283Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -62675,11 +83534,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 6 } }, { - "_id": "e79bb6e4db3a5c2ec1249075a2ab51d3", + "_id": "759e0d16ec3b6557c6aaeca2ab9acae2", "_order": 0, "cache": {}, "request": { @@ -62696,15 +83555,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62719,18 +83578,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" }, "response": { - "bodySize": 260, + "bodySize": 469, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62748,7 +83607,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62764,7 +83623,7 @@ }, { "name": "etag", - "value": "\"-1790782773\"" + "value": "\"1522661276\"" }, { "name": "expires", @@ -62780,11 +83639,11 @@ }, { "name": "content-length", - "value": "260" + "value": "469" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62795,14 +83654,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.822Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.284Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -62810,11 +83669,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 11 } }, { - "_id": "6f0bb9456d686b254a8fd6ccdfd2028a", + "_id": "8e1d9c600ae0e454e10b87948b32cba6", "_order": 0, "cache": {}, "request": { @@ -62831,15 +83690,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62854,18 +83713,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" }, "response": { - "bodySize": 1119, + "bodySize": 336, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -62883,7 +83742,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62899,7 +83758,7 @@ }, { "name": "etag", - "value": "\"-686533928\"" + "value": "\"875182106\"" }, { "name": "expires", @@ -62915,11 +83774,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "336" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -62930,14 +83789,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.829Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.285Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -62945,11 +83804,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "3d1421f93663d440136e81643cbd2389", + "_id": "061246a49d110e8d3fefde05adb34ca2", "_order": 0, "cache": {}, "request": { @@ -62966,15 +83825,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62989,18 +83848,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 673, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" }, "response": { - "bodySize": 404, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63018,7 +83877,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63034,7 +83893,7 @@ }, { "name": "etag", - "value": "\"-1655043290\"" + "value": "\"-1395544271\"" }, { "name": "expires", @@ -63050,11 +83909,11 @@ }, { "name": "content-length", - "value": "404" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63071,8 +83930,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.835Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.285Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -63080,11 +83939,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "aa129614713fc11b13775ab701e2cac1", + "_id": "afa893c9862ea88975a77036f7c1ec15", "_order": 0, "cache": {}, "request": { @@ -63101,15 +83960,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63124,18 +83983,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" }, "response": { - "bodySize": 376, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63153,7 +84012,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63169,7 +84028,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"1323058199\"" }, { "name": "expires", @@ -63185,11 +84044,11 @@ }, { "name": "content-length", - "value": "376" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63200,14 +84059,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.835Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.299Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -63215,11 +84074,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 7 } }, { - "_id": "1ba2c27779385fcb9e3beb284e0e49bc", + "_id": "2573af8394010afccff10cdb360fec89", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + }, + "response": { + "bodySize": 306, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-415466582\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "306" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:40.300Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "ed01f4c89c40f0bee2ffd9b34f78e998", "_order": 0, "cache": {}, "request": { @@ -63236,15 +84230,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63259,18 +84253,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 642, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" }, "response": { - "bodySize": 300, + "bodySize": 1639, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -63288,7 +84282,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63304,7 +84298,7 @@ }, { "name": "etag", - "value": "\"-1735965231\"" + "value": "\"433260882\"" }, { "name": "expires", @@ -63320,11 +84314,11 @@ }, { "name": "content-length", - "value": "300" + "value": "1639" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63335,14 +84329,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.836Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.310Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -63350,11 +84344,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "307e64c580ecd37e03506e639659aaa8", + "_id": "9a3b97d1b3f2810bf4ad0691e5b98ab6", "_order": 0, "cache": {}, "request": { @@ -63371,15 +84365,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63394,18 +84388,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" }, "response": { - "bodySize": 340, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -63423,7 +84417,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63439,7 +84433,7 @@ }, { "name": "etag", - "value": "\"712832963\"" + "value": "\"1309752765\"" }, { "name": "expires", @@ -63455,11 +84449,11 @@ }, { "name": "content-length", - "value": "340" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63470,14 +84464,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.836Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.320Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -63485,11 +84479,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "fba81180f9b581cea03770e6f9de04e5", + "_id": "874153f3059f3a46725de179b6218f2d", "_order": 0, "cache": {}, "request": { @@ -63506,15 +84500,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63529,18 +84523,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 685, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" }, "response": { - "bodySize": 351, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -63558,7 +84552,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63574,7 +84568,7 @@ }, { "name": "etag", - "value": "\"-1799080778\"" + "value": "\"-1874082022\"" }, { "name": "expires", @@ -63590,11 +84584,11 @@ }, { "name": "content-length", - "value": "351" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63611,8 +84605,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.843Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.320Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -63620,11 +84614,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 10 } }, { - "_id": "b7be51430c052151da7a50827977cb0c", + "_id": "97e33389e1a76fff08f06c9abb659dee", "_order": 0, "cache": {}, "request": { @@ -63641,15 +84635,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63664,18 +84658,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 640, + "headersSize": 673, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" }, "response": { - "bodySize": 819, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63693,7 +84687,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63709,7 +84703,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"-529786920\"" }, { "name": "expires", @@ -63725,11 +84719,11 @@ }, { "name": "content-length", - "value": "819" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63746,8 +84740,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.849Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.321Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -63755,11 +84749,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 7 } }, { - "_id": "9950ed10f15360083cafa67a901615c1", + "_id": "3d0d7bbf12a3ea219c3108207a97822f", "_order": 0, "cache": {}, "request": { @@ -63776,15 +84770,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63799,18 +84793,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" }, "response": { - "bodySize": 243, + "bodySize": 422, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63828,7 +84822,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63844,7 +84838,7 @@ }, { "name": "etag", - "value": "\"1743893705\"" + "value": "\"384347514\"" }, { "name": "expires", @@ -63860,11 +84854,11 @@ }, { "name": "content-length", - "value": "243" + "value": "422" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -63875,14 +84869,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.855Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.321Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -63890,11 +84884,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 8 } }, { - "_id": "bfa8061976dd2c61aa7355802b64a2af", + "_id": "8f276abe20e77f0b5d254f3f8aaa1521", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + }, + "response": { + "bodySize": 349, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"894949571\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "349" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:39 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:40.322Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "e188e492a9ffc8368f8ada56bb3fa694", "_order": 0, "cache": {}, "request": { @@ -63911,15 +85040,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63938,14 +85067,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" }, "response": { - "bodySize": 959, + "bodySize": 410, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63963,7 +85092,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63979,7 +85108,7 @@ }, { "name": "etag", - "value": "\"-1037301643\"" + "value": "\"-895759180\"" }, { "name": "expires", @@ -63995,11 +85124,11 @@ }, { "name": "content-length", - "value": "959" + "value": "410" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -64010,14 +85139,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.856Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.322Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -64025,11 +85154,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 8 } }, { - "_id": "3c31e8e0cebc9abd0757a15e48bb71f3", + "_id": "f4e18f6cfa3a29ad4d90a1369e5be701", "_order": 0, "cache": {}, "request": { @@ -64046,15 +85175,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64069,18 +85198,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" }, "response": { - "bodySize": 271, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64098,7 +85227,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64114,7 +85243,7 @@ }, { "name": "etag", - "value": "\"1895090878\"" + "value": "\"-852986593\"" }, { "name": "expires", @@ -64130,11 +85259,11 @@ }, { "name": "content-length", - "value": "271" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -64151,8 +85280,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.856Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.323Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -64160,11 +85289,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "a1cf1e8dcf795ae2018229b61fe7e95f", + "_id": "d6247990720cee63ca442194f133ee42", "_order": 0, "cache": {}, "request": { @@ -64181,15 +85310,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64208,14 +85337,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" }, "response": { "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64233,7 +85362,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64249,7 +85378,7 @@ }, { "name": "etag", - "value": "\"-1365755177\"" + "value": "\"-611727803\"" }, { "name": "expires", @@ -64269,7 +85398,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -64280,149 +85409,14 @@ "value": "keep-alive" } ], - "headersSize": 486, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:38.863Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "7f794598a08d975051dc8e0c00794674", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 679, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" - }, - "response": { - "bodySize": 371, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"790804755\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "371" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.864Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.337Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -64430,11 +85424,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "c1b3a1f611fd40698634288945a8531a", + "_id": "470698a5c6e03a254958c563676f499c", "_order": 0, "cache": {}, "request": { @@ -64451,15 +85445,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64478,14 +85472,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" }, "response": { - "bodySize": 258, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64503,7 +85497,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64519,7 +85513,7 @@ }, { "name": "etag", - "value": "\"-347683889\"" + "value": "\"502723459\"" }, { "name": "expires", @@ -64535,11 +85529,11 @@ }, { "name": "content-length", - "value": "258" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:39 GMT" }, { "name": "keep-alive", @@ -64550,14 +85544,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.864Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.338Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64565,11 +85559,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "a06cc957ce7be1b39c3c73b83e298508", + "_id": "2f6cc4a6820bd184162b0835933b33bb", "_order": 0, "cache": {}, "request": { @@ -64586,15 +85580,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64609,18 +85603,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 670, + "headersSize": 630, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/RetryLimit" }, "response": { - "bodySize": 275, + "bodySize": 1231, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -64638,7 +85632,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64654,7 +85648,7 @@ }, { "name": "etag", - "value": "\"-1855541828\"" + "value": "\"-1417605028\"" }, { "name": "expires", @@ -64670,11 +85664,11 @@ }, { "name": "content-length", - "value": "275" + "value": "1231" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -64685,14 +85679,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.865Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.346Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64700,11 +85694,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "255a77f3817bf5b850c02b1c7822e498", + "_id": "8dfa49e1b937e70797cf4659a005ef3b", "_order": 0, "cache": {}, "request": { @@ -64721,15 +85715,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64744,18 +85738,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" }, "response": { - "bodySize": 224, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 207, + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64773,7 +85767,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64789,7 +85783,7 @@ }, { "name": "etag", - "value": "\"-1310629925\"" + "value": "\"1991543646\"" }, { "name": "expires", @@ -64805,11 +85799,11 @@ }, { "name": "content-length", - "value": "224" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -64820,14 +85814,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.865Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.357Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -64835,11 +85829,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "5cfbcdaf97990a66929900d3b5be3a60", + "_id": "fef02e0d0bd281883adc03ba67a0f65a", "_order": 0, "cache": {}, "request": { @@ -64856,15 +85850,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64879,18 +85873,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" }, "response": { - "bodySize": 1201, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -64908,7 +85902,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64924,7 +85918,7 @@ }, { "name": "etag", - "value": "\"1171487776\"" + "value": "\"376925853\"" }, { "name": "expires", @@ -64940,11 +85934,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -64955,14 +85949,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.871Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.358Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -64970,11 +85964,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "a1e27df60480f4a0b76959a21b7448e2", + "_id": "f08abf7b53c9d27d0a40139d7ac0326f", "_order": 0, "cache": {}, "request": { @@ -64991,15 +85985,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65014,18 +86008,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" }, "response": { - "bodySize": 407, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65043,7 +86037,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65059,7 +86053,7 @@ }, { "name": "etag", - "value": "\"-1578060484\"" + "value": "\"1844311587\"" }, { "name": "expires", @@ -65075,11 +86069,11 @@ }, { "name": "content-length", - "value": "407" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65090,14 +86084,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.878Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.359Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -65105,11 +86099,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "2dadef18cac1a52b14b601c90649823a", + "_id": "c3a46fc9185bcfd7ec33a65a50971526", "_order": 0, "cache": {}, "request": { @@ -65126,15 +86120,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65149,18 +86143,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 681, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" }, "response": { - "bodySize": 295, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -65178,7 +86172,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65194,7 +86188,7 @@ }, { "name": "etag", - "value": "\"-77719538\"" + "value": "\"1366894111\"" }, { "name": "expires", @@ -65210,11 +86204,11 @@ }, { "name": "content-length", - "value": "295" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65225,14 +86219,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.879Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.359Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -65240,11 +86234,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 6 } }, { - "_id": "759e0d16ec3b6557c6aaeca2ab9acae2", + "_id": "337794ee44e0c7447afb92e5b30aa977", "_order": 0, "cache": {}, "request": { @@ -65261,15 +86255,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65284,18 +86278,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 675, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" }, "response": { - "bodySize": 469, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65313,7 +86307,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65329,7 +86323,7 @@ }, { "name": "etag", - "value": "\"1522661276\"" + "value": "\"2057819892\"" }, { "name": "expires", @@ -65345,11 +86339,11 @@ }, { "name": "content-length", - "value": "469" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65366,8 +86360,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.879Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.360Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -65375,11 +86369,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "061246a49d110e8d3fefde05adb34ca2", + "_id": "4eed5fa28710f528e622f01568a1d121", "_order": 0, "cache": {}, "request": { @@ -65396,15 +86390,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65419,18 +86413,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 631, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Test%20Tree" }, "response": { - "bodySize": 433, + "bodySize": 500, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 500, + "text": "{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -65448,7 +86442,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65464,7 +86458,7 @@ }, { "name": "etag", - "value": "\"-1395544271\"" + "value": "\"-701879303\"" }, { "name": "expires", @@ -65480,11 +86474,11 @@ }, { "name": "content-length", - "value": "433" + "value": "500" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65495,14 +86489,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.880Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.370Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -65510,11 +86504,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "8e1d9c600ae0e454e10b87948b32cba6", + "_id": "c11d76825f99f502d91867a213b5c086", "_order": 0, "cache": {}, "request": { @@ -65531,15 +86525,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65554,18 +86548,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 678, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/0254ab35-daea-40db-9a53-44fc06715e48" }, "response": { - "bodySize": 336, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 207, + "text": "{\"_id\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"_rev\":\"-286173771\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65583,7 +86577,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65599,7 +86593,7 @@ }, { "name": "etag", - "value": "\"875182106\"" + "value": "\"-286173771\"" }, { "name": "expires", @@ -65615,11 +86609,11 @@ }, { "name": "content-length", - "value": "336" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65630,14 +86624,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.880Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.379Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -65645,11 +86639,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 5 } }, { - "_id": "afa893c9862ea88975a77036f7c1ec15", + "_id": "0861dc086f5c5bee16b6181e8f017819", "_order": 0, "cache": {}, "request": { @@ -65666,15 +86660,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "cookie", @@ -65689,18 +86683,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 579, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/policies?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 137, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -65718,7 +86717,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=2.1" }, { "name": "content-security-policy", @@ -65732,10 +86731,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1323058199\"" - }, { "name": "expires", "value": "0" @@ -65750,11 +86745,11 @@ }, { "name": "content-length", - "value": "258" + "value": "137" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65765,14 +86760,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.885Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.390Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -65780,11 +86775,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "2573af8394010afccff10cdb360fec89", + "_id": "e6620028102bee7851caf52454436e91", "_order": 0, "cache": {}, "request": { @@ -65801,15 +86796,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "cookie", @@ -65824,18 +86819,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 669, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 306, + "bodySize": 1058, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1058, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1578580064992,\"lastModifiedDate\":1728509790191,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -65853,7 +86857,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -65867,10 +86871,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-415466582\"" - }, { "name": "expires", "value": "0" @@ -65885,11 +86885,11 @@ }, { "name": "content-length", - "value": "306" + "value": "1058" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -65900,14 +86900,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.886Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.400Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -65915,11 +86915,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 5 } }, { - "_id": "ed01f4c89c40f0bee2ffd9b34f78e998", + "_id": "26039f1e4e2d0a1253dca583cff9a80a", "_order": 0, "cache": {}, "request": { @@ -65936,15 +86936,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -65959,18 +86959,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 668, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 1639, + "bodySize": 996, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + "size": 996, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790156},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790171}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -65988,7 +86997,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -66002,10 +87011,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"433260882\"" - }, { "name": "expires", "value": "0" @@ -66020,11 +87025,11 @@ }, { "name": "content-length", - "value": "1639" + "value": "996" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66035,14 +87040,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.891Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.410Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -66050,11 +87055,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 6 } }, { - "_id": "9a3b97d1b3f2810bf4ad0691e5b98ab6", + "_id": "c96e209b06c3940c674889c174e176c5", "_order": 0, "cache": {}, "request": { @@ -66071,15 +87076,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -66094,153 +87099,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" - }, - "response": { - "bodySize": 239, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1309752765\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "239" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:38.897Z", - "time": 3, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 3 - } - }, - { - "_id": "97e33389e1a76fff08f06c9abb659dee", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_queryFilter", + "value": "true" } ], - "headersSize": 673, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/scripts?_queryFilter=true" }, "response": { - "bodySize": 485, + "bodySize": 176322, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 176322, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -66258,7 +87133,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -66272,10 +87147,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-529786920\"" - }, { "name": "expires", "value": "0" @@ -66289,12 +87160,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "485" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66305,14 +87176,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.898Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.421Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -66320,11 +87191,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "3d0d7bbf12a3ea219c3108207a97822f", + "_id": "cc044be35e3a5835c12a6e750637e31e", "_order": 0, "cache": {}, "request": { @@ -66341,15 +87212,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -66364,18 +87235,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 623, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Library Script\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" }, "response": { - "bodySize": 422, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -66393,7 +87269,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -66407,10 +87283,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"384347514\"" - }, { "name": "expires", "value": "0" @@ -66425,11 +87297,11 @@ }, { "name": "content-length", - "value": "422" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66440,13 +87312,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.898Z", + "startedDateTime": "2024-11-06T16:35:40.434Z", "time": 3, "timings": { "blocked": -1, @@ -66459,7 +87331,7 @@ } }, { - "_id": "874153f3059f3a46725de179b6218f2d", + "_id": "f7f3a5d6fa5e5638bd090a89f2dfe4d9", "_order": 0, "cache": {}, "request": { @@ -66476,11 +87348,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -66499,18 +87371,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 618, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores?_action=nextdescendents" }, "response": { - "bodySize": 315, + "bodySize": 523, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -66542,10 +87419,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1874082022\"" - }, { "name": "expires", "value": "0" @@ -66560,11 +87433,11 @@ }, { "name": "content-length", - "value": "315" + "value": "523" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66575,14 +87448,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.898Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.441Z", + "time": 12, "timings": { "blocked": -1, "connect": -1, @@ -66590,11 +87463,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 12 } }, { - "_id": "8f276abe20e77f0b5d254f3f8aaa1521", + "_id": "3c2f8d9d8ac0e4150587c2c51f58432e", "_order": 0, "cache": {}, "request": { @@ -66611,11 +87484,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -66634,18 +87507,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 657, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" }, "response": { - "bodySize": 349, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -66677,10 +87555,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"894949571\"" - }, { "name": "expires", "value": "0" @@ -66695,11 +87569,11 @@ }, { "name": "content-length", - "value": "349" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66710,14 +87584,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.899Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.458Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -66725,11 +87599,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 5 } }, { - "_id": "e188e492a9ffc8368f8ada56bb3fa694", + "_id": "2dc659b9979d68abb103d5087fe4a765", "_order": 0, "cache": {}, "request": { @@ -66746,11 +87620,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -66769,18 +87643,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" }, "response": { - "bodySize": 410, + "bodySize": 99, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -66812,10 +87691,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-895759180\"" - }, { "name": "expires", "value": "0" @@ -66830,11 +87705,11 @@ }, { "name": "content-length", - "value": "410" + "value": "99" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -66845,13 +87720,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:38.899Z", + "startedDateTime": "2024-11-06T16:35:40.467Z", "time": 2, "timings": { "blocked": -1, @@ -66864,7 +87739,7 @@ } }, { - "_id": "f4e18f6cfa3a29ad4d90a1369e5be701", + "_id": "c2c1abc8ef1ee952641c2981da6dd6a0", "_order": 0, "cache": {}, "request": { @@ -66881,15 +87756,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -66904,153 +87779,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" - }, - "response": { - "bodySize": 256, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-852986593\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "256" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 612, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:38.900Z", - "time": 4, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 4 - } - }, - { - "_id": "d6247990720cee63ca442194f133ee42", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 9585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 9585, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -67068,7 +87813,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67082,10 +87827,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-611727803\"" - }, { "name": "expires", "value": "0" @@ -67099,12 +87840,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "259" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67115,14 +87856,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.908Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.475Z", + "time": 30, "timings": { "blocked": -1, "connect": -1, @@ -67130,11 +87871,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 30 } }, { - "_id": "470698a5c6e03a254958c563676f499c", + "_id": "8ce993874189334475c3c81bc166186e", "_order": 0, "cache": {}, "request": { @@ -67151,15 +87892,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67174,18 +87915,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories" }, "response": { - "bodySize": 257, + "bodySize": 346, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -67203,7 +87944,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67219,7 +87960,7 @@ }, { "name": "etag", - "value": "\"502723459\"" + "value": "\"-1741783487\"" }, { "name": "expires", @@ -67235,11 +87976,11 @@ }, { "name": "content-length", - "value": "257" + "value": "346" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67250,14 +87991,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.908Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.511Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -67265,11 +88006,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "2f6cc4a6820bd184162b0835933b33bb", + "_id": "b07a84b7bb5cb6654530a34df9c2e81f", "_order": 0, "cache": {}, "request": { @@ -67286,15 +88027,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67309,18 +88050,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 630, + "headersSize": 628, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 1231, + "bodySize": 5109, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 5109, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -67338,7 +88084,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67352,10 +88098,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1417605028\"" - }, { "name": "expires", "value": "0" @@ -67370,11 +88112,11 @@ }, { "name": "content-length", - "value": "1231" + "value": "5109" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67385,14 +88127,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.915Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.511Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -67400,11 +88142,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 11 } }, { - "_id": "fef02e0d0bd281883adc03ba67a0f65a", + "_id": "719cb3d85965a12f9a98ae2ae47ba906", "_order": 0, "cache": {}, "request": { @@ -67421,15 +88163,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67444,18 +88186,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 632, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 298, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -67473,7 +88220,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67487,10 +88234,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"376925853\"" - }, { "name": "expires", "value": "0" @@ -67505,11 +88248,11 @@ }, { "name": "content-length", - "value": "298" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67520,14 +88263,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.923Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.512Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -67535,11 +88278,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "8dfa49e1b937e70797cf4659a005ef3b", + "_id": "f74cb1ce51070a07c9fdc9be61c7fc04", "_order": 0, "cache": {}, "request": { @@ -67556,15 +88299,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67579,18 +88322,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 607, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 207, + "bodySize": 708, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -67608,7 +88351,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67624,7 +88367,7 @@ }, { "name": "etag", - "value": "\"1991543646\"" + "value": "\"-52720779\"" }, { "name": "expires", @@ -67640,11 +88383,11 @@ }, { "name": "content-length", - "value": "207" + "value": "708" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67655,13 +88398,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.923Z", + "startedDateTime": "2024-11-06T16:35:40.512Z", "time": 4, "timings": { "blocked": -1, @@ -67674,7 +88417,7 @@ } }, { - "_id": "f08abf7b53c9d27d0a40139d7ac0326f", + "_id": "749250274d4ac9bd2f5289fd767c4aea", "_order": 0, "cache": {}, "request": { @@ -67691,15 +88434,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67714,153 +88457,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" - }, - "response": { - "bodySize": 207, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1844311587\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "207" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 623, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:38.924Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "c3a46fc9185bcfd7ec33a65a50971526", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -67878,7 +88491,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67892,10 +88505,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1366894111\"" - }, { "name": "expires", "value": "0" @@ -67910,11 +88519,11 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -67925,14 +88534,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.924Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:40.513Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -67940,11 +88549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "337794ee44e0c7447afb92e5b30aa977", + "_id": "a039d32358e11ad4bd8e8623b15f60cc", "_order": 0, "cache": {}, "request": { @@ -67961,15 +88570,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -67984,18 +88593,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 611, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 221, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -68013,7 +88622,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68029,7 +88638,7 @@ }, { "name": "etag", - "value": "\"2057819892\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -68045,11 +88654,11 @@ }, { "name": "content-length", - "value": "221" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -68066,7 +88675,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.925Z", + "startedDateTime": "2024-11-06T16:35:40.514Z", "time": 3, "timings": { "blocked": -1, @@ -68079,7 +88688,7 @@ } }, { - "_id": "4eed5fa28710f528e622f01568a1d121", + "_id": "14f7cf6fdc855992d18dc7ddca3394a2", "_order": 0, "cache": {}, "request": { @@ -68096,15 +88705,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -68119,18 +88728,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 631, + "headersSize": 636, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Test%20Tree" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 500, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 500, - "text": "{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -68148,7 +88762,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68162,10 +88776,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-701879303\"" - }, { "name": "expires", "value": "0" @@ -68180,11 +88790,11 @@ }, { "name": "content-length", - "value": "500" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -68195,14 +88805,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.932Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:40.515Z", + "time": 14, "timings": { "blocked": -1, "connect": -1, @@ -68210,11 +88820,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 14 } }, { - "_id": "c11d76825f99f502d91867a213b5c086", + "_id": "315565ec046641532e8a186ae68a6269", "_order": 0, "cache": {}, "request": { @@ -68231,15 +88841,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -68254,18 +88864,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 620, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/0254ab35-daea-40db-9a53-44fc06715e48" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 207, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"_rev\":\"-286173771\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -68283,7 +88898,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68297,10 +88912,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-286173771\"" - }, { "name": "expires", "value": "0" @@ -68315,11 +88926,11 @@ }, { "name": "content-length", - "value": "207" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -68330,14 +88941,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:38.936Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:40.534Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -68345,7 +88956,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } } ], diff --git a/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/4-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3484640253/recording.har b/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/4-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3484640253/recording.har index 40acdffaf..055631f4d 100644 --- a/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/4-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3484640253/recording.har +++ b/src/test/mock-recordings/ConfigOps_2138586609/Classic-Tests_743483830/exportFullConfiguration_221463303/4-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3484640253/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "f7edea2a16a82469cfa9512da84a820a", + "_id": "eb697468085abfef6b608e5d514d9750", "_order": 0, "cache": {}, "request": { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -48,154 +48,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services?_action=nextdescendents" - }, - "response": { - "bodySize": 28867, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 28867, - "text": "{\"result\":[{\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_id\":\"globalization\",\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}},{\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_id\":\"logging\",\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}},{\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_id\":\"naming\",\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}},{\"cookieDomains\":[],\"locale\":\"en_US\",\"_id\":\"platform\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}},{\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"requestHandlers\":[],\"_id\":\"federation/saml2soapbinding\",\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}},{\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_id\":\"federation/multi\",\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}},{\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_id\":\"federation/common\",\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}},{\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}},{\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_id\":\"androidKeyAttestation\",\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}},{\"defaultContext\":\"POLICY_CONDITION\",\"_id\":\"scripting\",\"_type\":{\"_id\":\"scripting\",\"name\":\"Scripting\",\"collection\":false}},{\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_id\":\"monitoring\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}},{\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_id\":\"idm-integration\",\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}},{\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_id\":\"saml2\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}},{\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_id\":\"rest\",\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_id\":\"uma\",\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}},{\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_id\":\"ConfigurationVersionService\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}},{\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_id\":\"RadiusServerService\",\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}},{\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"defaults\":{\"timeToLive\":\"180\"},\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"GoogleCloudServiceAccountService\",\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 472, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.104Z", - "time": 9, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 9 - } - }, - { - "_id": "f72fabd8fbe5156f0b7e3b99e0534b8f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_queryFilter", + "value": "true" } ], - "headersSize": 565, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/realms/?_queryFilter=true" }, "response": { - "bodySize": 359, + "bodySize": 540, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 359, - "text": "{\"_id\":\"\",\"_rev\":\"-1106014221\",\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 540, + "text": "{\"result\":[{\"_id\":\"Lw\",\"_rev\":\"492331277\",\"parentPath\":null,\"active\":true,\"name\":\"/\",\"aliases\":[\"localhost\",\"openam-frodo-dev.classic.com\",\"openam\",\"testurl.com\"]},{\"_id\":\"L2ZpcnN0\",\"_rev\":\"1051737267\",\"parentPath\":\"/\",\"active\":true,\"name\":\"first\",\"aliases\":[\"one\",\"dnsfirst\"]},{\"_id\":\"L2ZpcnN0L3NlY29uZA\",\"_rev\":\"-1167290418\",\"parentPath\":\"/first\",\"active\":false,\"name\":\"second\",\"aliases\":[\"secondDNS\",\"second\"]}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -213,7 +82,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -227,10 +96,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1106014221\"" - }, { "name": "expires", "value": "0" @@ -245,11 +110,11 @@ }, { "name": "content-length", - "value": "359" + "value": "540" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -260,14 +125,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.130Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:41.154Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -275,11 +140,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 5 } }, { - "_id": "c0a5f6a64ac0b5f920701298c5b6ca45", + "_id": "c426bec4c6e4c9edc112fa80b40a8fe1", "_order": 0, "cache": {}, "request": { @@ -296,15 +161,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -319,23 +184,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 573, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 1558, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1558, - "text": "{\"result\":[{\"_id\":\"agent\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentgroup\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentonly\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"filteredrole\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"group\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"realm\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"role\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"user\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"givenName\":\"amAdmin\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"amAdmin\",\"dn\":\"uid=amAdmin,ou=people,\",\"cn\":\"amAdmin\",\"_id\":\"amAdmin\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Inactive\",\"givenName\":\"anonymous\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"anonymous\",\"dn\":\"uid=anonymous,ou=people,\",\"cn\":\"anonymous\",\"_id\":\"anonymous\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"dn\":\"cn=dsameuser,ou=DSAME Users,\",\"_id\":\"dsameuser\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}}]}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -353,7 +218,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -381,11 +246,11 @@ }, { "name": "content-length", - "value": "1558" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -396,14 +261,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.130Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.161Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -411,11 +276,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 4 } }, { - "_id": "b4d643d9dbff0a4f3368d4dcfe3586f8", + "_id": "b2e1e76f847112ebbebb9f4a3b6daff6", "_order": 0, "cache": {}, "request": { @@ -432,15 +297,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -455,18 +320,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 563, + "headersSize": 586, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 709, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 709, - "text": "{\"_id\":\"\",\"_rev\":\"770074612\",\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -484,7 +354,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -498,10 +368,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"770074612\"" - }, { "name": "expires", "value": "0" @@ -516,11 +382,11 @@ }, { "name": "content-length", - "value": "709" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -531,14 +397,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.131Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.169Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -546,11 +412,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 4 } }, { - "_id": "cdb17bfb6150d6d446734c1f95070d64", + "_id": "2d20e9e2c4bf0838a319b8db3c9917d4", "_order": 0, "cache": {}, "request": { @@ -567,15 +433,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -590,23 +456,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 588, + "headersSize": 600, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1341, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -624,7 +490,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -652,11 +518,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1341" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -667,14 +533,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.131Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.177Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -682,11 +548,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 8 } }, { - "_id": "b4bd42e147d54913501b28c40eec17bb", + "_id": "2b170236615f1a0725d65e635326a219", "_order": 0, "cache": {}, "request": { @@ -703,15 +569,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -726,18 +592,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/chains" }, "response": { - "bodySize": 899, + "bodySize": 158, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 899, - "text": "{\"_id\":\"\",\"_rev\":\"1282484869\",\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}}" + "size": 158, + "text": "{\"_id\":\"\",\"_rev\":\"1147129562\",\"dynamic\":{\"authChainConfiguration\":\"[Empty]\"},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -771,7 +637,7 @@ }, { "name": "etag", - "value": "\"1282484869\"" + "value": "\"1147129562\"" }, { "name": "expires", @@ -787,11 +653,11 @@ }, { "name": "content-length", - "value": "899" + "value": "158" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -808,8 +674,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.132Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.189Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -817,11 +683,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 4 } }, { - "_id": "43064d89e2802be220333e8c45f76ef0", + "_id": "1f8e327660d8b21ea224a12080b31c72", "_order": 0, "cache": {}, "request": { @@ -838,15 +704,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -861,23 +727,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -895,7 +761,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -923,11 +789,11 @@ }, { "name": "content-length", - "value": "13" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -938,14 +804,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.133Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.204Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -953,11 +819,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 10 } }, { - "_id": "8bcf7e69c1b5f4bae9e93b6c31ce1164", + "_id": "944c4947782014980962c47952c62871", "_order": 0, "cache": {}, "request": { @@ -974,15 +840,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -997,18 +863,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 556, + "headersSize": 604, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 942, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 942, - "text": "{\"_id\":\"\",\"_rev\":\"329242288\",\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -1026,7 +897,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -1040,10 +911,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"329242288\"" - }, { "name": "expires", "value": "0" @@ -1058,11 +925,11 @@ }, { "name": "content-length", - "value": "942" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -1073,14 +940,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.133Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.217Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -1088,11 +955,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 5 } }, { - "_id": "c02a739d10f1807e59a4503855eabcfa", + "_id": "25942edffa1a4f106d805387e16c8840", "_order": 0, "cache": {}, "request": { @@ -1109,15 +976,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -1132,23 +999,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 618, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 686, + "text": "{\"result\":[{\"_id\":\"amsterService\",\"_rev\":\"644917310\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"Amster\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}},{\"_id\":\"ldapService\",\"_rev\":\"357765346\",\"loginPostProcessClass\":[],\"authChainConfiguration\":[{\"module\":\"DataStore\",\"criteria\":\"REQUIRED\",\"options\":{}}],\"loginSuccessUrl\":[],\"loginFailureUrl\":[],\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Configuration\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -1166,7 +1033,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -1194,11 +1061,11 @@ }, { "name": "content-length", - "value": "13" + "value": "686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -1209,14 +1076,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.134Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:41.226Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -1224,15 +1091,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 5 } }, { - "_id": "e78947475e372e0b8923e8b52eeea9e6", + "_id": "70bf31ef32b535a321a001c748b0f61e", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1245,20 +1112,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1268,18 +1139,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 558, + "headersSize": 607, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 131, + "bodySize": 20544, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"-1580305574\",\"cookieDomains\":[],\"locale\":\"en_US\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}}" + "size": 20544, + "text": "{\"result\":[{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"httpbasic\",\"_type\":{\"_id\":\"httpbasic\",\"name\":\"HTTP Basic\",\"collection\":false}},{\"defaults\":{\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":1,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"primaryLdapServer\":[\"localhost:50636\"],\"userBindDN\":\"cn=Directory Manager\",\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"connectionHeartbeatTimeUnit\":\"MINUTES\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\"},\"_id\":\"activedirectory\",\"_type\":{\"_id\":\"activedirectory\",\"name\":\"Active Directory\",\"collection\":false}},{\"defaults\":{\"iprange\":{\"ipRangeScore\":1,\"ipRangeCheckEnabled\":false,\"ipRange\":[\"10.0.0.0/24\"],\"invertIPRangeScoreEnabled\":false},\"knowncookie\":{\"invertKnownCookieScore\":false,\"knownCookieScore\":1,\"createKnownCookieOnSuccessfulLogin\":false,\"knownCookieCheckEnabled\":false},\"iphistory\":{\"ipHistoryCheckEnabled\":false,\"ipHistoryCount\":5,\"ipHistoryScore\":1,\"ipHistoryProfileAttribute\":\"iphistory\",\"saveSuccessfulIP\":false,\"invertIPHistoryScore\":false},\"geolocation\":{\"geolocationScore\":1,\"geolocationCheckEnabled\":false,\"invertGeolocationScore\":false},\"authfailed\":{\"failureScore\":1,\"failedAuthenticationCheckEnabled\":false,\"invertFailureScore\":false},\"attributecheck\":{\"profileRiskAttributeScore\":1,\"invertProfileRiskAttributeScore\":false,\"profileRiskAttributeCheckEnabled\":false},\"lastlogin\":{\"saveLastLoginTimeOnSuccessfulLogin\":false,\"invertTimeSinceLastLoginScore\":false,\"timeSinceLastLoginScore\":1,\"timeSinceLastLoginCheckEnabled\":false},\"general\":{\"authenticationLevel\":0,\"riskThreshold\":1},\"devicecookie\":{\"deviceCookieName\":\"Device\",\"deviceCookieScore\":1,\"invertDeviceCookieScore\":false,\"deviceCookieCheckEnabled\":false,\"saveDeviceCookieValueOnSuccessfulLogin\":false},\"requestheader\":{\"requestHeaderCheckEnabled\":false,\"invertRequestHeaderScore\":false,\"requestHeaderScore\":1}},\"_id\":\"adaptiverisk\",\"_type\":{\"_id\":\"adaptiverisk\",\"name\":\"Adaptive Risk \",\"collection\":false}},{\"defaults\":{\"validAnonymousUsers\":[],\"defaultAnonymousUsername\":\"anonymous\",\"authenticationLevel\":0,\"caseSensitiveUsernameMatchingEnabled\":false},\"_id\":\"anonymous\",\"_type\":{\"_id\":\"anonymous\",\"name\":\"Anonymous\",\"collection\":false}},{\"defaults\":{\"ldapCertificateAttribute\":\"CN\",\"updateCRLsFromDistributionPoint\":true,\"crlMatchingCertificateAttribute\":\"CN\",\"certificateAttributeToProfileMapping\":\"subject CN\",\"userBindDN\":\"cn=Directory Manager\",\"trustedRemoteHosts\":[\"none\"],\"sslEnabled\":false,\"ocspValidationEnabled\":false,\"authenticationLevel\":0,\"cacheCRLsInMemory\":true,\"matchCACertificateToCRL\":false,\"ldapSearchStartDN\":[],\"matchCertificateToCRL\":false,\"matchCertificateInLdap\":false,\"certificateLdapServers\":[\"localhost:50636\"],\"certificateAttributeProfileMappingExtension\":\"none\",\"iplanet-am-auth-cert-gw-cert-preferred\":false},\"_id\":\"certificate\",\"_type\":{\"_id\":\"certificate\",\"name\":\"Certificate\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":false}},{\"defaults\":{\"useSecureCookie\":true,\"cookieName\":\"session-jwt\",\"enforceClientIP\":false,\"idleTimeout\":5,\"maxLife\":5,\"useHttpOnlyCookie\":true},\"_id\":\"persistentcookie\",\"_type\":{\"_id\":\"persistentcookie\",\"name\":\"Persistent Cookie\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0,\"passwordColumn\":\"PASSWORD_COLUMN\",\"password\":null,\"jdbcDriver\":\"com.mysql.jdbc.Driver\",\"jdbcUrl\":\"jdbc:mysql://127.0.0.1:3306/test\",\"username\":\"root\",\"passwordTransformClass\":\"com.sun.identity.authentication.modules.jdbc.ClearTextTransform\",\"connectionType\":\"JNDI\",\"passwordStatement\":\"select PASSWORD_COLUMN from TABLE where USERNAME_COLUMN = ?\",\"connectionPoolJndiName\":\"java:comp/env/jdbc/samplePool\"},\"_id\":\"jdbc\",\"_type\":{\"_id\":\"jdbc\",\"name\":\"JDBC\",\"collection\":false}},{\"defaults\":{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"primaryLdapServer\":[\"localhost:50636\"],\"userBindDN\":\"cn=Directory Manager\",\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\"},\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":false}},{\"defaults\":{\"baseSearchDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"authenticationLevel\":0,\"msisdnRequestSearchLocations\":[\"searchRequest\",\"searchParam\",\"searchCookie\"],\"returnUserDN\":true,\"userProfileMsisdnAttribute\":\"sunIdentityMSISDNNumber\",\"ldapSslEnabled\":false,\"msisdnUserNamingAttribute\":\"uid\",\"ldapUserBindDN\":\"cn=Directory Manager\",\"msisdnParameterNames\":[],\"ldapProviderUrl\":[\"localhost:50636\"],\"trustedGatewayIPAddresses\":[]},\"_id\":\"msisdn\",\"_type\":{\"_id\":\"msisdn\",\"name\":\"MSISDN\",\"collection\":false}},{\"defaults\":{\"defaultUserStatus\":\"Active\",\"minimumPasswordLength\":8,\"defaultUserRoles\":[],\"authenticationLevel\":0},\"_id\":\"membership\",\"_type\":{\"_id\":\"membership\",\"name\":\"Membership\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"windowsnt\",\"_type\":{\"_id\":\"windowsnt\",\"name\":\"Windows NT\",\"collection\":false}},{\"defaults\":{\"mailGatewayClass\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\",\"mapToAnonymousUser\":false,\"scope\":\"email,read_stream\",\"userProfileServiceUrl\":\"https://graph.facebook.com/me\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authenticationEndpointUrl\":\"https://www.facebook.com/dialog/oauth\",\"createAccount\":true,\"attributeMapperConfiguration\":[\"first_name=givenname\",\"id=facebook-id\",\"email=facebook-email\",\"last_name=facebook-lname\",\"first_name=facebook-fname\",\"name=cn\",\"email=mail\",\"last_name=sn\"],\"accountMapperConfiguration\":[\"id=facebook-id\",\"email=mail\"],\"saveAttributesInSession\":true,\"logoutBehaviour\":\"prompt\",\"anonymousUserName\":\"anonymous\",\"mixUpMitigation\":false,\"smtpHostName\":\"localhost\",\"promptForPassword\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"authenticationLevel\":0,\"accessTokenParameterName\":\"access_token\",\"accessTokenEndpointUrl\":\"https://graph.facebook.com/oauth/access_token\",\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper\"],\"smtpHostPort\":\"25\",\"smtpFromAddress\":\"info@forgerock.com\"},\"_id\":\"oauth2\",\"_type\":{\"_id\":\"oauth2\",\"name\":\"Legacy OAuth 2.0 / OpenID Connect\",\"collection\":false}},{\"defaults\":{\"kerberosServiceIsinitiator\":true,\"trustedKerberosRealms\":[],\"lookupUserInRealm\":false,\"authenticationLevel\":0,\"returnPrincipalWithDomainName\":false},\"_id\":\"windowsdesktopsso\",\"_type\":{\"_id\":\"windowsdesktopsso\",\"name\":\"Windows Desktop SSO\",\"collection\":false}},{\"defaults\":{\"jwtToLdapAttributeMappings\":[\"sub=uid\",\"email=mail\"],\"useSubClaimIfNoMatch\":false,\"cryptoContextType\":\".well-known/openid-configuration_url\",\"idTokenIssuer\":\"accounts.google.com\",\"cryptoContextValue\":\"https://accounts.google.com/.well-known/openid-configuration\",\"idTokenHeaderName\":\"oidc_id_token\",\"audienceName\":\"example\",\"acceptedAuthorizedParties\":[\"http://www.example.com/authorized/party\",\"AuthorizedPartyExample\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"principalMapperClass\":\"org.forgerock.openam.authentication.modules.oidc.JwtAttributeMapper\"},\"_id\":\"openidconnect\",\"_type\":{\"_id\":\"openidconnect\",\"name\":\"OpenID Connect id_token bearer\",\"collection\":false}},{\"defaults\":{\"serverPortNumber\":1645,\"secondaryRadiusServers\":[\"127.0.0.1\"],\"stopRadiusbindAfterInmemoryLockedEnabled\":false,\"authenticationLevel\":0,\"serverTimeout\":3,\"primaryRadiusServers\":[\"127.0.0.1\"],\"healthCheckInterval\":5},\"_id\":\"radius\",\"_type\":{\"_id\":\"radius\",\"name\":\"RADIUS\",\"collection\":false}},{\"defaults\":{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"smtpSslEnabled\":\"SSL\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpUserPassword\":null,\"smtpHostPort\":465,\"smtpFromAddress\":\"no-reply@openam.org\",\"smtpUsername\":\"opensso.sun\",\"otpValidityDuration\":5,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"autoSendOTP\":false,\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\"},\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":false}},{\"defaults\":{\"serverConfigPath\":\"/home/prestonhales/am/config/auth/ace/data\",\"authenticationLevel\":0},\"_id\":\"securid\",\"_type\":{\"_id\":\"securid\",\"name\":\"SecurID\",\"collection\":false}},{\"defaults\":{\"totpTimeStepInterval\":30,\"minimumSecretKeyLength\":32,\"frOathOtpMaxRetry\":3,\"totpTimeStepsInWindow\":2,\"hotpWindowSize\":100,\"totpMaximumClockDrift\":5,\"passwordLength\":\"6\",\"truncationOffset\":-1,\"addChecksumToOtpEnabled\":\"False\",\"authenticationLevel\":0,\"oathAlgorithm\":\"HOTP\"},\"_id\":\"authenticatoroath\",\"_type\":{\"_id\":\"authenticatoroath\",\"name\":\"ForgeRock Authenticator (OATH)\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":false}},{\"defaults\":{\"clientScript\":\"[Empty]\",\"serverScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"authenticationLevel\":1,\"clientScriptEnabled\":true},\"_id\":\"scripted\",\"_type\":{\"_id\":\"scripted\",\"name\":\"Scripted Module\",\"collection\":false}},{\"defaults\":{\"clientScript\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"serverScript\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"authenticationLevel\":0,\"clientScriptEnabled\":true},\"_id\":\"deviceidmatch\",\"_type\":{\"_id\":\"deviceidmatch\",\"name\":\"Device Id (Match)\",\"collection\":false}},{\"defaults\":{\"maxProfilesAllowed\":5,\"autoStoreProfiles\":false,\"authenticationLevel\":0},\"_id\":\"deviceidsave\",\"_type\":{\"_id\":\"deviceidsave\",\"name\":\"Device Id (Save)\",\"collection\":false}},{\"defaults\":{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"forgerock-oath-maximum-clock-drift\":0,\"stepsInWindow\":2,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\"},\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":false}},{\"defaults\":{\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"entityName\":\"http://\",\"authComparison\":\"exact\",\"sloEnabled\":\"false\",\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"allowCreate\":\"true\",\"metaAlias\":\"/sp\",\"isPassive\":\"false\",\"reqBinding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"forceAuthn\":\"false\",\"sloRelay\":\"http://\",\"authenticationLevel\":0},\"_id\":\"authSaml\",\"_type\":{\"_id\":\"authSaml\",\"name\":\"SAML2\",\"collection\":false}},{\"defaults\":{\"pushMessage\":\"Login attempt from {{user}} at {{issuer}}\",\"authenticationLevel\":0,\"timeoutInMilliSecconds\":120000},\"_id\":\"authPush\",\"_type\":{\"_id\":\"authPush\",\"name\":\"ForgeRock Authenticator (Push)\",\"collection\":false}},{\"defaults\":{\"issuer\":\"ForgeRock\",\"bgcolour\":\"#519387\",\"appleLink\":\"https://itunes.apple.com/app/forgerock-authenticator/id1038442926\",\"authenticationLevel\":0,\"timeoutInMilliSecconds\":120000,\"googleLink\":\"https://play.google.com/store/apps/details?id=com.forgerock.authenticator\"},\"_id\":\"authPushReg\",\"_type\":{\"_id\":\"authPushReg\",\"name\":\"ForgeRock Authenticator (Push) Registration\",\"collection\":false}},{\"defaults\":{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true},\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[],\"attributeMappingClasses\":[],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true},\"core\":{\"scope\":[],\"authenticationLevel\":0,\"mixUpMitigation\":false,\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"logoutBehaviour\":\"prompt\",\"usesBasicAuth\":true},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialOAuth2\",\"_type\":{\"_id\":\"authSocialOAuth2\",\"name\":\"Social Auth OAuth2\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"first_name=givenName\",\"first_name=cn\",\"id=uid\",\"last_name=sn\",\"email=mail\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-\"},\"core\":{\"scope\":[\"email\"],\"apiVersion\":\"5.73\",\"subjectProperty\":\"id\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://oauth.vk.com/authorize\",\"forgerock-am-auth-socialauthvk-auth-level\":0,\"userInfoEndpoint\":\"https://api.vk.com/method/users.get\",\"provider\":\"VKontakte\",\"tokenEndpoint\":\"https://oauth.vk.com/access_token\"},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialVk\",\"_type\":{\"_id\":\"authSocialVk\",\"name\":\"Social Auth VKontakte\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"openid=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"nickname=givenName\",\"openid=uid\",\"nickname=cn\",\"nickname=sn\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-\"},\"core\":{\"scope\":[\"snsapi_login\"],\"subjectProperty\":\"openid\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://open.weixin.qq.com/connect/qrconnect\",\"authenticationLevel\":0,\"userInfoEndpoint\":\"https://api.wechat.com/sns/userinfo\",\"provider\":\"WeChat\",\"tokenEndpoint\":\"https://api.wechat.com/sns/oauth2/access_token\",\"usesBasicAuth\":false},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialWeChat\",\"_type\":{\"_id\":\"authSocialWeChat\",\"name\":\"Social Auth WeChat\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"openid=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"nickname=givenName\",\"openid=uid\",\"nickname=cn\",\"nickname=sn\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-\"],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-\"},\"core\":{\"scope\":[\"snsapi_userinfo\"],\"subjectProperty\":\"openid\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authenticationLevel\":0,\"userInfoEndpoint\":\"https://api.wechat.com/sns/userinfo\",\"provider\":\"WeChat\"},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialWeChatMobile\",\"_type\":{\"_id\":\"authSocialWeChatMobile\",\"name\":\"Social Auth WeChat Mobile\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[],\"attributeMappingClasses\":[],\"promptPasswordFlag\":false,\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true},\"core\":{\"scope\":[\"openid\"],\"authenticationLevel\":0,\"mixUpMitigation\":false,\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"logoutBehaviour\":\"prompt\",\"usesBasicAuth\":true},\"emailSettings\":{\"smtpPort\":\"25\",\"smtpHost\":\"localhost\",\"emailGateway\":\"org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl\"}},\"_id\":\"authSocialOpenID\",\"_type\":{\"_id\":\"authSocialOpenID\",\"name\":\"Social Auth OpenID\",\"collection\":false}},{\"defaults\":{\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id=uid\"],\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"attributeMapperConfiguration\":[\"id=uid\",\"full_name=sn\",\"username=cn\",\"username=givenName\"],\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|instagram-\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"mapToAnonymousUser\":false,\"createAccount\":true,\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|instagram-\"},\"core\":{\"scope\":[\"basic\"],\"subjectProperty\":\"id\",\"authenticationLevel\":0,\"logoutServiceUrl\":\"https://instagram.com/accounts/logout\",\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"authorizeEndpoint\":\"https://api.instagram.com/oauth/authorize\",\"logoutBehaviour\":\"prompt\",\"userInfoEndpoint\":\"https://api.instagram.com/v1/users/self\",\"provider\":\"Instagram\",\"tokenEndpoint\":\"https://api.instagram.com/oauth/access_token\",\"usesBasicAuth\":false}},\"_id\":\"authSocialInstagram\",\"_type\":{\"_id\":\"authSocialInstagram\",\"name\":\"Social Auth Instagram\",\"collection\":false}},{\"defaults\":{\"core\":{\"ssoProxyUrl\":\"http://localhost:8080/am/oauth2c/OAuthProxy.jsp\",\"subjectProperty\":\"id_str\",\"authorizeEndpoint\":\"https://api.twitter.com/oauth/authenticate\",\"authenticationLevel\":0,\"requestTokenEndpoint\":\"https://api.twitter.com/oauth/request_token\",\"userInfoEndpoint\":\"https://api.twitter.com/1.1/account/verify_credentials.json\",\"provider\":\"Twitter\",\"tokenEndpoint\":\"https://api.twitter.com/oauth/access_token\",\"usesBasicAuth\":false},\"accountProvisioning\":{\"accountMapperConfiguration\":[\"id_str=uid\"],\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"saveAttributesInSession\":true,\"anonymousUserName\":\"anonymous\",\"enableRegistrationService\":false,\"mapToAnonymousUser\":false,\"attributeMapperConfiguration\":[\"full_name=sn\",\"username=cn\",\"id_str=uid\",\"username=givenName\"],\"createAccount\":true,\"attributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|twitter-\"],\"accountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|twitter-\"}},\"_id\":\"authSocialTwitter\",\"_type\":{\"_id\":\"authSocialTwitter\",\"name\":\"Social Auth Twitter\",\"collection\":false}},{\"defaults\":{\"responseEncryptionCipher\":\"A128GCM\",\"responseEncryptionMethod\":\"ECDHE\",\"enableTlsSessionBinding\":true,\"authenticationLevel\":0},\"_id\":\"authJwtPoP\",\"_type\":{\"_id\":\"authJwtPoP\",\"name\":\"JWT Proof of Possession (PoP)\",\"collection\":false}},{\"defaults\":{\"authenticationLevel\":0},\"_id\":\"accountactivecheck\",\"_type\":{\"_id\":\"accountactivecheck\",\"name\":\"Account Active Check\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -1311,10 +1192,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1580305574\"" - }, { "name": "expires", "value": "0" @@ -1328,12 +1205,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "131" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -1344,14 +1221,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.134Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:41.236Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -1359,15 +1236,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 9 } }, { - "_id": "996dfe7751e7a0d7d4e616e93535cf25", + "_id": "788f84832b115ddecf70fb6197162e1a", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1380,20 +1257,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1403,23 +1284,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 618, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1437,7 +1323,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1465,11 +1351,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:40 GMT" }, { "name": "keep-alive", @@ -1480,14 +1366,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.135Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.249Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -1495,15 +1381,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 54 } }, { - "_id": "41c773c232b700ee97639341ad461f77", + "_id": "852736e3bf7d46b8ab672a45c768eb8f", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1516,20 +1402,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1539,18 +1429,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 569, + "headersSize": 631, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 949, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 949, - "text": "{\"_id\":\"\",\"_rev\":\"-2097165782\",\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1568,7 +1468,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1582,10 +1482,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2097165782\"" - }, { "name": "expires", "value": "0" @@ -1600,11 +1496,11 @@ }, { "name": "content-length", - "value": "949" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -1615,14 +1511,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.135Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.307Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -1630,15 +1526,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 49 } }, { - "_id": "b26a03ad2a29757d280a26ebea4e3d3e", + "_id": "c1582cd0908b92ec27b4aed42f13b347", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1651,20 +1547,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1674,23 +1574,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 2245, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2245, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"cn=Directory Manager\",\"primaryLdapServer\":[\"localhost:50636\"],\"userSearchStartDN\":[\"dc=openam,dc=forgerock,dc=org\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAPS\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/prestonhales/am/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -1708,7 +1613,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -1736,11 +1641,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2245" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -1751,14 +1656,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.136Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.361Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -1766,11 +1671,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 50 } }, { - "_id": "1c37478e04a3db7d9cde5720465c32b8", + "_id": "2647940ae50b79d7f431c91534e3fb2c", "_order": 0, "cache": {}, "request": { @@ -1787,15 +1692,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -1810,18 +1715,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 575, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication/authenticationtrees" }, "response": { - "bodySize": 1163, + "bodySize": 117, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1163, - "text": "{\"_id\":\"\",\"_rev\":\"-1239124536\",\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" + "size": 117, + "text": "{\"_id\":\"\",\"_rev\":\"1047121059\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Authentication Trees Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -1855,7 +1760,7 @@ }, { "name": "etag", - "value": "\"-1239124536\"" + "value": "\"1047121059\"" }, { "name": "expires", @@ -1871,11 +1776,11 @@ }, { "name": "content-length", - "value": "1163" + "value": "117" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -1886,14 +1791,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.137Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.416Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -1901,11 +1806,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 2 } }, { - "_id": "57e9213351b2982ca9d30f3468d2bd78", + "_id": "0d273976f7cb8615d0f7eefecca5ee98", "_order": 0, "cache": {}, "request": { @@ -1922,15 +1827,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -1945,23 +1850,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -1979,7 +1884,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2007,11 +1912,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2022,14 +1927,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.137Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.422Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -2037,11 +1942,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 4 } }, { - "_id": "c6c93d35607a2cc6fe4a484b6bcc7be9", + "_id": "e769b011d89094c5d6c5962bbbc0727c", "_order": 0, "cache": {}, "request": { @@ -2058,15 +1963,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2081,18 +1986,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 554, + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 127, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 127, - "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2110,7 +2020,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2124,10 +2034,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1193526377\"" - }, { "name": "expires", "value": "0" @@ -2142,11 +2048,11 @@ }, { "name": "content-length", - "value": "127" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2157,14 +2063,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.138Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.431Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -2172,11 +2078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 2 } }, { - "_id": "bbb1533f6bafd1b6115bc5d903dd688d", + "_id": "2461b700422e3a6cbd891caadff4e9c9", "_order": 0, "cache": {}, "request": { @@ -2193,15 +2099,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2216,23 +2122,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 598, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 3505, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2250,7 +2156,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2278,11 +2184,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3505" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2293,14 +2199,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.138Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.438Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -2308,11 +2214,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 3 } }, { - "_id": "6ccc3dc796ae4e2e8d09a9062b019563", + "_id": "f2b816d038942f9491cab71932335c93", "_order": 0, "cache": {}, "request": { @@ -2329,15 +2235,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2352,18 +2258,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 147, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 147, - "text": "{\"_id\":\"\",\"_rev\":\"197569431\",\"requestHandlers\":[],\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2381,7 +2292,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2395,10 +2306,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"197569431\"" - }, { "name": "expires", "value": "0" @@ -2413,11 +2320,11 @@ }, { "name": "content-length", - "value": "147" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2428,14 +2335,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.139Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.445Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -2443,11 +2350,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 2 } }, { - "_id": "08998121189c015851592c4e2c36206b", + "_id": "7e98d74748df68ba7a6263e58c7fec56", "_order": 0, "cache": {}, "request": { @@ -2464,15 +2371,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2487,23 +2394,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 587, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2521,7 +2428,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2549,11 +2456,11 @@ }, { "name": "content-length", - "value": "13" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2564,14 +2471,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.139Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.452Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -2579,11 +2486,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 2 } }, { - "_id": "e5c50987759b28e178a22a06b8921007", + "_id": "98b9288352212752f60b81bf260b8500", "_order": 0, "cache": {}, "request": { @@ -2600,15 +2507,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -2623,18 +2530,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 601, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 301, + "bodySize": 182, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 301, - "text": "{\"_id\":\"\",\"_rev\":\"302817247\",\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}}" + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -2652,7 +2564,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -2666,10 +2578,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"302817247\"" - }, { "name": "expires", "value": "0" @@ -2684,11 +2592,11 @@ }, { "name": "content-length", - "value": "301" + "value": "182" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2699,14 +2607,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.140Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.459Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -2714,15 +2622,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 2 } }, { - "_id": "92c0a6a00d9c6acb82b35ef1ce066cb7", + "_id": "10ab138df840f1bbe158d0ec4fc6dc19", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -2735,20 +2643,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -2758,23 +2670,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 592, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 321, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 321, + "text": "{\"result\":[{\"storeTypes\":[\"EnvironmentAndSystemPropertySecretStore\",\"KeyStoreSecretStore\",\"GoogleSecretManagerSecretStoreProvider\",\"GoogleKeyManagementServiceSecretStore\",\"HsmSecretStore\",\"FileSystemSecretStore\"],\"_id\":\"GlobalSecrets\",\"_type\":{\"_id\":\"GlobalSecrets\",\"name\":\"Global Secrets Settings\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -2820,11 +2737,11 @@ }, { "name": "content-length", - "value": "13" + "value": "321" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -2835,14 +2752,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.140Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.465Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -2850,15 +2767,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 4 } }, { - "_id": "860c8c26449f0643c88df83bf80913b6", + "_id": "3390a06531c831ed59c684dd225c63b9", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -2871,154 +2788,23 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 567, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common" - }, - "response": { - "bodySize": 1850, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1850, - "text": "{\"_id\":\"\",\"_rev\":\"1228566638\",\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1228566638\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, { "name": "content-length", - "value": "1850" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 486, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.141Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "ae14330f552038a2bccd22ce65d3265f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" + "value": "2" }, { "name": "accept-encoding", @@ -3029,16 +2815,21 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 592, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -3063,7 +2854,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3095,7 +2886,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3112,8 +2903,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.141Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.473Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3121,15 +2912,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 3 } }, { - "_id": "90680889cf3393fcc200bca188068a72", + "_id": "13733c47f2daf768f909866ffa9fe2e7", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -3142,20 +2933,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -3165,18 +2960,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 558, + "headersSize": 616, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 574, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 574, - "text": "{\"_id\":\"\",\"_rev\":\"1264778823\",\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -3194,7 +2999,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3208,10 +3013,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1264778823\"" - }, { "name": "expires", "value": "0" @@ -3226,11 +3027,11 @@ }, { "name": "content-length", - "value": "574" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3241,14 +3042,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.142Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:41.480Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3256,15 +3057,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 3 } }, { - "_id": "bfb1e6e8b82f8a31219b7546ae34d438", + "_id": "495e428c463c3279681fcb798830e647", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -3277,20 +3078,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -3300,16 +3105,21 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 630, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -3334,7 +3144,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3366,7 +3176,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3383,8 +3193,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.142Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.488Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -3392,11 +3202,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 2 } }, { - "_id": "1e6746c063fda434ae9932431bbcbc9f", + "_id": "a92fbf6a95676ead13c4d7e1621eb0a1", "_order": 0, "cache": {}, "request": { @@ -3413,15 +3223,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -3436,18 +3246,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 557, + "headersSize": 539, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/serverinfo/*" }, "response": { - "bodySize": 160, + "bodySize": 563, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 160, - "text": "{\"_id\":\"\",\"_rev\":\"-2049191873\",\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 563, + "text": "{\"_id\":\"*\",\"_rev\":\"1352294770\",\"domains\":[null],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"iPlanetDirectoryPro\",\"secureCookie\":false,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":false,\"userIdAttributes\":[]}" }, "cookies": [], "headers": [ @@ -3461,11 +3271,11 @@ }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -3481,7 +3291,7 @@ }, { "name": "etag", - "value": "\"-2049191873\"" + "value": "\"1352294770\"" }, { "name": "expires", @@ -3497,11 +3307,11 @@ }, { "name": "content-length", - "value": "160" + "value": "563" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3518,8 +3328,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.144Z", - "time": 52, + "startedDateTime": "2024-11-06T16:35:41.494Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3527,11 +3337,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 52 + "wait": 3 } }, { - "_id": "64ff9b04badfbe7a92867ac7f6e7ead3", + "_id": "aa49f3ff76d93ac5b0dbc7d6f8a32b44", "_order": 0, "cache": {}, "request": { @@ -3548,15 +3358,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -3571,23 +3381,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 545, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/serverinfo/version" }, "response": { - "bodySize": 13, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 258, + "text": "{\"_id\":\"version\",\"_rev\":\"-1772220916\",\"version\":\"7.5.0\",\"fullVersion\":\"ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)\",\"revision\":\"89116d59a1ebe73ed1931dd3649adb7f217cd06b\",\"date\":\"2024-March-28 16:00\"}" }, "cookies": [], "headers": [ @@ -3601,7 +3406,7 @@ }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", @@ -3619,6 +3424,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1772220916\"" + }, { "name": "expires", "value": "0" @@ -3633,11 +3442,11 @@ }, { "name": "content-length", - "value": "13" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3648,14 +3457,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.144Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:41.501Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -3663,11 +3472,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 2 } }, { - "_id": "8a6544b71e9eafd8d57a8d358f3a4e74", + "_id": "c1f9b21132b93e7115da94f5a83f72b4", "_order": 0, "cache": {}, "request": { @@ -3684,15 +3493,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3707,18 +3516,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 1622, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"\",\"_rev\":\"1805413690\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" + "size": 1622, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"thingKeys\",\"retryLimitNodeCount\",\"thingType\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"thingConfig\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"thingProperties\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"thingOAuth2ClientName\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -3736,7 +3550,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -3750,10 +3564,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1805413690\"" - }, { "name": "expires", "value": "0" @@ -3768,11 +3578,11 @@ }, { "name": "content-length", - "value": "257" + "value": "1622" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3783,14 +3593,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.145Z", - "time": 52, + "startedDateTime": "2024-11-06T16:35:41.508Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -3798,11 +3608,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 52 + "wait": 2 } }, { - "_id": "3cbf2251cc837fc1a7a37249334e2efe", + "_id": "284e8e2c6bf3a8fa43271f86c475f77b", "_order": 0, "cache": {}, "request": { @@ -3819,15 +3629,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3842,23 +3652,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 587, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 793, + "bodySize": 1542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 793, - "text": "{\"result\":[{\"jsonFileRotation\":{\"rotationTimes\":[],\"rotationFileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"rotationMaxFileSize\":\"100000000\",\"rotationInterval\":\"-1\",\"rotationEnabled\":true},\"jsonFileRetention\":{\"retentionMaxDiskSpaceToUse\":\"-1\",\"retentionMaxNumberOfHistoryFiles\":\"1\",\"retentionMinFreeSpaceRequired\":\"-1\"},\"jsonConfig\":{\"rotationRetentionCheckInterval\":\"5\",\"location\":\"%BASE_DIR%/var/audit/\",\"elasticsearchCompatible\":false},\"jsonBuffering\":{\"bufferingMaxSize\":\"100000\",\"bufferingWriteInterval\":\"5\"},\"commonHandler\":{\"enabled\":true,\"topics\":[\"access\",\"activity\",\"config\",\"authentication\"]},\"commonHandlerPlugin\":{\"handlerFactory\":\"org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory\"},\"_id\":\"Global JSON Handler\",\"_type\":{\"_id\":\"JSON\",\"name\":\"JSON\",\"collection\":true}}]}" + "size": 1542, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":62,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -3876,7 +3686,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -3904,11 +3714,11 @@ }, { "name": "content-length", - "value": "793" + "value": "1542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -3919,14 +3729,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.145Z", - "time": 72, + "startedDateTime": "2024-11-06T16:35:41.515Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -3934,11 +3744,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 3 } }, { - "_id": "df2d51d1849244b2bdce55a223a31e37", + "_id": "0c4c212316c4b5fecb1dc306b9213247", "_order": 0, "cache": {}, "request": { @@ -3955,15 +3765,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -3978,18 +3788,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 601, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 510, + "bodySize": 1542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 510, - "text": "{\"_id\":\"\",\"_rev\":\"1539309580\",\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" + "size": 1542, + "text": "{\"result\":[\"iplanet-am-user-admin-start-dn\",\"push2faEnabled\",\"createTimestamp\",\"uid\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"iplanet-am-session-max-idle-time\",\"lastEmailSent\",\"oathDeviceProfiles\",\"userCertificate\",\"kbaInfo\",\"iplanet-am-auth-configuration\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"iplanet-am-session-service-status\",\"sun-fm-saml2-nameid-infokey\",\"iplanet-am-session-max-session-time\",\"sun-fm-saml2-nameid-info\",\"kbaInfoAttempts\",\"preferredtimezone\",\"memberOf\",\"userPassword\",\"pushDeviceProfiles\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"iplanet-am-session-max-caching-time\",\"dn\",\"webauthnDeviceProfiles\",\"mail\",\"objectClass\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"deviceProfiles\",\"inetUserStatus\",\"authorityRevocationList\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"sn\",\"telephoneNumber\",\"manager\",\"iplanet-am-user-password-reset-force-reset\",\"cn\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"givenName\",\"iplanet-am-user-success-url\",\"iplanet-am-session-get-valid-sessions\",\"postalAddress\",\"devicePrintProfiles\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"iplanet-am-user-login-status\"],\"resultCount\":62,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4007,7 +3822,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4021,10 +3836,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1539309580\"" - }, { "name": "expires", "value": "0" @@ -4039,11 +3850,11 @@ }, { "name": "content-length", - "value": "510" + "value": "1542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4054,14 +3865,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.146Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.521Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -4069,11 +3880,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 3 } }, { - "_id": "6802302e73e17463931c5e9f0e5c7a10", + "_id": "06e8d6eb7f64590e79c9176346ea74d3", "_order": 0, "cache": {}, "request": { @@ -4090,15 +3901,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4113,23 +3924,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 569, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -4147,7 +3958,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4175,11 +3986,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4190,14 +4001,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.146Z", - "time": 56, + "startedDateTime": "2024-11-06T16:35:41.529Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -4205,11 +4016,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 4 } }, { - "_id": "1469c7f1e1fca8b2b38bc1de2daba051", + "_id": "9ecf5e4820ad306d6dce52ef4ff90437", "_order": 0, "cache": {}, "request": { @@ -4226,15 +4037,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4249,18 +4060,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 395, + "bodySize": 1206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 395, - "text": "{\"_id\":\"\",\"_rev\":\"809911232\",\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -4278,7 +4094,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4292,10 +4108,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"809911232\"" - }, { "name": "expires", "value": "0" @@ -4310,11 +4122,11 @@ }, { "name": "content-length", - "value": "395" + "value": "1206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4325,14 +4137,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.147Z", - "time": 55, + "startedDateTime": "2024-11-06T16:35:41.538Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -4340,11 +4152,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 2 } }, { - "_id": "d74c13af1a35b7215588511b275beda8", + "_id": "9ce9f8208bcf496d74904cf3c5ad7f91", "_order": 0, "cache": {}, "request": { @@ -4361,15 +4173,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4384,23 +4196,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 1206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -4418,7 +4230,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -4446,11 +4258,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4461,14 +4273,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.147Z", - "time": 56, + "startedDateTime": "2024-11-06T16:35:41.544Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -4476,11 +4288,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 3 } }, { - "_id": "71a644272b08dd8b601889853d02e4f5", + "_id": "5e6829b1cf77274baadd39c5b2a78e56", "_order": 0, "cache": {}, "request": { @@ -4497,15 +4309,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -4520,18 +4332,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 549, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/webhooks" }, "response": { - "bodySize": 251, + "bodySize": 101, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 251, - "text": "{\"_id\":\"\",\"_rev\":\"-1336068590\",\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}" + "size": 101, + "text": "{\"_id\":\"\",\"_rev\":\"-124688335\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -4565,7 +4377,7 @@ }, { "name": "etag", - "value": "\"-1336068590\"" + "value": "\"-124688335\"" }, { "name": "expires", @@ -4581,11 +4393,11 @@ }, { "name": "content-length", - "value": "251" + "value": "101" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4596,14 +4408,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.148Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:41.550Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -4611,11 +4423,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 4 } }, { - "_id": "3832fbb15c176e939c76961b1eb31ced", + "_id": "0d21aba3571beb564eb6a439845dae0e", "_order": 0, "cache": {}, "request": { @@ -4632,15 +4444,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4655,23 +4467,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 473, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 473, + "text": "{\"result\":[{\"_id\":\"Cool Webhook\",\"_rev\":\"1386996185\",\"url\":\"test\",\"headers\":{\"accept\":\"*/*\",\"cool\":\"test\"},\"body\":\"body\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}},{\"_id\":\"Test Webhook\",\"_rev\":\"2105362594\",\"headers\":{\"accept\":\"*/*\"},\"body\":\"hello\",\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4689,7 +4501,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4717,11 +4529,11 @@ }, { "name": "content-length", - "value": "13" + "value": "473" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4732,14 +4544,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.148Z", - "time": 61, + "startedDateTime": "2024-11-06T16:35:41.558Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -4747,11 +4559,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 4 } }, { - "_id": "e931cc31a8916862a93e6b98b8a3ccf5", + "_id": "b7f9bd808e7b497cfdc6743976a03ad3", "_order": 0, "cache": {}, "request": { @@ -4768,15 +4580,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4791,18 +4603,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 432, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 432, - "text": "{\"_id\":\"\",\"_rev\":\"592757986\",\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" + "size": 273, + "text": "{\"result\":[{\"_id\":\"webhooks\",\"_rev\":\"1954901829\",\"headers\":{\"accept\":\"*/*\"},\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4820,7 +4637,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4834,10 +4651,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"592757986\"" - }, { "name": "expires", "value": "0" @@ -4852,11 +4665,11 @@ }, { "name": "content-length", - "value": "432" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -4867,14 +4680,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.149Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:41.566Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -4882,11 +4695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 4 } }, { - "_id": "2543c11b2f4e14c08672932c8442f532", + "_id": "0d325343bb64528cf8526c4d5680c8a6", "_order": 0, "cache": {}, "request": { @@ -4903,15 +4716,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -4926,23 +4739,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 605, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 273, + "text": "{\"result\":[{\"_id\":\"webhooks\",\"_rev\":\"1954901829\",\"headers\":{\"accept\":\"*/*\"},\"_type\":{\"_id\":\"webhooks\",\"name\":\"Webhook Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -4960,7 +4773,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -4988,11 +4801,11 @@ }, { "name": "content-length", - "value": "13" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5003,14 +4816,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.150Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.574Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -5018,11 +4831,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 3 } }, { - "_id": "98b2543f74b1861e3c986a5e72a6ceff", + "_id": "793a27f1bb756a04b52cdb6863ebc513", "_order": 0, "cache": {}, "request": { @@ -5039,15 +4852,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -5062,18 +4875,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 291, + "bodySize": 236, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 291, - "text": "{\"_id\":\"\",\"_rev\":\"-747878660\",\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -5091,7 +4909,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -5105,10 +4923,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-747878660\"" - }, { "name": "expires", "value": "0" @@ -5123,11 +4937,11 @@ }, { "name": "content-length", - "value": "291" + "value": "236" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5138,14 +4952,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.150Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.582Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -5153,11 +4967,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 5 } }, { - "_id": "9126e8dc362bb096776e49fcf4e6cfa7", + "_id": "b05de0403c6385f635b26a29de2e0b16", "_order": 0, "cache": {}, "request": { @@ -5174,15 +4988,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -5197,23 +5011,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 612, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 236, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -5231,7 +5045,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -5259,11 +5073,11 @@ }, { "name": "content-length", - "value": "13" + "value": "236" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5274,14 +5088,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.151Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.591Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -5289,11 +5103,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 3 } }, { - "_id": "a290e68730822468f00ec60ba9d902ff", + "_id": "cdd6ee5d9afcdeea7efeca5b757ce79a", "_order": 0, "cache": {}, "request": { @@ -5310,15 +5124,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "cookie", @@ -5333,18 +5147,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 626, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 2746, + "bodySize": 236, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2746, - "text": "{\"_id\":\"\",\"_rev\":\"768990089\",\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" + "size": 236, + "text": "{\"result\":[{\"_id\":\"ws\",\"_rev\":\"720692750\",\"_type\":{\"_id\":\"ws\",\"name\":\"Entity Descriptor \",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -5362,7 +5181,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -5376,10 +5195,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"768990089\"" - }, { "name": "expires", "value": "0" @@ -5394,11 +5209,11 @@ }, { "name": "content-length", - "value": "2746" + "value": "236" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5409,14 +5224,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.151Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.599Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -5424,11 +5239,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 6 } }, { - "_id": "f527a5e5d7c33133b663d3970e2498b9", + "_id": "76b32eba382ec9176be262a1048cdec2", "_order": 0, "cache": {}, "request": { @@ -5445,15 +5260,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5468,23 +5283,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 388, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 388, + "text": "{\"result\":[{\"_id\":\"01\",\"_rev\":\"-931963190\",\"url\":\"http://localhost:8080/am\",\"siteName\":null},{\"_id\":\"03\",\"_rev\":\"868438946\",\"url\":\"http://localhost:8081/am\",\"siteName\":\"testsite\"},{\"_id\":\"04\",\"_rev\":\"-931739121\",\"url\":\"http://localhost:8082/am\",\"siteName\":null}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -5502,7 +5317,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -5530,11 +5345,11 @@ }, { "name": "content-length", - "value": "13" + "value": "388" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5545,14 +5360,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.151Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.609Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -5560,11 +5375,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 3 } }, { - "_id": "8fb0cec6800f2411def5492d7024dd94", + "_id": "a881d34fa69200f99adfc9e71e2a6c6b", "_order": 0, "cache": {}, "request": { @@ -5581,15 +5396,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5604,18 +5419,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/advanced" }, "response": { - "bodySize": 219, + "bodySize": 645, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 219, - "text": "{\"_id\":\"\",\"_rev\":\"455613826\",\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" + "size": 645, + "text": "{\"_id\":\"01/properties/advanced\",\"_rev\":\"249278194\",\"com.sun.identity.urlconnection.useCache\":false,\"com.iplanet.am.serverMode\":true,\"com.sun.identity.sm.sms_object_class_name\":\"com.sun.identity.sm.SmsWrapperObject\",\"org.forgerock.embedded.dsadminport\":\"4444\",\"com.sun.embedded.sync.servers\":\"on\",\"com.sun.embedded.replicationport\":\"\",\"com.iplanet.security.SSLSocketFactoryImpl\":\"com.sun.identity.shared.ldap.factory.JSSESocketFactory\",\"com.sun.identity.common.systemtimerpool.size\":\"3\",\"bootstrap.file\":\"/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_\",\"com.iplanet.am.lbcookie.value\":\"01\",\"opensso.protocol.handler.pkgs\":\"\"}" }, "cookies": [], "headers": [ @@ -5649,7 +5464,7 @@ }, { "name": "etag", - "value": "\"455613826\"" + "value": "\"249278194\"" }, { "name": "expires", @@ -5665,11 +5480,11 @@ }, { "name": "content-length", - "value": "219" + "value": "645" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5686,8 +5501,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.152Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:41.616Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -5695,11 +5510,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 5 } }, { - "_id": "3fe697737a3a3b5f58f227c48474a7a6", + "_id": "097a8e6e4f3f8f245fbbd6c8ce7576c4", "_order": 0, "cache": {}, "request": { @@ -5716,15 +5531,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5739,23 +5554,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/cts" }, "response": { - "bodySize": 13, + "bodySize": 1197, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1197, + "text": "{\"_id\":\"01/properties/cts\",\"_rev\":\"54637957\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -5787,6 +5597,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"54637957\"" + }, { "name": "expires", "value": "0" @@ -5801,11 +5615,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1197" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5816,14 +5630,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.152Z", - "time": 50, + "startedDateTime": "2024-11-06T16:35:41.626Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -5831,11 +5645,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 5 } }, { - "_id": "c5e92ec298dc6780ab0a5d9471cfe061", + "_id": "2de9af30586fa3ef0c876107923ffdce", "_order": 0, "cache": {}, "request": { @@ -5852,15 +5666,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -5877,21 +5691,16 @@ ], "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/directoryConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 439, + "text": "{\"_id\":\"01/properties/directoryConfiguration\",\"_rev\":\"1780843127\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" }, "cookies": [], "headers": [ @@ -5923,6 +5732,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1780843127\"" + }, { "name": "expires", "value": "0" @@ -5937,11 +5750,11 @@ }, { "name": "content-length", - "value": "13" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -5952,14 +5765,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.153Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:41.635Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -5967,11 +5780,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 4 } }, { - "_id": "e72bf68fea3347e80c5eb2fa8be5864c", + "_id": "636cd7d41bb569a7d80cd609812779c4", "_order": 0, "cache": {}, "request": { @@ -5988,15 +5801,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6011,18 +5824,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/general" }, "response": { - "bodySize": 8676, + "bodySize": 903, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8676, - "text": "{\"_id\":\"\",\"_rev\":\"865723864\",\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 903, + "text": "{\"_id\":\"01/properties/general\",\"_rev\":\"34500925\",\"amconfig.header.site\":{\"singleChoiceSite\":\"[Empty]\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"/home/prestonhales/am\",\"inherited\":false},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":false},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6056,7 +5869,7 @@ }, { "name": "etag", - "value": "\"865723864\"" + "value": "\"34500925\"" }, { "name": "expires", @@ -6071,12 +5884,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "903" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6087,14 +5900,14 @@ "value": "keep-alive" } ], - "headersSize": 491, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.153Z", - "time": 53, + "startedDateTime": "2024-11-06T16:35:41.644Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -6102,11 +5915,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 5 } }, { - "_id": "afc5568192609fec2ef1713d080c7c90", + "_id": "1ef913d2a189c841927fa13a131df3af", "_order": 0, "cache": {}, "request": { @@ -6123,15 +5936,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6146,23 +5959,153 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/sdk" + }, + "response": { + "bodySize": 1309, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1309, + "text": "{\"_id\":\"01/properties/sdk\",\"_rev\":\"1350377529\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":true,\"inherited\":false},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um\",\"inherited\":false}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":false}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1350377529\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1309" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:41 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService?_action=nextdescendents" + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:41.654Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "dc0ffe73364c49fd72ece588ee23207e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 571, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/security" }, "response": { - "bodySize": 13, + "bodySize": 4198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4198, + "text": "{\"_id\":\"01/properties/security\",\"_rev\":\"1404076696\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"efSYcwIhr7uKH30rgciGTVTFzb63LhYu\",\"inherited\":false},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6194,6 +6137,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1404076696\"" + }, { "name": "expires", "value": "0" @@ -6208,11 +6155,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6223,14 +6170,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.154Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:41.664Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6238,11 +6185,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 6 } }, { - "_id": "e162b06688e44865625171daf618df47", + "_id": "b591cc4dc8949e995f0c298ba20e27ee", "_order": 0, "cache": {}, "request": { @@ -6259,15 +6206,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6286,14 +6233,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/session" }, "response": { - "bodySize": 423, + "bodySize": 915, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 423, - "text": "{\"_id\":\"\",\"_rev\":\"924957352\",\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" + "size": 915, + "text": "{\"_id\":\"01/properties/session\",\"_rev\":\"1624846473\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6327,7 +6274,7 @@ }, { "name": "etag", - "value": "\"924957352\"" + "value": "\"1624846473\"" }, { "name": "expires", @@ -6343,11 +6290,11 @@ }, { "name": "content-length", - "value": "423" + "value": "915" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6358,14 +6305,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.154Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.674Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -6373,11 +6320,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 5 } }, { - "_id": "3c74e21e7df8f9c4b8d63d75fbd1dd4a", + "_id": "af92a95f6908f2418301347c072b8792", "_order": 0, "cache": {}, "request": { @@ -6394,15 +6341,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6417,23 +6364,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/01/properties/uma" }, "response": { - "bodySize": 13, + "bodySize": 4121, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4121, + "text": "{\"_id\":\"01/properties/uma\",\"_rev\":\"545581705\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6465,6 +6407,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"545581705\"" + }, { "name": "expires", "value": "0" @@ -6479,11 +6425,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4121" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6494,14 +6440,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.155Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.683Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6509,11 +6455,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 6 } }, { - "_id": "b426584e95932cde24208134214e9b9f", + "_id": "57c0bda7be05bee3f75d473bf9838919", "_order": 0, "cache": {}, "request": { @@ -6530,15 +6476,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6557,14 +6503,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/advanced" }, "response": { - "bodySize": 215, + "bodySize": 89, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 215, - "text": "{\"_id\":\"\",\"_rev\":\"1196053395\",\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}}" + "size": 89, + "text": "{\"_id\":\"03/properties/advanced\",\"_rev\":\"1783933716\",\"com.iplanet.am.lbcookie.value\":\"03\"}" }, "cookies": [], "headers": [ @@ -6598,7 +6544,7 @@ }, { "name": "etag", - "value": "\"1196053395\"" + "value": "\"1783933716\"" }, { "name": "expires", @@ -6614,11 +6560,11 @@ }, { "name": "content-length", - "value": "215" + "value": "89" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6629,14 +6575,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.155Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.694Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6644,11 +6590,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 6 } }, { - "_id": "009e966ebde3f2ad58c3b35a0ba5ec15", + "_id": "2e2a078a0b525824f0ba0e8d24e4cadc", "_order": 0, "cache": {}, "request": { @@ -6665,15 +6611,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6688,23 +6634,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/cts" }, "response": { - "bodySize": 13, + "bodySize": 1198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1198, + "text": "{\"_id\":\"03/properties/cts\",\"_rev\":\"741925392\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -6736,6 +6677,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"741925392\"" + }, { "name": "expires", "value": "0" @@ -6750,11 +6695,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6765,14 +6710,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.156Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.704Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6780,11 +6725,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 6 } }, { - "_id": "81d596f2e5174de1ae0a3bbddb535c2d", + "_id": "2adbcd3aee2e99502460f798e06539d3", "_order": 0, "cache": {}, "request": { @@ -6801,15 +6746,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6824,18 +6769,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/directoryConfiguration" }, "response": { - "bodySize": 173, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 173, - "text": "{\"_id\":\"\",\"_rev\":\"1890693508\",\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 439, + "text": "{\"_id\":\"03/properties/directoryConfiguration\",\"_rev\":\"1105020653\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" }, "cookies": [], "headers": [ @@ -6869,7 +6814,7 @@ }, { "name": "etag", - "value": "\"1890693508\"" + "value": "\"1105020653\"" }, { "name": "expires", @@ -6885,11 +6830,11 @@ }, { "name": "content-length", - "value": "173" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -6906,8 +6851,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.156Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.714Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -6915,11 +6860,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 6 } }, { - "_id": "dbfbb0a2be1ccf047c24d2b7fb8992f7", + "_id": "a2cb229b8b8bac3797a39a3a633110ac", "_order": 0, "cache": {}, "request": { @@ -6936,15 +6881,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -6959,18 +6904,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 560, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/general" }, "response": { - "bodySize": 337, + "bodySize": 892, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"\",\"_rev\":\"-218398273\",\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}}" + "size": 892, + "text": "{\"_id\":\"03/properties/general\",\"_rev\":\"489979714\",\"amconfig.header.site\":{\"singleChoiceSite\":\"testsite\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"%BASE_DIR%\",\"inherited\":true},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":true},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7004,7 +6949,7 @@ }, { "name": "etag", - "value": "\"-218398273\"" + "value": "\"489979714\"" }, { "name": "expires", @@ -7020,11 +6965,11 @@ }, { "name": "content-length", - "value": "337" + "value": "892" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7035,14 +6980,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.156Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.724Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -7050,11 +6995,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 4 } }, { - "_id": "70d024a924629bde43db1b056ac6bb87", + "_id": "acc4748ee21e0fd541c38a7c241560da", "_order": 0, "cache": {}, "request": { @@ -7071,15 +7016,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7094,23 +7039,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/sdk" }, "response": { - "bodySize": 292, + "bodySize": 1309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 292, - "text": "{\"result\":[{\"enabled\":false,\"_id\":\"crest\",\"_type\":{\"_id\":\"crest\",\"name\":\"CREST Reporter\",\"collection\":true}},{\"password\":null,\"authenticationType\":\"BASIC\",\"username\":\"prometheus\",\"enabled\":false,\"_id\":\"prometheus\",\"_type\":{\"_id\":\"prometheus\",\"name\":\"Prometheus Reporter\",\"collection\":true}}]}" + "size": 1309, + "text": "{\"_id\":\"03/properties/sdk\",\"_rev\":\"171219686\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":false,\"inherited\":true},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um,sm\",\"inherited\":true}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7142,6 +7082,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"171219686\"" + }, { "name": "expires", "value": "0" @@ -7156,11 +7100,11 @@ }, { "name": "content-length", - "value": "292" + "value": "1309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7171,14 +7115,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.157Z", - "time": 57, + "startedDateTime": "2024-11-06T16:35:41.733Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -7186,11 +7130,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 5 } }, { - "_id": "e7ff435497aab17c86bdbe57492d9088", + "_id": "5c0735d74f97624f3ded9b8c5844ea75", "_order": 0, "cache": {}, "request": { @@ -7207,15 +7151,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7230,18 +7174,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/security" }, "response": { - "bodySize": 309, + "bodySize": 4176, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"\",\"_rev\":\"2008236181\",\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}}" + "size": 4176, + "text": "{\"_id\":\"03/properties/security\",\"_rev\":\"417066890\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"@AM_ENC_PWD@\",\"inherited\":true},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7275,7 +7219,7 @@ }, { "name": "etag", - "value": "\"2008236181\"" + "value": "\"417066890\"" }, { "name": "expires", @@ -7291,11 +7235,11 @@ }, { "name": "content-length", - "value": "309" + "value": "4176" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7312,8 +7256,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.158Z", - "time": 45, + "startedDateTime": "2024-11-06T16:35:41.744Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -7321,11 +7265,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 6 } }, { - "_id": "bd9aaf8dfcbc22dbea3a59fb719db7f8", + "_id": "6a4566581f6951ad4099be6fd8116ec7", "_order": 0, "cache": {}, "request": { @@ -7342,15 +7286,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7365,23 +7309,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 570, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/session" }, "response": { - "bodySize": 13, + "bodySize": 914, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 914, + "text": "{\"_id\":\"03/properties/session\",\"_rev\":\"672206508\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7413,6 +7352,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"672206508\"" + }, { "name": "expires", "value": "0" @@ -7427,11 +7370,11 @@ }, { "name": "content-length", - "value": "13" + "value": "914" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7442,14 +7385,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.158Z", - "time": 46, + "startedDateTime": "2024-11-06T16:35:41.754Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -7457,11 +7400,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 46 + "wait": 5 } }, { - "_id": "d285d036d3216dc6245461df018435a1", + "_id": "202ba7777ba99af0adab283397eb1807", "_order": 0, "cache": {}, "request": { @@ -7478,15 +7421,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7501,18 +7444,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/03/properties/uma" }, "response": { - "bodySize": 615, + "bodySize": 4122, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 615, - "text": "{\"_id\":\"\",\"_rev\":\"717872748\",\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" + "size": 4122, + "text": "{\"_id\":\"03/properties/uma\",\"_rev\":\"1629050849\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7546,7 +7489,7 @@ }, { "name": "etag", - "value": "\"717872748\"" + "value": "\"1629050849\"" }, { "name": "expires", @@ -7562,11 +7505,11 @@ }, { "name": "content-length", - "value": "615" + "value": "4122" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7577,14 +7520,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.158Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:41.763Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -7592,11 +7535,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 5 } }, { - "_id": "594d3ca2c676ca20da15605785b0c78e", + "_id": "c90d696d0f5790885ea99c76ee1b2b29", "_order": 0, "cache": {}, "request": { @@ -7613,15 +7556,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7636,23 +7579,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 571, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/advanced" }, "response": { - "bodySize": 13, + "bodySize": 85, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 85, + "text": "{\"_id\":\"04/properties/advanced\",\"_rev\":\"907315\",\"com.iplanet.am.lbcookie.value\":\"04\"}" }, "cookies": [], "headers": [ @@ -7684,6 +7622,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"907315\"" + }, { "name": "expires", "value": "0" @@ -7698,11 +7640,11 @@ }, { "name": "content-length", - "value": "13" + "value": "85" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7713,14 +7655,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 480, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.159Z", - "time": 46, + "startedDateTime": "2024-11-06T16:35:41.773Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -7728,11 +7670,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 46 + "wait": 4 } }, { - "_id": "c4357e29fc8dd7e1a5cb95a35d54c0f9", + "_id": "acba719b27e4600cd525c5e43d82bead", "_order": 0, "cache": {}, "request": { @@ -7749,15 +7691,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7772,18 +7714,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 553, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/cts" }, "response": { - "bodySize": 293, + "bodySize": 1199, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 293, - "text": "{\"_id\":\"\",\"_rev\":\"1825149804\",\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" + "size": 1199, + "text": "{\"_id\":\"04/properties/cts\",\"_rev\":\"1825761819\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.cts.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.max.connections\":{\"value\":\"100\",\"inherited\":true},\"org.forgerock.services.cts.store.page.size\":{\"value\":\"0\",\"inherited\":true},\"org.forgerock.services.cts.store.vlv.page.size\":{\"value\":\"1000\",\"inherited\":true}},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.cts.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.cts.store.heartbeat\":{\"value\":\"10\",\"inherited\":true},\"org.forgerock.services.cts.store.affinity.enabled\":{\"value\":null,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -7817,7 +7759,7 @@ }, { "name": "etag", - "value": "\"1825149804\"" + "value": "\"1825761819\"" }, { "name": "expires", @@ -7833,11 +7775,11 @@ }, { "name": "content-length", - "value": "293" + "value": "1199" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7848,14 +7790,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.159Z", - "time": 54, + "startedDateTime": "2024-11-06T16:35:41.782Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -7863,11 +7805,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 5 } }, { - "_id": "5439bb1dfcf36e6f51bfc824d11075de", + "_id": "f0ae244389fb259f64bded7b90f20999", "_order": 0, "cache": {}, "request": { @@ -7884,15 +7826,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -7907,18 +7849,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/directoryConfiguration" }, "response": { - "bodySize": 550, + "bodySize": 438, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 550, - "text": "{\"_id\":\"\",\"_rev\":\"-101444140\",\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}}" + "size": 438, + "text": "{\"_id\":\"04/properties/directoryConfiguration\",\"_rev\":\"391378788\",\"directoryConfiguration\":{\"minConnectionPool\":1,\"maxConnectionPool\":10,\"mtlsEnabled\":false,\"mtlsAlias\":\"\",\"mtlsKeyStoreFile\":\"\",\"mtlsKeyStoreType\":null,\"mtlsKeyStorePasswordFile\":\"\",\"mtlsKeyPasswordFile\":\"\",\"bindDn\":\"cn=Directory Manager\",\"bindPassword\":null},\"directoryServers\":[{\"hostName\":\"localhost\",\"serverName\":\"Server1\",\"connectionType\":\"SSL\",\"portNumber\":\"50636\"}]}" }, "cookies": [], "headers": [ @@ -7952,7 +7894,7 @@ }, { "name": "etag", - "value": "\"-101444140\"" + "value": "\"391378788\"" }, { "name": "expires", @@ -7968,11 +7910,11 @@ }, { "name": "content-length", - "value": "550" + "value": "438" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -7983,14 +7925,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.160Z", - "time": 45, + "startedDateTime": "2024-11-06T16:35:41.791Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -7998,11 +7940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 4 } }, { - "_id": "bb2814576a7b47b17e39bffc4cfe024e", + "_id": "d79528004eb47b289e1ec8c8e373c9e4", "_order": 0, "cache": {}, "request": { @@ -8019,15 +7961,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8042,23 +7984,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 570, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/general" }, "response": { - "bodySize": 13, + "bodySize": 891, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 891, + "text": "{\"_id\":\"04/properties/general\",\"_rev\":\"632839445\",\"amconfig.header.site\":{\"singleChoiceSite\":\"[Empty]\"},\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":{\"value\":\"%BASE_DIR%\",\"inherited\":true},\"com.iplanet.am.locale\":{\"value\":\"en_US\",\"inherited\":true},\"com.sun.identity.client.notification.url\":{\"value\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"inherited\":true},\"com.iplanet.am.util.xml.validating\":{\"value\":\"off\",\"inherited\":true}},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":{\"value\":\"off\",\"inherited\":true},\"com.sun.services.debug.mergeall\":{\"value\":\"on\",\"inherited\":true},\"com.iplanet.services.debug.directory\":{\"value\":\"%BASE_DIR%/var/debug\",\"inherited\":true}},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":{\"value\":\"localhost\",\"inherited\":true},\"com.iplanet.am.smtpport\":{\"value\":\"25\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8090,6 +8027,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"632839445\"" + }, { "name": "expires", "value": "0" @@ -8104,11 +8045,11 @@ }, { "name": "content-length", - "value": "13" + "value": "891" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8119,14 +8060,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.160Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:41.799Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8134,11 +8075,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 6 } }, { - "_id": "eb9875228ef7147e5de4621398c00c10", + "_id": "39c6616b0d9c6b956eb5a835961dc1be", "_order": 0, "cache": {}, "request": { @@ -8155,15 +8096,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8178,23 +8119,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/sdk" }, "response": { - "bodySize": 13, + "bodySize": 1309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1309, + "text": "{\"_id\":\"04/properties/sdk\",\"_rev\":\"301484734\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":{\"value\":false,\"inherited\":true},\"com.sun.identity.sm.notification.threadpool.size\":{\"value\":\"1\",\"inherited\":true}},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.event.connection.delay.between.retries\":{\"value\":\"3000\",\"inherited\":true},\"com.iplanet.am.event.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true},\"com.sun.am.event.connection.disable.list\":{\"value\":\"aci,um,sm\",\"inherited\":true}},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":{\"value\":\"3\",\"inherited\":true},\"com.iplanet.am.ldap.connection.delay.between.retries\":{\"value\":\"1000\",\"inherited\":true},\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":{\"value\":\"80,81,91\",\"inherited\":true}},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":{\"value\":\"10000\",\"inherited\":true}},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.user.expire.time\":{\"value\":\"15\",\"inherited\":true},\"com.iplanet.am.sdk.cache.entry.default.expire.time\":{\"value\":\"30\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8226,6 +8162,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"301484734\"" + }, { "name": "expires", "value": "0" @@ -8240,11 +8180,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8255,14 +8195,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.161Z", - "time": 45, + "startedDateTime": "2024-11-06T16:35:41.810Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8270,11 +8210,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 6 } }, { - "_id": "c223ae344d92f0076d56754f8ccf8d21", + "_id": "5fd751d7a58a40c5cae9a6b3e5b5a191", "_order": 0, "cache": {}, "request": { @@ -8291,15 +8231,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8314,18 +8254,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 554, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/security" }, "response": { - "bodySize": 225, + "bodySize": 4177, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 225, - "text": "{\"_id\":\"\",\"_rev\":\"672880621\",\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}}" + "size": 4177, + "text": "{\"_id\":\"04/properties/security\",\"_rev\":\"1733674858\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":{\"value\":\"@AM_ENC_PWD@\",\"inherited\":true},\"com.iplanet.security.encryptor\":{\"value\":\"com.iplanet.services.util.JCEEncryption\",\"inherited\":true},\"com.iplanet.security.SecureRandomFactoryImpl\":{\"value\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"inherited\":true},\"am.encryption.secret.enabled\":{\"value\":false,\"inherited\":true},\"am.encryption.secret.alias\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreFile\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keystoreType\":{\"value\":\"JCEKS\",\"inherited\":true},\"am.encryption.secret.keystorePass\":{\"value\":null,\"inherited\":true},\"am.encryption.secret.keyPass\":{\"value\":null,\"inherited\":true}},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":{\"value\":\"16384\",\"inherited\":true},\"com.iplanet.am.clientIPCheckEnabled\":{\"value\":false,\"inherited\":true}},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":{\"value\":\"iPlanetDirectoryPro\",\"inherited\":true},\"com.iplanet.am.cookie.secure\":{\"value\":false,\"inherited\":true},\"com.iplanet.am.cookie.encode\":{\"value\":false,\"inherited\":true}},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":{\"value\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storetype\":{\"value\":\"JCEKS\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.storepass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.keypass\":{\"value\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"inherited\":true},\"com.sun.identity.saml.xmlsig.certalias\":{\"value\":\"test\",\"inherited\":true}},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.port\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.ssl\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.mtlsenabled\":{\"value\":false,\"inherited\":true},\"com.sun.identity.crl.cache.directory.user\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.password\":{\"value\":null,\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchlocs\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.crl.cache.directory.searchattr\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":{\"value\":false,\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.url\":{\"value\":\"\",\"inherited\":true},\"com.sun.identity.authentication.ocsp.responder.nickname\":{\"value\":\"\",\"inherited\":true}},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":{\"value\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\",\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8359,7 +8299,7 @@ }, { "name": "etag", - "value": "\"672880621\"" + "value": "\"1733674858\"" }, { "name": "expires", @@ -8375,11 +8315,11 @@ }, { "name": "content-length", - "value": "225" + "value": "4177" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8390,14 +8330,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.161Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.820Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8405,11 +8345,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 6 } }, { - "_id": "b4511b714890cefdbbb02c19d8e3fef0", + "_id": "480f802b104643aa04fa93d0c56e0290", "_order": 0, "cache": {}, "request": { @@ -8426,15 +8366,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8449,18 +8389,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 559, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/session" }, "response": { - "bodySize": 131, + "bodySize": 915, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 915, + "text": "{\"_id\":\"04/properties/session\",\"_rev\":\"1733648607\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":{\"value\":\"5000\",\"inherited\":true},\"com.iplanet.am.session.invalidsessionmaxtime\":{\"value\":\"3\",\"inherited\":true}},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":{\"value\":\"60\",\"inherited\":true},\"com.iplanet.services.stats.state\":{\"value\":\"file\",\"inherited\":true},\"com.iplanet.services.stats.directory\":{\"value\":\"%BASE_DIR%/var/stats\",\"inherited\":true},\"com.sun.am.session.enableHostLookUp\":{\"value\":false,\"inherited\":true}},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":{\"value\":\"10\",\"inherited\":true},\"com.iplanet.am.notification.threadpool.threshold\":{\"value\":\"5000\",\"inherited\":true}},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":{\"value\":true,\"inherited\":true}}}" }, "cookies": [], "headers": [ @@ -8494,7 +8434,7 @@ }, { "name": "etag", - "value": "\"436796111\"" + "value": "\"1733648607\"" }, { "name": "expires", @@ -8510,11 +8450,142 @@ }, { "name": "content-length", - "value": "131" + "value": "915" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:41 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 456, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:41.831Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "896d1b036e99334f57ddeb7b23c5aaec", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/04/properties/uma" + }, + "response": { + "bodySize": 4121, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4121, + "text": "{\"_id\":\"04/properties/uma\",\"_rev\":\"409133365\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.resourcesets.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.resourcesets.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.umaaudit.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.umaaudit.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.max.connections\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":{\"value\":\"default\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.root.suffix\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.max.connections\":{\"value\":\"2\",\"inherited\":true}},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.mtls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.starttls.enabled\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.directory.name\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.loginid\":{\"value\":\"\",\"inherited\":true},\"org.forgerock.services.uma.labels.store.password\":{\"value\":null,\"inherited\":true},\"org.forgerock.services.uma.labels.store.heartbeat\":{\"value\":\"10\",\"inherited\":true}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"409133365\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4121" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8525,14 +8596,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.162Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.839Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -8540,11 +8611,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 6 } }, { - "_id": "fd4fcf8598b331acc953c22fb136578e", + "_id": "e622d264a11687d1d2818e6e640bd74f", "_order": 0, "cache": {}, "request": { @@ -8561,15 +8632,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8584,23 +8655,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 583, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/advanced" }, "response": { - "bodySize": 13, + "bodySize": 11880, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 11880, + "text": "{\"_id\":\"null/properties/advanced\",\"_rev\":\"2108849933\",\"com.iplanet.am.directory.ssl.enabled\":false,\"openam.auth.distAuthCookieName\":\"AMDistAuthCookie\",\"org.forgerock.services.default.store.max.connections\":\"\",\"org.forgerock.openam.ldap.dncache.expire.time\":\"0\",\"org.forgerock.openam.smtp.system.socket.write.timeout\":\"10000\",\"com.sun.identity.webcontainer\":\"WEB_CONTAINER\",\"com.sun.identity.security.checkcaller\":false,\"org.forgerock.services.cts.store.ttlsupport.exclusionlist\":\"\",\"org.forgerock.openam.ldap.keepalive.search.base\":\"\",\"org.forgerock.openam.idrepo.ldapv3.proxyauth.passwordreset.adminRequest\":\"isAdminPasswordChangeRequest\",\"openam.authentication.ignore_goto_during_logout\":false,\"com.sun.identity.saml.xmlsig.signatureprovider.class\":\"@XML_SIGNATURE_PROVIDER@\",\"openam.retained.http.request.headers\":\"X-DSAMEVersion\",\"com.sun.identity.url.readTimeout\":\"30000\",\"org.forgerock.openam.introspect.token.query.param.allowed\":false,\"openam.forbidden.to.copy.headers\":\"connection\",\"com.iplanet.am.lbcookie.value\":\"00\",\"com.sun.identity.plugin.log.class\":\"@LOG_PROVIDER_CLASS@\",\"com.iplanet.am.session.httpSession.enabled\":\"true\",\"com.sun.identity.saml.xmlsig.passwordDecoder\":\"@PASSWORD_DECODER_CLASS@\",\"org.forgerock.openam.scripting.maxinterpreterstackdepth\":\"10000\",\"com.iplanet.am.session.client.polling.enable\":false,\"com.iplanet.am.profile.port\":\"%SERVER_PORT%\",\"com.sun.identity.authentication.uniqueCookieName\":\"sunIdentityServerAuthNServer\",\"org.forgerock.openam.httpclienthandler.system.clients.pool.ttl\":\"-1\",\"com.iplanet.am.profile.host\":\"%SERVER_HOST%\",\"org.forgerock.openam.smtp.system.socket.read.timeout\":\"10000\",\"org.forgerock.openam.encryption.key.digest\":\"SHA1\",\"org.forgerock.openam.session.stateless.signing.allownone\":false,\"org.forgerock.openam.encryption.key.size\":\"128\",\"com.iplanet.am.logstatus\":\"ACTIVE\",\"org.forgerock.am.auth.trees.authenticate.identified.identity\":true,\"com.iplanet.am.jssproxy.trustAllServerCerts\":false,\"com.sun.identity.plugin.monitoring.saml2.class\":\"@MONSAML2_PROVIDER_CLASS@\",\"com.iplanet.am.installdir\":\"%BASE_DIR%\",\"org.forgerock.openam.trees.ids.cache.size\":\"50\",\"org.forgerock.openam.authentication.forceAuth.enabled\":false,\"org.forgerock.openam.httpclienthandler.system.proxy.uri\":\"\",\"com.sun.identity.jss.donotInstallAtHighestPriority\":true,\"org.forgerock.openam.idrepo.ldapv3.passwordpolicy.allowDiagnosticMessage\":false,\"com.sun.identity.enableUniqueSSOTokenCookie\":false,\"org.forgerock.services.cts.store.ttlsupport.enabled\":false,\"com.iplanet.am.serverMode\":true,\"org.forgerock.openam.timerpool.shutdown.retry.multiplier\":\"1.5\",\"dynamic.datastore.creation.enabled\":false,\"com.sun.identity.am.cookie.check\":false,\"org.forgerock.openam.core.resource.lookup.cache.enabled\":true,\"securidHelper.ports\":\"58943\",\"org.forgerock.openam.ldap.keepalive.search.filter\":\"(objectClass=*)\",\"org.forgerock.openam.saml2.authenticatorlookup.skewAllowance\":\"60\",\"org.forgerock.openam.url.connectTimeout\":\"1000\",\"com.sun.identity.plugin.monitoring.agent.class\":\"@MONAGENT_PROVIDER_CLASS@\",\"com.iplanet.am.buildVersion\":\"ForgeRock Access Management 7.5.0\",\"com.sun.identity.cookie.httponly\":true,\"org.forgerock.openam.sso.providers.list\":\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOProvider\",\"com.iplanet.am.pcookie.name\":\"DProPCookie\",\"com.sun.identity.policy.Policy.policy_evaluation_weights\":\"10:10:10\",\"org.forgerock.openam.secrets.special.user.passwords.format\":\"ENCRYPTED_PLAIN\",\"openam.auth.session_property_upgrader\":\"org.forgerock.openam.authentication.service.DefaultSessionPropertyUpgrader\",\"com.iplanet.am.session.client.polling.period\":\"180\",\"org.forgerock.openam.httpclienthandler.system.clients.connection.timeout\":\"10 seconds\",\"com.sun.identity.authentication.super.user\":\"uid=amAdmin,ou=People,%ROOT_SUFFIX%\",\"com.sun.identity.saml.xmlsig.keyprovider.class\":\"@XMLSIG_KEY_PROVIDER@\",\"org.forgerock.openam.timerpool.shutdown.retry.interval\":\"15000\",\"org.forgerock.services.openid.request.object.lifespan\":\"120000\",\"org.forgerock.am.auth.node.otp.inSharedState\":false,\"org.forgerock.openam.trees.consumedstatedata.cache.size\":\"15\",\"org.forgerock.openam.httpclienthandler.system.proxy.password\":null,\"org.forgerock.openam.showServletTraceInBrowser\":false,\"org.forgerock.openam.oauth2.checkIssuerForIdTokenInfo\":true,\"com.iplanet.am.version\":\"ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)\",\"com.iplanet.am.cookie.c66Encode\":true,\"org.forgerock.openam.radius.server.context.cache.size\":\"5000\",\"com.iplanet.am.jssproxy.checkSubjectAltName\":false,\"com.sun.identity.server.fqdnMap[hello]\":\"hello\",\"com.sun.am.event.notification.expire.time\":\"5\",\"com.sun.identity.server.fqdnMap[openam-frodo-dev.classic.com]\":\"openam-frodo-dev.classic.com\",\"org.forgerock.openam.httpclienthandler.system.clients.max.connections\":\"64\",\"openam.auth.version.header.enabled\":false,\"org.forgerock.openam.timerpool.shutdown.retry.limit\":\"3\",\"openam.serviceattributevalidator.classes.whitelist\":\"org.forgerock.openam.auth.nodes.validators.GreaterThanZeroValidator,org.forgerock.openam.auth.nodes.validators.HMACKeyLengthValidator,org.forgerock.openam.auth.nodes.validators.HmacSigningKeyValidator,org.forgerock.openam.auth.nodes.validators.PercentageValidator,org.forgerock.openam.auth.nodes.validators.QueryFilterValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyNameValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyValidator,org.forgerock.openam.auth.nodes.framework.validators.NodeValueValidator,org.forgerock.openam.audit.validation.PositiveIntegerValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.AlphaNumericValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.CodeLengthValidator,org.forgerock.openam.authentication.modules.persistentcookie.validation.SigningKeyValidator,com.sun.identity.common.configuration.DuplicateKeyMapValueValidator,com.sun.identity.common.configuration.AgentClientIpModeValueValidator,com.sun.identity.common.configuration.FilterModeValueValidator,com.sun.identity.common.configuration.GlobalMapValueValidator,com.sun.identity.common.configuration.ListValueValidator,com.sun.identity.common.configuration.MapValueValidator,com.sun.identity.common.configuration.ServerPropertyValidator,com.sun.identity.policy.ResourceComparatorValidator,com.sun.identity.sm.EmailValidator,com.sun.identity.sm.IPAddressValidator,com.sun.identity.sm.RequiredValueValidator,com.sun.identity.sm.ServerIDValidator,com.sun.identity.sm.SiteIDValidator,org.forgerock.openam.sm.validation.Base64EncodedBinaryValidator,org.forgerock.openam.sm.validation.BlankValueValidator,org.forgerock.openam.sm.validation.DurationValidator,org.forgerock.openam.sm.validation.EndpointValidator,org.forgerock.openam.sm.validation.HostnameValidator,org.forgerock.openam.sm.validation.PortValidator,org.forgerock.openam.sm.validation.SecretIdValidator,org.forgerock.openam.sm.validation.StatelessSessionSigningAlgorithmValidator,org.forgerock.openam.sm.validation.StringMapValidator,org.forgerock.openam.sm.validation.URLValidator,org.forgerock.openam.selfservice.config.KeyAliasValidator,org.forgerock.openam.sm.validation.UniqueIndexedValuesValidator,org.forgerock.openam.webhook.HttpHeaderValidator,org.forgerock.oauth2.core.ClientRedirectUriValidator\",\"org.forgerock.openam.core.sms.placeholder_api_enabled\":\"OFF\",\"org.forgerock.openam.session.service.persistence.deleteAsynchronously\":true,\"org.forgerock.openam.ldap.heartbeat.timeout\":\"10\",\"com.iplanet.security.SSLSocketFactoryImpl\":\"com.sun.identity.shared.ldap.factory.JSSESocketFactory\",\"com.sun.identity.session.repository.enableAttributeCompression\":false,\"org.forgerock.openam.httpclienthandler.system.nonProxyHosts\":\"localhost,127.*,[::1],0.0.0.0,[::0]\",\"org.forgerock.am.auth.chains.authindexuser.strict\":true,\"org.forgerock.security.entitlement.enforce.realm\":true,\"org.forgerock.allow.http.client.debug\":false,\"org.forgerock.openam.auth.transactionauth.returnErrorOnAuthFailure\":false,\"org.forgerock.openam.httpclienthandler.system.clients.retry.failed.requests.enabled\":true,\"org.forgerock.openam.authLevel.excludeRequiredOrRequisite\":false,\"org.forgerock.openam.redirecturlvalidator.maxUrlLength\":\"2000\",\"org.forgerock.openam.secrets.special.user.secret.refresh.seconds\":\"900\",\"com.iplanet.am.session.agentSessionIdleTime\":\"1440\",\"org.forgerock.openam.idm.attribute.names.lower.case\":false,\"org.forgerock.openam.ldap.secure.protocol.version\":\"TLSv1.3,TLSv1.2\",\"com.sun.identity.server.fqdnMap[openam]\":\"openam\",\"com.sun.identity.authentication.special.users\":\"cn=dsameuser,ou=DSAME Users,%ROOT_SUFFIX%|cn=amService-UrlAccessAgent,ou=DSAME Users,%ROOT_SUFFIX%\",\"org.forgerock.openam.httpclienthandler.system.clients.reuse.connections.enabled\":true,\"com.sun.identity.plugin.configuration.class\":\"@CONFIGURATION_PROVIDER_CLASS@\",\"com.iplanet.am.buildDate\":\"2024-March-28 16:00\",\"org.forgerock.openam.console.autocomplete.enabled\":true,\"com.sun.identity.monitoring\":\"off\",\"org.forgerock.openidconnect.ssoprovider.maxcachesize\":\"5000\",\"org.forgerock.openam.httpclienthandler.system.clients.response.timeout\":\"10 seconds\",\"org.forgerock.openam.request.max.bytes.entity.size\":\"1048576\",\"openam.session.case.sensitive.uuid\":false,\"com.sun.identity.cookie.samesite\":\"off\",\"org.forgerock.openam.xui.user.session.validation.enabled\":true,\"com.sun.identity.authentication.multiple.tabs.used\":false,\"openam.auth.destroy_session_after_upgrade\":true,\"org.forgerock.openam.session.stateless.encryption.method\":\"A128CBC-HS256\",\"com.sun.identity.plugin.session.class\":\"@SESSION_PROVIDER_CLASS@\",\"com.sun.identity.authentication.setCookieToAllDomains\":true,\"com.sun.identity.server.fqdnMap[localhost]\":\"localhost\",\"com.sun.identity.server.fqdnMap[secondDNS]\":\"secondDNS\",\"org.forgerock.services.cts.store.reaper.enabled\":true,\"org.forgerock.openam.httpclienthandler.system.proxy.username\":\"\",\"com.sun.identity.auth.cookieName\":\"AMAuthCookie\",\"com.sun.embedded.sync.servers\":\"on\",\"com.iplanet.am.daemons\":\"securid\",\"com.iplanet.am.jssproxy.resolveIPAddress\":false,\"openam.oauth2.client.jwt.encryption.algorithm.allow.list\":\"RSA-OAEP,RSA-OAEP-256,ECDH-ES\",\"com.sun.identity.policy.resultsCacheResourceCap\":\"20\",\"org.forgerock.openam.slf4j.enableTraceInMessage\":false,\"com.iplanet.am.buildRevision\":\"89116d59a1ebe73ed1931dd3649adb7f217cd06b\",\"com.sun.identity.policy.resultsCacheMaxSize\":\"10000\",\"com.sun.identity.sm.cache.ttl.enable\":false,\"com.sun.identity.session.repository.enableCompression\":false,\"org.forgerock.openam.session.stateless.rsa.padding\":\"RSA-OAEP-256\",\"com.sun.identity.server.fqdnMap[dnsfirst]\":\"dnsfirst\",\"openam.forbidden.to.copy.request.headers\":\"connection\",\"org.forgerock.openam.notifications.agents.enabled\":true,\"com.iplanet.am.jssproxy.SSLTrustHostList\":\"\",\"org.forgerock.openam.devices.recovery.use_insecure_storage\":false,\"com.sun.identity.sm.cache.ttl\":\"30\",\"org.forgerock.openam.audit.identity.activity.events.blacklist\":\"AM-ACCESS-ATTEMPT,AM-IDENTITY-CHANGE,AM-GROUP-CHANGE\",\"org.forgerock.openam.smtp.system.connect.timeout\":\"10000\",\"org.forgerock.openam.encryption.key.iterations\":\"10000\",\"openam.cdm.default.charset\":\"UTF-8\",\"com.sun.identity.session.repository.enableEncryption\":false,\"org.forgerock.security.oauth2.enforce.sub.claim.uniqueness\":true,\"org.forgerock.services.default.store.min.connections\":\"\",\"com.sun.identity.password.deploymentDescriptor\":\"%SERVER_URI%\",\"com.sun.identity.monitoring.local.conn.server.url\":\"service:jmx:rmi://\",\"com.sun.identity.plugin.datastore.class.default\":\"@DATASTORE_PROVIDER_CLASS@\",\"com.iplanet.am.lbcookie.name\":\"amlbcookie\",\"org.forgerock.openam.audit.additionalSuccessStatusCodesEnabled\":true,\"openam.oauth2.client.jwt.unreasonable.lifetime.limit.minutes\":\"30\",\"org.forgerock.openam.httpclienthandler.system.proxy.enabled\":false,\"openam.retained.http.headers\":\"X-DSAMEVersion\"}" }, "cookies": [], "headers": [ @@ -8632,6 +8698,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2108849933\"" + }, { "name": "expires", "value": "0" @@ -8645,12 +8715,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8661,14 +8731,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.162Z", - "time": 51, + "startedDateTime": "2024-11-06T16:35:41.849Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -8676,11 +8746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 51 + "wait": 5 } }, { - "_id": "3e2b17ebbb1d1bdefaeebfdf27d464c6", + "_id": "db874776b6ddc4cab171e9d5ad3a86be", "_order": 0, "cache": {}, "request": { @@ -8697,15 +8767,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8720,18 +8790,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 578, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/cts" }, "response": { - "bodySize": 210, + "bodySize": 793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 210, - "text": "{\"_id\":\"\",\"_rev\":\"-1449091672\",\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" + "size": 793, + "text": "{\"_id\":\"null/properties/cts\",\"_rev\":\"1084624696\",\"amconfig.org.forgerock.services.cts.store.common.section\":{\"org.forgerock.services.cts.store.location\":\"default\",\"org.forgerock.services.cts.store.root.suffix\":\"\",\"org.forgerock.services.cts.store.max.connections\":\"100\",\"org.forgerock.services.cts.store.page.size\":\"0\",\"org.forgerock.services.cts.store.vlv.page.size\":\"1000\"},\"amconfig.org.forgerock.services.cts.store.external.section\":{\"org.forgerock.services.cts.store.ssl.enabled\":\"\",\"org.forgerock.services.cts.store.mtls.enabled\":\"\",\"org.forgerock.services.cts.store.starttls.enabled\":\"\",\"org.forgerock.services.cts.store.directory.name\":\"\",\"org.forgerock.services.cts.store.loginid\":\"\",\"org.forgerock.services.cts.store.password\":null,\"org.forgerock.services.cts.store.heartbeat\":\"10\"}}" }, "cookies": [], "headers": [ @@ -8765,7 +8835,7 @@ }, { "name": "etag", - "value": "\"-1449091672\"" + "value": "\"1084624696\"" }, { "name": "expires", @@ -8781,11 +8851,11 @@ }, { "name": "content-length", - "value": "210" + "value": "793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8796,14 +8866,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.163Z", - "time": 48, + "startedDateTime": "2024-11-06T16:35:41.859Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -8811,11 +8881,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 5 } }, { - "_id": "6380d20e535bf6bdc7586dc857494067", + "_id": "c93f015ddf74f429eced0549ef6aeafa", "_order": 0, "cache": {}, "request": { @@ -8832,15 +8902,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8855,23 +8925,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 597, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/directoryConfiguration" }, "response": { - "bodySize": 797, + "bodySize": 107, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 797, - "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + "size": 107, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Unrecognised server properties section directoryConfiguration\"}" }, "cookies": [], "headers": [ @@ -8917,11 +8982,11 @@ }, { "name": "content-length", - "value": "797" + "value": "107" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -8935,11 +9000,11 @@ "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:39.163Z", - "time": 49, + "startedDateTime": "2024-11-06T16:35:41.869Z", + "time": 24, "timings": { "blocked": -1, "connect": -1, @@ -8947,11 +9012,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 49 + "wait": 24 } }, { - "_id": "871d773960955014a30ab316e7e64a9b", + "_id": "2d165ac1899dcae019eaa8fb6069be95", "_order": 0, "cache": {}, "request": { @@ -8968,15 +9033,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -8991,23 +9056,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 582, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/general" }, "response": { - "bodySize": 13, + "bodySize": 596, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 596, + "text": "{\"_id\":\"null/properties/general\",\"_rev\":\"150315965\",\"amconfig.header.installdir\":{\"com.iplanet.services.configpath\":\"%BASE_DIR%\",\"com.iplanet.am.locale\":\"en_US\",\"com.sun.identity.client.notification.url\":\"%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice\",\"com.iplanet.am.util.xml.validating\":\"off\"},\"amconfig.header.debug\":{\"com.iplanet.services.debug.level\":\"off\",\"com.sun.services.debug.mergeall\":\"on\",\"com.iplanet.services.debug.directory\":\"%BASE_DIR%/var/debug\"},\"amconfig.header.mailserver\":{\"com.iplanet.am.smtphost\":\"localhost\",\"com.iplanet.am.smtpport\":\"25\"}}" }, "cookies": [], "headers": [ @@ -9040,140 +9100,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "13" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 464, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.166Z", - "time": 45, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 45 - } - }, - { - "_id": "c0b6297f4137d115573ac570b1248d3c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 598, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"150315965\"" }, { "name": "expires", @@ -9189,11 +9117,11 @@ }, { "name": "content-length", - "value": "13" + "value": "596" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9204,14 +9132,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.167Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:41.899Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9219,11 +9147,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 6 } }, { - "_id": "a0d810781428518d1cf0ff2225e15208", + "_id": "341075ec107a360d509c9417c6af2818", "_order": 0, "cache": {}, "request": { @@ -9240,15 +9168,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9263,18 +9191,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 573, + "headersSize": 578, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/sdk" }, "response": { - "bodySize": 160, + "bodySize": 960, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 160, - "text": "{\"_id\":\"\",\"_rev\":\"646894732\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 960, + "text": "{\"_id\":\"null/properties/sdk\",\"_rev\":\"875719689\",\"amconfig.header.datastore\":{\"com.sun.identity.sm.enableDataStoreNotification\":false,\"com.sun.identity.sm.notification.threadpool.size\":\"1\"},\"amconfig.header.eventservice\":{\"com.iplanet.am.event.connection.num.retries\":\"3\",\"com.iplanet.am.event.connection.delay.between.retries\":\"3000\",\"com.iplanet.am.event.connection.ldap.error.codes.retries\":\"80,81,91\",\"com.sun.am.event.connection.disable.list\":\"aci,um,sm\"},\"amconfig.header.ldapconnection\":{\"com.iplanet.am.ldap.connection.num.retries\":\"3\",\"com.iplanet.am.ldap.connection.delay.between.retries\":\"1000\",\"com.iplanet.am.ldap.connection.ldap.error.codes.retries\":\"80,81,91\"},\"amconfig.header.cachingreplica\":{\"com.iplanet.am.sdk.cache.maxSize\":\"10000\"},\"amconfig.header.sdktimetoliveconfig\":{\"com.iplanet.am.sdk.cache.entry.expire.enabled\":false,\"com.iplanet.am.sdk.cache.entry.user.expire.time\":\"15\",\"com.iplanet.am.sdk.cache.entry.default.expire.time\":\"30\"}}" }, "cookies": [], "headers": [ @@ -9308,7 +9236,7 @@ }, { "name": "etag", - "value": "\"646894732\"" + "value": "\"875719689\"" }, { "name": "expires", @@ -9324,11 +9252,11 @@ }, { "name": "content-length", - "value": "160" + "value": "960" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9345,8 +9273,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.167Z", - "time": 42, + "startedDateTime": "2024-11-06T16:35:41.910Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -9354,11 +9282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 42 + "wait": 5 } }, { - "_id": "94fcb9a483ac462f0735765d2b5fedd2", + "_id": "c1517199158e2db3b6509ac8d51ad7fc", "_order": 0, "cache": {}, "request": { @@ -9375,15 +9303,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9398,18 +9326,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 574, + "headersSize": 583, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/security" }, "response": { - "bodySize": 532, + "bodySize": 3190, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 532, - "text": "{\"_id\":\"\",\"_rev\":\"-1117800721\",\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" + "size": 3190, + "text": "{\"_id\":\"null/properties/security\",\"_rev\":\"1342052946\",\"amconfig.header.encryption\":{\"am.encryption.pwd\":\"@AM_ENC_PWD@\",\"com.iplanet.security.encryptor\":\"com.iplanet.services.util.JCEEncryption\",\"com.iplanet.security.SecureRandomFactoryImpl\":\"com.iplanet.am.util.SecureRandomFactoryImpl\",\"am.encryption.secret.enabled\":false,\"am.encryption.secret.keystoreType\":\"JCEKS\"},\"amconfig.header.validation\":{\"com.iplanet.services.comm.server.pllrequest.maxContentLength\":\"16384\",\"com.iplanet.am.clientIPCheckEnabled\":false},\"amconfig.header.cookie\":{\"com.iplanet.am.cookie.name\":\"iPlanetDirectoryPro\",\"com.iplanet.am.cookie.secure\":false,\"com.iplanet.am.cookie.encode\":false},\"amconfig.header.securitykey\":{\"com.sun.identity.saml.xmlsig.keystore\":\"%BASE_DIR%/security/keystores/keystore.jceks\",\"com.sun.identity.saml.xmlsig.storetype\":\"JCEKS\",\"com.sun.identity.saml.xmlsig.storepass\":\"%BASE_DIR%/security/secrets/default/.storepass\",\"com.sun.identity.saml.xmlsig.keypass\":\"%BASE_DIR%/security/secrets/default/.keypass\",\"com.sun.identity.saml.xmlsig.certalias\":\"test\"},\"amconfig.header.crlcache\":{\"com.sun.identity.crl.cache.directory.host\":\"\",\"com.sun.identity.crl.cache.directory.port\":\"\",\"com.sun.identity.crl.cache.directory.ssl\":false,\"com.sun.identity.crl.cache.directory.mtlsenabled\":false,\"com.sun.identity.crl.cache.directory.user\":\"\",\"com.sun.identity.crl.cache.directory.password\":null,\"com.sun.identity.crl.cache.directory.searchlocs\":\"\",\"com.sun.identity.crl.cache.directory.searchattr\":\"\"},\"amconfig.header.ocsp.check\":{\"com.sun.identity.authentication.ocspCheck\":false,\"com.sun.identity.authentication.ocsp.responder.url\":\"\",\"com.sun.identity.authentication.ocsp.responder.nickname\":\"\"},\"amconfig.header.deserialisationwhitelist\":{\"openam.deserialisation.classes.whitelist\":\"com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction\"}}" }, "cookies": [], "headers": [ @@ -9443,7 +9371,7 @@ }, { "name": "etag", - "value": "\"-1117800721\"" + "value": "\"1342052946\"" }, { "name": "expires", @@ -9459,11 +9387,11 @@ }, { "name": "content-length", - "value": "532" + "value": "3190" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9480,8 +9408,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.168Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:41.920Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9489,11 +9417,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 6 } }, { - "_id": "98b5fc8fededd470eda67098a115b5a1", + "_id": "f25f59cd8c87b00fe97dc737bae572a7", "_order": 0, "cache": {}, "request": { @@ -9510,15 +9438,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9533,23 +9461,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 582, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/session" }, "response": { - "bodySize": 13, + "bodySize": 673, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 673, + "text": "{\"_id\":\"null/properties/session\",\"_rev\":\"606411648\",\"amconfig.header.sessionthresholds\":{\"org.forgerock.openam.session.service.access.persistence.caching.maxsize\":\"5000\",\"com.iplanet.am.session.invalidsessionmaxtime\":\"3\"},\"amconfig.header.sessionlogging\":{\"com.iplanet.am.stats.interval\":\"60\",\"com.iplanet.services.stats.state\":\"file\",\"com.iplanet.services.stats.directory\":\"%BASE_DIR%/var/stats\",\"com.sun.am.session.enableHostLookUp\":false},\"amconfig.header.sessionnotification\":{\"com.iplanet.am.notification.threadpool.size\":\"10\",\"com.iplanet.am.notification.threadpool.threshold\":\"5000\"},\"amconfig.header.sessionvalidation\":{\"com.sun.am.session.caseInsensitiveDN\":true}}" }, "cookies": [], "headers": [ @@ -9581,6 +9504,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"606411648\"" + }, { "name": "expires", "value": "0" @@ -9595,11 +9522,11 @@ }, { "name": "content-length", - "value": "13" + "value": "673" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9610,14 +9537,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.168Z", - "time": 42, + "startedDateTime": "2024-11-06T16:35:41.930Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -9625,11 +9552,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 42 + "wait": 7 } }, { - "_id": "054212a4f9e5244cf886befe5ccfc5db", + "_id": "040321953539e88019711b33160bb408", "_order": 0, "cache": {}, "request": { @@ -9646,15 +9573,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9669,18 +9596,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 553, + "headersSize": 578, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/servers/server-default/properties/uma" }, "response": { - "bodySize": 703, + "bodySize": 3044, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 703, - "text": "{\"_id\":\"\",\"_rev\":\"-401765880\",\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}}" + "size": 3044, + "text": "{\"_id\":\"null/properties/uma\",\"_rev\":\"1415099326\",\"amconfig.org.forgerock.services.resourcesets.store.common.section\":{\"org.forgerock.services.resourcesets.store.location\":\"default\",\"org.forgerock.services.resourcesets.store.root.suffix\":\"\",\"org.forgerock.services.resourcesets.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.resourcesets.store.external.section\":{\"org.forgerock.services.resourcesets.store.ssl.enabled\":\"\",\"org.forgerock.services.resourcesets.store.mtls.enabled\":\"\",\"org.forgerock.services.resourcesets.store.starttls.enabled\":\"\",\"org.forgerock.services.resourcesets.store.directory.name\":\"\",\"org.forgerock.services.resourcesets.store.loginid\":\"\",\"org.forgerock.services.resourcesets.store.password\":null,\"org.forgerock.services.resourcesets.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.umaaudit.store.common.section\":{\"org.forgerock.services.umaaudit.store.location\":\"default\",\"org.forgerock.services.umaaudit.store.root.suffix\":\"\",\"org.forgerock.services.umaaudit.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.umaaudit.store.external.section\":{\"org.forgerock.services.umaaudit.store.ssl.enabled\":\"\",\"org.forgerock.services.umaaudit.store.mtls.enabled\":\"\",\"org.forgerock.services.umaaudit.store.starttls.enabled\":\"\",\"org.forgerock.services.umaaudit.store.directory.name\":\"\",\"org.forgerock.services.umaaudit.store.loginid\":\"\",\"org.forgerock.services.umaaudit.store.password\":null,\"org.forgerock.services.umaaudit.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.uma.pendingrequests.store.common.section\":{\"org.forgerock.services.uma.pendingrequests.store.location\":\"default\",\"org.forgerock.services.uma.pendingrequests.store.root.suffix\":\"\",\"org.forgerock.services.uma.pendingrequests.store.max.connections\":\"10\"},\"amconfig.org.forgerock.services.uma.pendingrequests.store.external.section\":{\"org.forgerock.services.uma.pendingrequests.store.ssl.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.mtls.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.starttls.enabled\":\"\",\"org.forgerock.services.uma.pendingrequests.store.directory.name\":\"\",\"org.forgerock.services.uma.pendingrequests.store.loginid\":\"\",\"org.forgerock.services.uma.pendingrequests.store.password\":null,\"org.forgerock.services.uma.pendingrequests.store.heartbeat\":\"10\"},\"amconfig.org.forgerock.services.uma.labels.store.common.section\":{\"org.forgerock.services.uma.labels.store.location\":\"default\",\"org.forgerock.services.uma.labels.store.root.suffix\":\"\",\"org.forgerock.services.uma.labels.store.max.connections\":\"2\"},\"amconfig.org.forgerock.services.uma.labels.store.external.section\":{\"org.forgerock.services.uma.labels.store.ssl.enabled\":\"\",\"org.forgerock.services.uma.labels.store.mtls.enabled\":\"\",\"org.forgerock.services.uma.labels.store.starttls.enabled\":\"\",\"org.forgerock.services.uma.labels.store.directory.name\":\"\",\"org.forgerock.services.uma.labels.store.loginid\":\"\",\"org.forgerock.services.uma.labels.store.password\":null,\"org.forgerock.services.uma.labels.store.heartbeat\":\"10\"}}" }, "cookies": [], "headers": [ @@ -9714,7 +9641,7 @@ }, { "name": "etag", - "value": "\"-401765880\"" + "value": "\"1415099326\"" }, { "name": "expires", @@ -9730,11 +9657,11 @@ }, { "name": "content-length", - "value": "703" + "value": "3044" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9745,14 +9672,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.169Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:41.942Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -9760,15 +9687,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 6 } }, { - "_id": "db5cbf0a88777f45b69914803ca46613", + "_id": "1a5863470a1ab2fa84422ade3f6422f8", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -9781,20 +9708,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -9804,23 +9735,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 578, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/agents?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 107, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 107, + "text": "{\"result\":[{\"_id\":\"AgentService\",\"_type\":{\"_id\":\"AgentService\",\"name\":\"AgentService\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -9866,11 +9802,11 @@ }, { "name": "content-length", - "value": "13" + "value": "107" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -9881,14 +9817,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.169Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:41.953Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -9896,11 +9832,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 3 } }, { - "_id": "118fe29414bfcf218c9c225007cda660", + "_id": "19457f41bdd07bd5b8952336c527d39e", "_order": 0, "cache": {}, "request": { @@ -9917,15 +9853,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -9940,18 +9876,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/authentication" }, "response": { - "bodySize": 221, + "bodySize": 3971, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"\",\"_rev\":\"-77106074\",\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}}" + "size": 3971, + "text": "{\"_id\":\"\",\"_rev\":\"-524457684\",\"keepPostProcessInstances\":false,\"ldapConnectionPoolSize\":[],\"ldapConnectionPoolDefaultSize\":\"1:10\",\"remoteAuthSecurityEnabled\":false,\"authenticators\":[\"com.sun.identity.authentication.modules.ad.AD\",\"org.forgerock.openam.authentication.modules.saml2.SAML2\",\"org.forgerock.openam.authentication.modules.social.SocialAuthInstagram\",\"org.forgerock.openam.authentication.modules.oath.OATH\",\"org.forgerock.openam.authentication.modules.social.SocialAuthVK\",\"com.sun.identity.authentication.modules.membership.Membership\",\"com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave\",\"com.sun.identity.authentication.modules.federation.Federation\",\"org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch\",\"com.sun.identity.authentication.modules.jdbc.JDBC\",\"com.sun.identity.authentication.modules.radius.RADIUS\",\"com.sun.identity.authentication.modules.anonymous.Anonymous\",\"com.sun.identity.authentication.modules.cert.Cert\",\"org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration\",\"com.sun.identity.authentication.modules.httpbasic.HTTPBasic\",\"org.forgerock.openam.authentication.modules.oidc.OpenIdConnect\",\"com.sun.identity.authentication.modules.sae.SAE\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChat\",\"org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie\",\"org.forgerock.openam.authentication.modules.social.SocialAuthTwitter\",\"com.sun.identity.authentication.modules.ldap.LDAP\",\"org.forgerock.openam.authentication.modules.push.AuthenticatorPush\",\"org.forgerock.openam.authentication.modules.oauth2.OAuth\",\"com.sun.identity.authentication.modules.nt.NT\",\"org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile\",\"org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession\",\"com.sun.identity.authentication.modules.application.Application\",\"org.forgerock.openam.authentication.modules.scripted.Scripted\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2\",\"com.sun.identity.authentication.modules.hotp.HOTP\",\"org.forgerock.openam.authentication.modules.adaptive.Adaptive\",\"org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck\",\"org.forgerock.openam.authentication.modules.social.SocialAuthOpenID\",\"com.sun.identity.authentication.modules.msisdn.MSISDN\",\"org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH\",\"com.sun.identity.authentication.modules.datastore.DataStore\",\"com.sun.identity.authentication.modules.securid.SecurID\",\"org.forgerock.openam.authentication.modules.amster.Amster\"],\"defaults\":{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"core\":{\"adminAuthModule\":\"[Empty]\",\"orgConfig\":\"[Empty]\"},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[]}},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -9985,7 +9921,7 @@ }, { "name": "etag", - "value": "\"-77106074\"" + "value": "\"-524457684\"" }, { "name": "expires", @@ -10001,11 +9937,11 @@ }, { "name": "content-length", - "value": "221" + "value": "3971" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10016,14 +9952,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.170Z", - "time": 37, + "startedDateTime": "2024-11-06T16:35:41.961Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -10031,11 +9967,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 37 + "wait": 4 } }, { - "_id": "46dbb3e41f5cca4424133bad967f8588", + "_id": "16d632c4e98c9799fb70d4bccb25689b", "_order": 0, "cache": {}, "request": { @@ -10052,11 +9988,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10075,23 +10011,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 3649, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3649, + "text": "{\"result\":[{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"_rev\":\"174804341\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"_rev\":\"53221913\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"_rev\":\"205440228\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"CONFIG_PROVIDER_NODE\",\"_rev\":\"726117364\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"LIBRARY\",\"_rev\":\"-1014751146\",\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"_rev\":\"479572448\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"_rev\":\"1681578003\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"_rev\":\"-217903654\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_MAY_ACT\",\"_rev\":\"1563659557\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"_rev\":\"-202793511\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"_rev\":\"509150550\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OIDC_CLAIMS\",\"_rev\":\"1421470992\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"POLICY_CONDITION\",\"_rev\":\"931675236\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ADAPTER\",\"_rev\":\"-422764199\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"_rev\":\"-1478330973\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_SP_ADAPTER\",\"_rev\":\"1169311323\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"_rev\":\"650762075\",\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -10109,7 +10045,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -10137,11 +10073,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3649" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10152,14 +10088,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.170Z", - "time": 40, + "startedDateTime": "2024-11-06T16:35:41.981Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -10167,11 +10103,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 40 + "wait": 7 } }, { - "_id": "666bbf74cef6d480f38a85a433d6fb13", + "_id": "f7638b04cf78292c6bbda9d8d2a62fa4", "_order": 0, "cache": {}, "request": { @@ -10188,11 +10124,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10211,18 +10147,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 569, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_CLIENT_SIDE/engineConfiguration" }, "response": { - "bodySize": 289, + "bodySize": 55, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 289, - "text": "{\"_id\":\"\",\"_rev\":\"264274185\",\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}}" + "size": 55, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Not Found\"}" }, "cookies": [], "headers": [ @@ -10255,8 +10191,135 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"264274185\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "55" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:41 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:35:41.992Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "3e997bea8b917eb8667357e8fe763ccd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 562, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_CLIENT_SIDE" + }, + "response": { + "bodySize": 112, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 112, + "text": "{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"allowLists\":{},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -10272,11 +10335,11 @@ }, { "name": "content-length", - "value": "289" + "value": "112" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10287,14 +10350,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.171Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.002Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -10302,11 +10365,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 2 } }, { - "_id": "2d6f6519950a4f89e1231a6584b08b17", + "_id": "22e2b710e1c0e17e85fd0f4f08a4f9ee", "_order": 0, "cache": {}, "request": { @@ -10323,11 +10386,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10346,23 +10409,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 615, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_SERVER_SIDE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2616, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2616, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1242010927\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10394,6 +10452,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1242010927\"" + }, { "name": "expires", "value": "0" @@ -10408,11 +10470,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2616" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10423,14 +10485,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.171Z", - "time": 43, + "startedDateTime": "2024-11-06T16:35:42.008Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -10438,11 +10500,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 43 + "wait": 4 } }, { - "_id": "25ba1d71d0d0a758cf0fc87814e33305", + "_id": "6f61f37b8b74589b0ecaafbbaf33f222", "_order": 0, "cache": {}, "request": { @@ -10459,11 +10521,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10482,23 +10544,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 562, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_SERVER_SIDE" }, "response": { - "bodySize": 13, + "bodySize": 4585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4585, + "text": "{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"allowLists\":{\"1.0\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -10544,11 +10601,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4585" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10559,14 +10616,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.172Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:42.016Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -10574,11 +10631,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 3 } }, { - "_id": "b6a2ca29b40c72e5615f444f96d44536", + "_id": "97c6692450070ff53fc332483aed0a48", "_order": 0, "cache": {}, "request": { @@ -10595,11 +10652,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10618,18 +10675,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/AUTHENTICATION_TREE_DECISION_NODE/engineConfiguration" }, "response": { - "bodySize": 158, + "bodySize": 4951, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 158, - "text": "{\"_id\":\"\",\"_rev\":\"-1844260382\",\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 4951, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1438338842\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10663,7 +10720,7 @@ }, { "name": "etag", - "value": "\"-1844260382\"" + "value": "\"-1438338842\"" }, { "name": "expires", @@ -10679,11 +10736,11 @@ }, { "name": "content-length", - "value": "158" + "value": "4951" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10694,14 +10751,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.172Z", - "time": 42, + "startedDateTime": "2024-11-06T16:35:42.024Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -10709,11 +10766,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 42 + "wait": 4 } }, { - "_id": "08221c1ba5e9d241df0d31281cf428fd", + "_id": "fe16ad9a5f96bacfb05a37d2435148d8", "_order": 0, "cache": {}, "request": { @@ -10730,11 +10787,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10753,18 +10810,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/AUTHENTICATION_TREE_DECISION_NODE" }, "response": { - "bodySize": 149, + "bodySize": 6542, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 149, - "text": "{\"_id\":\"\",\"_rev\":\"-1375352311\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 6542, + "text": "{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"org.forgerock.util.promise.Promises$*\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\",\"2.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -10796,10 +10853,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1375352311\"" - }, { "name": "expires", "value": "0" @@ -10814,11 +10867,11 @@ }, { "name": "content-length", - "value": "149" + "value": "6542" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10829,14 +10882,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.173Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:42.033Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -10844,11 +10897,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 2 } }, { - "_id": "6d502387369dca8362490c18ad2fea27", + "_id": "efd20541787ffcba94886234e641beae", "_order": 0, "cache": {}, "request": { @@ -10865,11 +10918,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -10888,23 +10941,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 609, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/CONFIG_PROVIDER_NODE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 4951, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4951, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1438338842\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10936,6 +10984,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1438338842\"" + }, { "name": "expires", "value": "0" @@ -10950,11 +11002,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4951" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -10965,14 +11017,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.173Z", - "time": 39, + "startedDateTime": "2024-11-06T16:35:42.040Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -10980,11 +11032,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 3 } }, { - "_id": "dff6ae73d1f57c4056922e398d7c4868", + "_id": "99a0ec3498522a2bfc17d616942919be", "_order": 0, "cache": {}, "request": { @@ -11001,11 +11053,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11024,23 +11076,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 556, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/CONFIG_PROVIDER_NODE" }, "response": { - "bodySize": 13, + "bodySize": 9249, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 9249, + "text": "{\"_id\":\"CONFIG_PROVIDER_NODE\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.InvalidKeySpecException\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.protocol.Cookie\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"org.mozilla.javascript.ConsString\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11085,12 +11132,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11101,14 +11148,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.174Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.047Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -11116,11 +11163,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 2 } }, { - "_id": "824ac842d846422b330604053d231372", + "_id": "3dce3e4e24a95ccf6ad25810df54461a", "_order": 0, "cache": {}, "request": { @@ -11137,11 +11184,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11160,18 +11207,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 555, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/LIBRARY/engineConfiguration" }, "response": { - "bodySize": 269, + "bodySize": 2338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 269, - "text": "{\"_id\":\"\",\"_rev\":\"-1519962359\",\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11205,7 +11252,7 @@ }, { "name": "etag", - "value": "\"-1519962359\"" + "value": "\"-2082742270\"" }, { "name": "expires", @@ -11221,11 +11268,11 @@ }, { "name": "content-length", - "value": "269" + "value": "2338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11236,14 +11283,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.174Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.054Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11251,11 +11298,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 3 } }, { - "_id": "71cd40ac77e59b1ece5c4fca0f3d191a", + "_id": "7bb52c152803b2cb253731cd07069498", "_order": 0, "cache": {}, "request": { @@ -11272,11 +11319,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11295,23 +11342,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 543, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/LIBRARY" }, "response": { - "bodySize": 13, + "bodySize": 2068, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2068, + "text": "{\"_id\":\"LIBRARY\",\"allowLists\":{\"1.0\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\",\"jdk.proxy*\"],\"2.0\":[\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" }, "cookies": [], "headers": [ @@ -11357,11 +11399,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2068" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11372,14 +11414,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.175Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:42.062Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -11387,11 +11429,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 4 } }, { - "_id": "184da6965f916475471a348d602e72f0", + "_id": "12e93dbaa6441873c248d1e3ce9d0c9a", "_order": 0, "cache": {}, "request": { @@ -11408,11 +11450,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11431,18 +11473,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 621, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION/engineConfiguration" }, "response": { - "bodySize": 223, + "bodySize": 3292, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"\",\"_rev\":\"-1376583802\",\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" + "size": 3292, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1760532983\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11476,7 +11518,7 @@ }, { "name": "etag", - "value": "\"-1376583802\"" + "value": "\"1760532983\"" }, { "name": "expires", @@ -11492,11 +11534,11 @@ }, { "name": "content-length", - "value": "223" + "value": "3292" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11513,8 +11555,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.175Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.072Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11522,11 +11564,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 3 } }, { - "_id": "aa8d0efd6027cf434cdf7717533d5129", + "_id": "22c0a0bf531d2a8b3200bc65fe8d5320", "_order": 0, "cache": {}, "request": { @@ -11543,11 +11585,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11566,18 +11608,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 568, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION" }, "response": { - "bodySize": 154, + "bodySize": 5945, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 154, - "text": "{\"_id\":\"\",\"_rev\":\"952091551\",\"defaults\":{\"timeToLive\":\"180\"},\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" + "size": 5945, + "text": "{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11609,10 +11651,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"952091551\"" - }, { "name": "expires", "value": "0" @@ -11627,11 +11665,11 @@ }, { "name": "content-length", - "value": "154" + "value": "5945" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11642,14 +11680,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.176Z", - "time": 31, + "startedDateTime": "2024-11-06T16:35:42.080Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11657,11 +11695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 31 + "wait": 3 } }, { - "_id": "0f0d0a4b453852d74dd95eb75158145d", + "_id": "590496941437141af4df07b280849bac", "_order": 0, "cache": {}, "request": { @@ -11678,11 +11716,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11701,23 +11739,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 628, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 2761, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 2761, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-151612412\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11749,6 +11782,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-151612412\"" + }, { "name": "expires", "value": "0" @@ -11763,11 +11800,11 @@ }, { "name": "content-length", - "value": "13" + "value": "2761" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11778,14 +11815,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.176Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.088Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11793,11 +11830,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 3 } }, { - "_id": "906eb3085924f249274ad9bf9413de4f", + "_id": "24c859a64a8f946085cf4de6bd249e1c", "_order": 0, "cache": {}, "request": { @@ -11814,11 +11851,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11837,18 +11874,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 561, + "headersSize": 575, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER" }, "response": { - "bodySize": 115, + "bodySize": 4890, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 115, - "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + "size": 4890, + "text": "{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -11880,10 +11917,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"515901845\"" - }, { "name": "expires", "value": "0" @@ -11898,11 +11931,11 @@ }, { "name": "content-length", - "value": "115" + "value": "4890" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -11913,14 +11946,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.177Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.095Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -11928,11 +11961,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 3 } }, { - "_id": "b1c6a0d5b2c3fa4321123ce891a0b536", + "_id": "bb40284b4bb08a6ca96f9fd3dda516f5", "_order": 0, "cache": {}, "request": { @@ -11949,11 +11982,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -11972,23 +12005,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_EVALUATE_SCOPE/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 3292, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3292, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1760532983\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12020,6 +12048,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1760532983\"" + }, { "name": "expires", "value": "0" @@ -12034,11 +12066,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3292" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12049,14 +12081,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.177Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.102Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -12064,11 +12096,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 3 } }, { - "_id": "4cb14745eb57c6e8f52b8c1c55244d88", + "_id": "bd7f598dcb6148d7aca49853ca1ce273", "_order": 0, "cache": {}, "request": { @@ -12085,11 +12117,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12108,18 +12140,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_EVALUATE_SCOPE" }, "response": { - "bodySize": 218, + "bodySize": 5934, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 218, - "text": "{\"_id\":\"\",\"_rev\":\"-407983627\",\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" + "size": 5934, + "text": "{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12151,10 +12183,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-407983627\"" - }, { "name": "expires", "value": "0" @@ -12169,11 +12197,11 @@ }, { "name": "content-length", - "value": "218" + "value": "5934" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12184,14 +12212,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.178Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:42.110Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -12199,11 +12227,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 3 } }, { - "_id": "567afac7b64fac9fc44eee1ee3f9629f", + "_id": "a03cd05f5ad4ec4f08036a755cf2c5c5", "_order": 0, "cache": {}, "request": { @@ -12220,11 +12248,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12243,23 +12271,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 603, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_MAY_ACT/engineConfiguration" }, "response": { - "bodySize": 13, + "bodySize": 3400, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 3400, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"738425546\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12291,6 +12314,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"738425546\"" + }, { "name": "expires", "value": "0" @@ -12305,11 +12332,11 @@ }, { "name": "content-length", - "value": "13" + "value": "3400" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12320,14 +12347,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.178Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.119Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -12335,11 +12362,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 3 } }, { - "_id": "48812618994142d904f197bd7436cfd6", + "_id": "ce0d7115970cb5402748ade1eeb37f45", "_order": 0, "cache": {}, "request": { @@ -12356,11 +12383,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12379,18 +12406,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 550, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_MAY_ACT" }, "response": { - "bodySize": 163, + "bodySize": 6145, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 163, - "text": "{\"_id\":\"\",\"_rev\":\"2076588921\",\"enabled\":true,\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}" + "size": 6145, + "text": "{\"_id\":\"OAUTH2_MAY_ACT\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12422,10 +12449,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2076588921\"" - }, { "name": "expires", "value": "0" @@ -12440,11 +12463,11 @@ }, { "name": "content-length", - "value": "163" + "value": "6145" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12455,14 +12478,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.179Z", - "time": 27, + "startedDateTime": "2024-11-06T16:35:42.128Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -12470,11 +12493,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 27 + "wait": 3 } }, { - "_id": "c1ff5d9924add9877b5de2aae1899253", + "_id": "5ad4e420ba12c60b636f93e30334f26a", "_order": 0, "cache": {}, "request": { @@ -12491,11 +12514,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12514,23 +12537,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 615, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_SCRIPTED_JWT_ISSUER/engineConfiguration" }, "response": { - "bodySize": 201, + "bodySize": 2812, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 201, - "text": "{\"result\":[{\"disallowedSecretNamePatterns\":[],\"allowedRealms\":[\"*\"],\"allowedSecretNamePatterns\":[\"*\"],\"_id\":\"default\",\"_type\":{\"_id\":\"serviceAccounts\",\"name\":\"GCP Service Account\",\"collection\":true}}]}" + "size": 2812, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1296464777\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12562,6 +12580,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1296464777\"" + }, { "name": "expires", "value": "0" @@ -12576,11 +12598,11 @@ }, { "name": "content-length", - "value": "201" + "value": "2812" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12591,14 +12613,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.179Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.135Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -12606,11 +12628,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 3 } }, { - "_id": "eb697468085abfef6b608e5d514d9750", + "_id": "31af9d67174577cf242857693b9cbe1c", "_order": 0, "cache": {}, "request": { @@ -12627,11 +12649,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -12650,23 +12672,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/realms/?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_SCRIPTED_JWT_ISSUER" }, "response": { - "bodySize": 540, + "bodySize": 4979, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 540, - "text": "{\"result\":[{\"_id\":\"Lw\",\"_rev\":\"492331277\",\"parentPath\":null,\"active\":true,\"name\":\"/\",\"aliases\":[\"localhost\",\"openam-frodo-dev.classic.com\",\"openam\",\"testurl.com\"]},{\"_id\":\"L2ZpcnN0\",\"_rev\":\"1051737267\",\"parentPath\":\"/\",\"active\":true,\"name\":\"first\",\"aliases\":[\"one\",\"dnsfirst\"]},{\"_id\":\"L2ZpcnN0L3NlY29uZA\",\"_rev\":\"-1167290418\",\"parentPath\":\"/first\",\"active\":false,\"name\":\"second\",\"aliases\":[\"secondDNS\",\"second\"]}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 4979, + "text": "{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12684,7 +12701,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -12712,11 +12729,142 @@ }, { "name": "content-length", - "value": "540" + "value": "4979" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:41 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 437, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:42.142Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "9b4112f8137e969f5052f0b6acee7308", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OAUTH2_VALIDATE_SCOPE/engineConfiguration" + }, + "response": { + "bodySize": 2733, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2733, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-171597141\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-171597141\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2733" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12727,13 +12875,13 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.226Z", + "startedDateTime": "2024-11-06T16:35:42.148Z", "time": 3, "timings": { "blocked": -1, @@ -12746,7 +12894,7 @@ } }, { - "_id": "d6b1ddcc1a60b3acba7ba0383d6c2f61", + "_id": "2a48a27ee9e372bfa709ca69089311e7", "_order": 0, "cache": {}, "request": { @@ -12763,15 +12911,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -12786,23 +12934,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 575, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OAUTH2_VALIDATE_SCOPE" }, "response": { - "bodySize": 275, + "bodySize": 4816, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"result\":[{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-419353115\",\"entityId\":\"Test Entity\",\"location\":\"hosted\",\"roles\":[\"identityProvider\",\"serviceProvider\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 4816, + "text": "{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -12820,7 +12963,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -12848,11 +12991,11 @@ }, { "name": "content-length", - "value": "275" + "value": "4816" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -12863,14 +13006,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.234Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.155Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -12878,11 +13021,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "b7f90fbbb1bc9e5b328ec4bc16a64c91", + "_id": "00693c5092c49c926187999dbbd86813", "_order": 0, "cache": {}, "request": { @@ -12899,15 +13042,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -12922,18 +13065,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 600, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2/hosted/VGVzdCBFbnRpdHk" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/OIDC_CLAIMS/engineConfiguration" }, "response": { - "bodySize": 7102, + "bodySize": 3099, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7102, - "text": "{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-1034855459\",\"entityId\":\"Test Entity\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\",\"binary\":false}]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}]},\"assertionTime\":{\"notBeforeTimeSkew\":600,\"effectiveTime\":600},\"basicAuthentication\":{},\"assertionCache\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"localConfiguration\":{}},\"services\":{\"metaAlias\":\"/test\",\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/ArtifactResolver/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPSloSoap/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPMniSoap/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SSORedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SSOPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SSOSoap/metaAlias/test\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/NIMSoap/metaAlias/test\"}],\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"http://localhost:8080/am/AIDReqUri/IDPRole/metaAlias/test\"}]},\"advanced\":{\"saeConfiguration\":{\"idpUrl\":\"http://localhost:8080/am/idpsaehandler/metaAlias/test\"},\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"sessionSynchronization\":{},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"}}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}]},\"autoFederation\":{},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{\"spAdapterScript\":\"[Empty]\"}},\"services\":{\"metaAlias\":\"/test2\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPSloSoap/metaAlias/test2\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"http://localhost:8080/am/Consumer/ECP/metaAlias/test2\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"http://localhost:8080/am/spsaehandler/metaAlias/test2\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + "size": 3099, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1974522490\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -12967,7 +13110,7 @@ }, { "name": "etag", - "value": "\"-1034855459\"" + "value": "\"-1974522490\"" }, { "name": "expires", @@ -12983,11 +13126,11 @@ }, { "name": "content-length", - "value": "7102" + "value": "3099" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13004,8 +13147,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.243Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:42.161Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -13013,11 +13156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 3 } }, { - "_id": "f413738e5b3c3d850a98db6d9acacf68", + "_id": "92911d4ed1389c93cda6eed7f9c407dd", "_order": 0, "cache": {}, "request": { @@ -13034,15 +13177,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13057,36 +13200,20 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 583, + "headersSize": 547, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "entityid", - "value": "Test Entity" - }, - { - "name": "realm", - "value": "/" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/saml2/jsp/exportmetadata.jsp?entityid=Test%20Entity&realm=%2F" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/OIDC_CLAIMS" }, "response": { - "bodySize": 12743, + "bodySize": 5536, "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 12743, - "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + "mimeType": "application/json;charset=UTF-8", + "size": 5536, + "text": "{\"_id\":\"OIDC_CLAIMS\",\"allowLists\":{\"1.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"],\"2.0\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, - "cookies": [ - { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "value": "" - } - ], + "cookies": [], "headers": [ { "name": "x-frame-options", @@ -13097,9 +13224,28 @@ "value": "nosniff" }, { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; HttpOnly" + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" }, { "name": "pragma", @@ -13107,15 +13253,15 @@ }, { "name": "content-type", - "value": "text/xml;charset=utf-8" + "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "5536" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13126,14 +13272,14 @@ "value": "keep-alive" } ], - "headersSize": 310, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.253Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.169Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -13141,11 +13287,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "16b4d6835311083e9a04b8f180be0624", + "_id": "23cbbdb7b73975aea63de01780c01d9d", "_order": 0, "cache": {}, "request": { @@ -13162,15 +13308,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13185,23 +13331,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 605, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/POLICY_CONDITION/engineConfiguration" }, "response": { - "bodySize": 293, + "bodySize": 2338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 293, - "text": "{\"result\":[{\"_id\":\"Test COT\",\"_rev\":\"-2140927674\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1918867096\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"java.util.Collections$EmptyList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13219,7 +13360,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13233,6 +13374,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1918867096\"" + }, { "name": "expires", "value": "0" @@ -13247,11 +13392,11 @@ }, { "name": "content-length", - "value": "293" + "value": "2338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13262,14 +13407,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.263Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.176Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -13277,11 +13422,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "17a7c6fbcaf476f8afc67b6596464df0", + "_id": "8f256e003690ecf23b0737799eb020af", "_order": 0, "cache": {}, "request": { @@ -13298,15 +13443,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13321,23 +13466,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 552, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/POLICY_CONDITION" }, "response": { - "bodySize": 436, + "bodySize": 2094, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"result\":[{\"_id\":\"Test IG\",\"_rev\":\"2092403291\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"userpassword\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 2094, + "text": "{\"_id\":\"POLICY_CONDITION\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.HashMap\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"com.sun.identity.shared.debug.Debug\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.Client\",\"org.forgerock.http.Handler\",\"org.forgerock.http.Context\",\"org.forgerock.http.context.RootContext\",\"java.util.Collections$EmptyList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.http.protocol.ResponseException\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -13355,7 +13495,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13383,11 +13523,11 @@ }, { "name": "content-length", - "value": "436" + "value": "2094" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13398,14 +13538,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.271Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.182Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -13413,11 +13553,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "c599288e5350ec265059828409fafbfc", + "_id": "71286e177e79c1a989b3702805f8c009", "_order": 0, "cache": {}, "request": { @@ -13434,15 +13574,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13457,23 +13597,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 586, + "headersSize": 606, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_IDP_ADAPTER/engineConfiguration" }, "response": { - "bodySize": 5425, + "bodySize": 2713, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5425, - "text": "{\"result\":[{\"_id\":\"test java\",\"_rev\":\"-1966552764\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/test/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":\"Test Java Group\",\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/test/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 2713, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1002380879\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13491,7 +13626,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13505,6 +13640,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1002380879\"" + }, { "name": "expires", "value": "0" @@ -13519,11 +13658,11 @@ }, { "name": "content-length", - "value": "5425" + "value": "2713" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13534,14 +13673,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.272Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.188Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -13549,11 +13688,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "89988287e6deabeb2a140b1645472c7a", + "_id": "862833029718025dd904e559be261398", "_order": 0, "cache": {}, "request": { @@ -13570,15 +13709,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13593,23 +13732,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/WebAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_IDP_ADAPTER" }, "response": { - "bodySize": 3713, + "bodySize": 4177, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3713, - "text": "{\"result\":[{\"_id\":\"Test Web\",\"_rev\":\"899560106\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testurl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 4177, + "text": "{\"_id\":\"SAML2_IDP_ADAPTER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -13627,7 +13761,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13655,11 +13789,11 @@ }, { "name": "content-length", - "value": "3713" + "value": "4177" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13670,14 +13804,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.272Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.194Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -13685,11 +13819,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 1 } }, { - "_id": "6ffa07e8591b72f4066208a2dc37fe81", + "_id": "f0e10bb5cd39c51a3994dd291447a70e", "_order": 0, "cache": {}, "request": { @@ -13706,15 +13840,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13729,18 +13863,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_IDP_ATTRIBUTE_MAPPER/engineConfiguration" }, "response": { - "bodySize": 8380, + "bodySize": 2485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 2485, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-311213213\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -13758,7 +13892,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13774,7 +13908,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" + "value": "\"-311213213\"" }, { "name": "expires", @@ -13789,12 +13923,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "2485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13805,14 +13939,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.281Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.199Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -13820,11 +13954,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "0be90d7b6e7dd4855d706b20e525f54a", + "_id": "fabfbfbaf4fffadeb8a7d9c0da109f00", "_order": 0, "cache": {}, "request": { @@ -13841,15 +13975,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -13864,23 +13998,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 562, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_IDP_ATTRIBUTE_MAPPER" }, "response": { - "bodySize": 3851, + "bodySize": 3776, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3851, - "text": "{\"result\":[{\"_id\":\"test client\",\"_rev\":\"34495015\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + "size": 3776, + "text": "{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -13898,7 +14027,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -13926,11 +14055,11 @@ }, { "name": "content-length", - "value": "3851" + "value": "3776" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -13941,14 +14070,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.289Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.205Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -13956,11 +14085,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "011d22df4815560b84d2c34a13278ef2", + "_id": "a7af4afa149197d4b0b61f96c84f2e24", "_order": 0, "cache": {}, "request": { @@ -13977,15 +14106,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14000,18 +14129,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 605, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SAML2_SP_ADAPTER/engineConfiguration" }, "response": { - "bodySize": 1278, + "bodySize": 2711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1278, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 2711, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"355020687\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -14029,7 +14158,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14045,7 +14174,7 @@ }, { "name": "etag", - "value": "\"-2141370265\"" + "value": "\"355020687\"" }, { "name": "expires", @@ -14061,11 +14190,11 @@ }, { "name": "content-length", - "value": "1278" + "value": "2711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14076,14 +14205,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.297Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.211Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -14091,15 +14220,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "d6741a7ea4fcd850a94e70818d8bcaeb", + "_id": "da22bfbe9528062c4d8af75caeff40b0", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -14112,24 +14241,20 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -14139,28 +14264,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 552, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SAML2_SP_ADAPTER" }, "response": { - "bodySize": 13, + "bodySize": 4175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4175, + "text": "{\"_id\":\"SAML2_SP_ADAPTER\",\"allowLists\":{\"1.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.shared.debug.Debug\",\"com.sun.identity.saml2.common.SAML2Exception\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"jdk.proxy*\"],\"2.0\":[\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -14206,11 +14321,11 @@ }, { "name": "content-length", - "value": "13" + "value": "4175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14221,14 +14336,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.302Z", - "time": 11, + "startedDateTime": "2024-11-06T16:35:42.218Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -14236,11 +14351,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 11 + "wait": 2 } }, { - "_id": "0965f269fcda0ed0bd98dc281be677ad", + "_id": "76ada9408fab34c571f6960d4bd9343f", "_order": 0, "cache": {}, "request": { @@ -14257,15 +14372,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14280,23 +14395,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 552, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/policies?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/scripting/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION/engineConfiguration" }, "response": { - "bodySize": 743, + "bodySize": 2384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 743, - "text": "{\"result\":[{\"_id\":\"Test Policy\",\"_rev\":\"1728509786771\",\"name\":\"Test Policy\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*?*\"],\"applicationName\":\"iPlanetAMWebAgentService\",\"actionValues\":{},\"subject\":{\"type\":\"AND\",\"subjects\":[{\"type\":\"NONE\"},{\"type\":\"Identity\",\"subjectValues\":[\"id=phales,ou=user,dc=openam,dc=forgerock,dc=org\"]}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":\"2024-10-09T21:36:26.771Z\",\"createdBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":\"2024-06-27T17:07:04.220Z\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 2384, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"2050787268\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"idleTimeout\":60,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"queueSize\":10,\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -14314,7 +14424,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14328,6 +14438,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2050787268\"" + }, { "name": "expires", "value": "0" @@ -14342,11 +14456,11 @@ }, { "name": "content-length", - "value": "743" + "value": "2384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14357,14 +14471,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.317Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.224Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -14372,11 +14486,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "e2667422f2152dbbb72d90e735b523c4", + "_id": "281a264c858798a5c38b2f81bb611516", "_order": 0, "cache": {}, "request": { @@ -14393,15 +14507,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -14416,27 +14530,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION" }, "response": { - "bodySize": 1994, + "bodySize": 4130, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1994, - "text": "{\"result\":[{\"name\":\"iPlanetAMWebAgentService\",\"displayName\":\"Default Policy Set\",\"description\":\"The built-in Application used by OpenAM Policy Agents.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"creationDate\":1718897366825,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786744,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"creationDate\":1718897366918,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786761,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 4130, + "text": "{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"allowLists\":{\"1.0\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"],\"2.0\":[\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.ArrayList\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.HashMap\",\"java.util.HashSet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Locale\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"jdk.proxy*\"]},\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" }, "cookies": [], "headers": [ @@ -14454,7 +14559,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14482,11 +14587,11 @@ }, { "name": "content-length", - "value": "1994" + "value": "4130" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14497,13 +14602,13 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.326Z", + "startedDateTime": "2024-11-06T16:35:42.230Z", "time": 2, "timings": { "blocked": -1, @@ -14516,7 +14621,7 @@ } }, { - "_id": "cc4540aef38f68690fef36a5beb34aad", + "_id": "c6d303acc9dfe3da7b43bb1f201d83d1", "_order": 0, "cache": {}, "request": { @@ -14533,15 +14638,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14556,27 +14661,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores?_action=nextdescendents" }, "response": { - "bodySize": 1031, + "bodySize": 723, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1031, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1517161800564,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786611},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1422892465848,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786629}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 723, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}},{\"format\":\"BASE64\",\"_id\":\"EnvironmentAndSystemPropertySecretStore\",\"_type\":{\"_id\":\"EnvironmentAndSystemPropertySecretStore\",\"name\":\"Environment and System Property Secrets Store\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -14594,7 +14695,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14622,11 +14723,11 @@ }, { "name": "content-length", - "value": "1031" + "value": "723" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14637,14 +14738,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.334Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.237Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -14652,11 +14753,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 8 } }, { - "_id": "139b5e629e98bccba72c676d156cb3da", + "_id": "7b0a9b322d1263a64d7a14c13f9a91ec", "_order": 0, "cache": {}, "request": { @@ -14673,15 +14774,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14696,7 +14797,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 564, + "headersSize": 619, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -14705,14 +14806,14 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" }, "response": { - "bodySize": 198250, + "bodySize": 9388, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 198250, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"description\":\"Test script description\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"description\":\"This is a test script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"name\":\"Legacy\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":41,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 9388, + "text": "{\"result\":[{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES256\",\"_rev\":\"1192664276\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES384\",\"_rev\":\"288173840\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.ES512\",\"_rev\":\"-294942577\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.applications.agents.remote.consent.request.signing.RSA\",\"_rev\":\"1911324886\",\"secretId\":\"am.applications.agents.remote.consent.request.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authentication.nodes.persistentcookie.encryption\",\"_rev\":\"-91845293\",\"secretId\":\"am.authentication.nodes.persistentcookie.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authn.authid.signing.HMAC\",\"_rev\":\"934473037\",\"secretId\":\"am.authn.authid.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.authn.trees.transientstate.encryption\",\"_rev\":\"1917709756\",\"secretId\":\"am.authn.trees.transientstate.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.idp.encryption\",\"_rev\":\"1907232131\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.idp.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.idp.signing\",\"_rev\":\"1976286662\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.idp.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.sp.encryption\",\"_rev\":\"1974801991\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.sp.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.applications.federation.entity.providers.saml2.sp.signing\",\"_rev\":\"-86805022\",\"secretId\":\"am.default.applications.federation.entity.providers.saml2.sp.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.modules.persistentcookie.encryption\",\"_rev\":\"-239710853\",\"secretId\":\"am.default.authentication.modules.persistentcookie.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.modules.persistentcookie.signing\",\"_rev\":\"1188815885\",\"secretId\":\"am.default.authentication.modules.persistentcookie.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.default.authentication.nodes.persistentcookie.signing\",\"_rev\":\"986410257\",\"secretId\":\"am.default.authentication.nodes.persistentcookie.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.oauth2.oidc.agent.idtoken.signing\",\"_rev\":\"-122487018\",\"secretId\":\"am.global.services.oauth2.oidc.agent.idtoken.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.saml2.client.storage.jwt.encryption\",\"_rev\":\"2003184760\",\"secretId\":\"am.global.services.saml2.client.storage.jwt.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.session.clientbased.encryption.AES\",\"_rev\":\"599325994\",\"secretId\":\"am.global.services.session.clientbased.encryption.AES\",\"aliases\":[\"aestest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.global.services.session.clientbased.signing.HMAC\",\"_rev\":\"952853781\",\"secretId\":\"am.global.services.session.clientbased.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.iot.jwt.issuer.signing\",\"_rev\":\"-1095047595\",\"secretId\":\"am.services.iot.jwt.issuer.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.jwt.authenticity.signing\",\"_rev\":\"-1210340267\",\"secretId\":\"am.services.oauth2.jwt.authenticity.signing\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA.OAEP\",\"_rev\":\"-75049409\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA.OAEP\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA.OAEP.256\",\"_rev\":\"-108687993\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA.OAEP.256\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.decryption.RSA1.5\",\"_rev\":\"2073465911\",\"secretId\":\"am.services.oauth2.oidc.decryption.RSA1.5\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.rp.idtoken.encryption\",\"_rev\":\"2025247879\",\"secretId\":\"am.services.oauth2.oidc.rp.idtoken.encryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.rp.jwt.authenticity.signing\",\"_rev\":\"-152865330\",\"secretId\":\"am.services.oauth2.oidc.rp.jwt.authenticity.signing\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES256\",\"_rev\":\"1010246364\",\"secretId\":\"am.services.oauth2.oidc.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES384\",\"_rev\":\"105751800\",\"secretId\":\"am.services.oauth2.oidc.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.ES512\",\"_rev\":\"-477362537\",\"secretId\":\"am.services.oauth2.oidc.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.oidc.signing.RSA\",\"_rev\":\"2112649438\",\"secretId\":\"am.services.oauth2.oidc.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.request.encryption\",\"_rev\":\"1156224168\",\"secretId\":\"am.services.oauth2.remote.consent.request.encryption\",\"aliases\":[\"selfserviceenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.response.decryption\",\"_rev\":\"2022034763\",\"secretId\":\"am.services.oauth2.remote.consent.response.decryption\",\"aliases\":[\"test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.remote.consent.response.signing.RSA\",\"_rev\":\"-219924262\",\"secretId\":\"am.services.oauth2.remote.consent.response.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES256\",\"_rev\":\"1077337120\",\"secretId\":\"am.services.oauth2.stateless.signing.ES256\",\"aliases\":[\"es256test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES384\",\"_rev\":\"172846524\",\"secretId\":\"am.services.oauth2.stateless.signing.ES384\",\"aliases\":[\"es384test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.ES512\",\"_rev\":\"-410267929\",\"secretId\":\"am.services.oauth2.stateless.signing.ES512\",\"aliases\":[\"es512test\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.HMAC\",\"_rev\":\"-1093456131\",\"secretId\":\"am.services.oauth2.stateless.signing.HMAC\",\"aliases\":[\"hmacsigningtest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.signing.RSA\",\"_rev\":\"1960097294\",\"secretId\":\"am.services.oauth2.stateless.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.oauth2.stateless.token.encryption\",\"_rev\":\"1900916088\",\"secretId\":\"am.services.oauth2.stateless.token.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.saml2.metadata.signing.RSA\",\"_rev\":\"2008235726\",\"secretId\":\"am.services.saml2.metadata.signing.RSA\",\"aliases\":[\"rsajwtsigningkey\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}},{\"_id\":\"am.services.uma.pct.encryption\",\"_rev\":\"1883661748\",\"secretId\":\"am.services.uma.pct.encryption\",\"aliases\":[\"directenctest\"],\"_type\":{\"_id\":\"mappings\",\"name\":\"Mappings\",\"collection\":true}}],\"resultCount\":40,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -14730,7 +14831,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -14762,7 +14863,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14779,8 +14880,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.339Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:42.249Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -14788,11 +14889,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 8 } }, { - "_id": "4df62c6436b97a141e813d288a22f05f", + "_id": "a849040f5abdab05d9c89abc330f4e11", "_order": 0, "cache": {}, "request": { @@ -14809,15 +14910,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14832,23 +14933,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 628, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" }, "response": { - "bodySize": 40637, + "bodySize": 99, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 40637, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Legacy\",\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"NextGeneration\",\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"Test script description\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"Test Script\",\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"This is a test script\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test script 2\",\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"validGotoDestinations\":[],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"timeToLive\":\"180\",\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}]}" + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -14866,7 +14967,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -14893,12 +14994,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "99" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -14909,14 +15010,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:39.349Z", - "time": 9, + "startedDateTime": "2024-11-06T16:35:42.262Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -14924,11 +15025,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 9 + "wait": 3 } }, { - "_id": "c835061aa51d2ff3a6c99a01dbd32adf", + "_id": "eebc5f870cfc1afef69c42fafb3efd16", "_order": 0, "cache": {}, "request": { @@ -14945,15 +15046,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -14968,18 +15069,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 662, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/secrets/stores/EnvironmentAndSystemPropertySecretStore/EnvironmentAndSystemPropertySecretStore/mappings?_queryFilter=true" }, "response": { - "bodySize": 346, + "bodySize": 115, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 115, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'EnvironmentAndSystemPropertySecretStore/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -14997,7 +15103,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15011,10 +15117,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1741783487\"" - }, { "name": "expires", "value": "0" @@ -15029,11 +15131,11 @@ }, { "name": "content-length", - "value": "346" + "value": "115" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15044,14 +15146,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:39.373Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.271Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -15059,11 +15161,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 3 } }, { - "_id": "9e81d6d06efd3e1a30e471868f1aaaf1", + "_id": "f7edea2a16a82469cfa9512da84a820a", "_order": 0, "cache": {}, "request": { @@ -15080,15 +15182,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15103,7 +15205,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15112,14 +15214,14 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services?_action=nextdescendents" }, "response": { - "bodySize": 5198, + "bodySize": 28867, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5198, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\",\"thingType\",\"thingKeys\",\"thingOAuth2ClientName\",\"thingConfig\",\"thingProperties\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\",\"fr-iot\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 28867, + "text": "{\"result\":[{\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_id\":\"globalization\",\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}},{\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_id\":\"logging\",\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}},{\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_id\":\"naming\",\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}},{\"cookieDomains\":[],\"locale\":\"en_US\",\"_id\":\"platform\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}},{\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"requestHandlers\":[],\"_id\":\"federation/saml2soapbinding\",\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}},{\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_id\":\"federation/multi\",\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}},{\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_id\":\"federation/common\",\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}},{\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}},{\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_id\":\"androidKeyAttestation\",\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}},{\"defaultContext\":\"POLICY_CONDITION\",\"_id\":\"scripting\",\"_type\":{\"_id\":\"scripting\",\"name\":\"Scripting\",\"collection\":false}},{\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_id\":\"monitoring\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}},{\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_id\":\"idm-integration\",\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}},{\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_id\":\"saml2\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}},{\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_id\":\"rest\",\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_id\":\"uma\",\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}},{\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_id\":\"ConfigurationVersionService\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}},{\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_id\":\"RadiusServerService\",\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}},{\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"defaults\":{\"enabled\":true},\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"defaults\":{\"timeToLive\":\"180\"},\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"GoogleCloudServiceAccountService\",\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -15137,7 +15239,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15164,12 +15266,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "5198" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15180,14 +15282,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.373Z", - "time": 36, + "startedDateTime": "2024-11-06T16:35:42.278Z", + "time": 14, "timings": { "blocked": -1, "connect": -1, @@ -15195,11 +15297,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 36 + "wait": 14 } }, { - "_id": "e4fd6226302163812f6c018d87dd9efa", + "_id": "f72fabd8fbe5156f0b7e3b99e0534b8f", "_order": 0, "cache": {}, "request": { @@ -15216,15 +15318,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15239,18 +15341,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 580, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories" }, "response": { - "bodySize": 708, + "bodySize": 359, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 359, + "text": "{\"_id\":\"\",\"_rev\":\"-1106014221\",\"defaults\":{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"]},\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15268,7 +15370,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15284,7 +15386,7 @@ }, { "name": "etag", - "value": "\"-52720779\"" + "value": "\"-1106014221\"" }, { "name": "expires", @@ -15300,11 +15402,11 @@ }, { "name": "content-length", - "value": "708" + "value": "359" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15315,14 +15417,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.374Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.317Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -15330,11 +15432,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 58 } }, { - "_id": "f1b420258e0746d54f4488097587a065", + "_id": "c0a5f6a64ac0b5f920701298c5b6ca45", "_order": 0, "cache": {}, "request": { @@ -15351,15 +15453,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15374,7 +15476,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 605, + "headersSize": 590, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15383,14 +15485,14 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 13, + "bodySize": 1558, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1558, + "text": "{\"result\":[{\"_id\":\"agent\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentgroup\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"agentonly\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"filteredrole\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"group\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"realm\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"role\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"_id\":\"user\",\"_type\":{\"_id\":\"SupportedIdentities\",\"name\":\"SupportedIdentities\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"givenName\":\"amAdmin\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"amAdmin\",\"dn\":\"uid=amAdmin,ou=people,\",\"cn\":\"amAdmin\",\"_id\":\"amAdmin\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Inactive\",\"givenName\":\"anonymous\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"sn\":\"anonymous\",\"dn\":\"uid=anonymous,ou=people,\",\"cn\":\"anonymous\",\"_id\":\"anonymous\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}},{\"roles\":[],\"inetUserStatus\":\"Active\",\"iplanet-am-user-auth-config\":\"[Empty]\",\"userPassword\":null,\"dn\":\"cn=dsameuser,ou=DSAME Users,\",\"_id\":\"dsameuser\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -15408,7 +15510,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15436,11 +15538,11 @@ }, { "name": "content-length", - "value": "13" + "value": "1558" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15451,14 +15553,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.374Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.317Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -15466,11 +15568,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 58 } }, { - "_id": "1b47f205acecc513d99d5cd5304b99d5", + "_id": "b4d643d9dbff0a4f3368d4dcfe3586f8", "_order": 0, "cache": {}, "request": { @@ -15487,15 +15589,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15510,18 +15612,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 563, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization" }, "response": { - "bodySize": 127, + "bodySize": 709, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 127, - "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" + "size": 709, + "text": "{\"_id\":\"\",\"_rev\":\"770074612\",\"charsetMappings\":[\"locale=zh|charset=UTF-8;GB2312\",\"locale=ar|charset=UTF-8;ISO-8859-6\",\"locale=es|charset=UTF-8;ISO-8859-15\",\"locale=de|charset=UTF-8;ISO-8859-15\",\"locale=zh_TW|charset=UTF-8;BIG5\",\"locale=fr|charset=UTF-8;ISO-8859-15\",\"locale=ko|charset=UTF-8;EUC-KR\",\"locale=en|charset=UTF-8;ISO-8859-1\",\"locale=th|charset=UTF-8;TIS-620\",\"locale=ja|charset=UTF-8;Shift_JIS;EUC-JP\"],\"sun-identity-g11n-settings-charset-alias-mapping\":[\"mimeName=EUC-KR|javaName=EUC_KR\",\"mimeName=EUC-JP|javaName=EUC_JP\",\"mimeName=Shift_JIS|javaName=SJIS\"],\"defaults\":{\"commonNameFormats\":[\"zh={sn}{givenname}\"]},\"_type\":{\"_id\":\"globalization\",\"name\":\"Globalization Settings\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15539,7 +15641,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15555,7 +15657,7 @@ }, { "name": "etag", - "value": "\"1193526377\"" + "value": "\"770074612\"" }, { "name": "expires", @@ -15571,11 +15673,11 @@ }, { "name": "content-length", - "value": "127" + "value": "709" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15586,14 +15688,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.375Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.318Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -15601,11 +15703,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 56 } }, { - "_id": "db0880f24df03e679ed43477e28edc52", + "_id": "cdb17bfb6150d6d446734c1f95070d64", "_order": 0, "cache": {}, "request": { @@ -15622,15 +15724,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15645,7 +15747,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 590, + "headersSize": 588, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15654,7 +15756,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/globalization?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -15679,7 +15781,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15711,7 +15813,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15728,8 +15830,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.375Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.319Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -15737,11 +15839,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 56 } }, { - "_id": "e3979a5a68cef4cdea13543c717ab049", + "_id": "b4bd42e147d54913501b28c40eec17bb", "_order": 0, "cache": {}, "request": { @@ -15758,15 +15860,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15781,18 +15883,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 569, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging" }, "response": { - "bodySize": 561, + "bodySize": 899, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 561, - "text": "{\"_id\":\"\",\"_rev\":\"1761890425\",\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" + "size": 899, + "text": "{\"_id\":\"\",\"_rev\":\"1282484869\",\"general\":{\"filesPerKeystore\":5,\"fields\":[\"IPAddr\",\"LoggedBy\",\"LoginID\",\"NameID\",\"ModuleName\",\"ContextID\",\"Domain\",\"LogLevel\",\"HostName\",\"MessageID\"],\"bufferSize\":25,\"buffering\":\"ON\",\"bufferTime\":60,\"jdkLoggingLevel\":\"INFO\",\"signaturePeriod\":900,\"verifyPeriod\":3600,\"status\":\"INACTIVE\",\"security\":\"OFF\",\"type\":\"File\",\"certificateStore\":\"%BASE_DIR%/var/audit/Logger.jks\",\"signingAlgorithm\":\"SHA1withRSA\"},\"file\":{\"rotationEnabled\":true,\"maxFileSize\":100000000,\"rotationInterval\":-1,\"numberHistoryFiles\":1,\"suffix\":\"-MM.dd.yy-kk.mm\",\"location\":\"%BASE_DIR%/var/audit/\"},\"database\":{\"maxRecords\":500,\"databaseFailureMemoryBufferSize\":2,\"driver\":\"oracle.jdbc.driver.OracleDriver\",\"user\":\"dbuser\"},\"syslog\":{\"protocol\":\"UDP\",\"port\":514,\"timeout\":30,\"host\":\"localhost\",\"facility\":\"local5\"},\"resolveHostName\":false,\"_type\":{\"_id\":\"logging\",\"name\":\"Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -15810,7 +15912,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15826,7 +15928,7 @@ }, { "name": "etag", - "value": "\"1761890425\"" + "value": "\"1282484869\"" }, { "name": "expires", @@ -15842,11 +15944,11 @@ }, { "name": "content-length", - "value": "561" + "value": "899" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15863,8 +15965,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.376Z", - "time": 31, + "startedDateTime": "2024-11-06T16:35:42.319Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -15872,11 +15974,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 31 + "wait": 56 } }, { - "_id": "b8489f59b6efddbca5cfb0f4f96e05cb", + "_id": "43064d89e2802be220333e8c45f76ef0", "_order": 0, "cache": {}, "request": { @@ -15893,15 +15995,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -15916,7 +16018,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 594, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -15925,7 +16027,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/logging?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -15950,7 +16052,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -15982,7 +16084,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:41 GMT" }, { "name": "keep-alive", @@ -15999,8 +16101,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.376Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.320Z", + "time": 55, "timings": { "blocked": -1, "connect": -1, @@ -16008,11 +16110,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 55 } }, { - "_id": "d9656d86fe0a18485a2fcf0f25aa2f6f", + "_id": "8bcf7e69c1b5f4bae9e93b6c31ce1164", "_order": 0, "cache": {}, "request": { @@ -16029,15 +16131,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16052,18 +16154,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 568, + "headersSize": 556, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming" }, "response": { - "bodySize": 147, + "bodySize": 942, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 147, - "text": "{\"_id\":\"\",\"_rev\":\"-1480957299\",\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 942, + "text": "{\"_id\":\"\",\"_rev\":\"329242288\",\"federationConfig\":{\"samlPostServletUrl\":\"%protocol://%host:%port%uri/SAMLPOSTProfileServlet\",\"samlSoapReceiverUrl\":\"%protocol://%host:%port%uri/SAMLSOAPReceiver\",\"samlAwareServletUrl\":\"%protocol://%host:%port%uri/SAMLAwareServlet\",\"samlAssertionManagerUrl\":\"%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF\",\"jaxrpcUrl\":\"%protocol://%host:%port%uri/jaxrpc/\"},\"generalConfig\":{\"authUrl\":\"%protocol://%host:%port%uri/authservice\",\"profileUrl\":\"%protocol://%host:%port%uri/profileservice\",\"sessionUrl\":\"%protocol://%host:%port%uri/sessionservice\",\"loggingUrl\":\"%protocol://%host:%port%uri/loggingservice\",\"policyUrl\":\"%protocol://%host:%port%uri/policyservice\"},\"endpointConfig\":{\"stsUrl\":\"%protocol://%host:%port%uri/sts\",\"jaxwsUrl\":\"%protocol://%host:%port%uri/identityservices/\",\"stsMexUrl\":\"%protocol://%host:%port%uri/sts/mex\"},\"_type\":{\"_id\":\"naming\",\"name\":\"Naming\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16081,7 +16183,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16097,7 +16199,7 @@ }, { "name": "etag", - "value": "\"-1480957299\"" + "value": "\"329242288\"" }, { "name": "expires", @@ -16113,11 +16215,11 @@ }, { "name": "content-length", - "value": "147" + "value": "942" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16128,14 +16230,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.377Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.320Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -16143,11 +16245,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 64 } }, { - "_id": "421a860e6e98f6efc3e6e2a5be1b8ae9", + "_id": "c02a739d10f1807e59a4503855eabcfa", "_order": 0, "cache": {}, "request": { @@ -16164,15 +16266,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16187,7 +16289,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -16196,7 +16298,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/naming?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -16221,7 +16323,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16253,7 +16355,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16270,8 +16372,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.378Z", - "time": 31, + "startedDateTime": "2024-11-06T16:35:42.321Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -16279,11 +16381,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 31 + "wait": 97 } }, { - "_id": "191767a516a73c4d4c46182ca5276c88", + "_id": "996dfe7751e7a0d7d4e616e93535cf25", "_order": 0, "cache": {}, "request": { @@ -16300,15 +16402,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16323,18 +16425,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 583, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform?_action=nextdescendents" }, "response": { - "bodySize": 171, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 171, - "text": "{\"_id\":\"\",\"_rev\":\"-1113197065\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -16352,7 +16459,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16366,10 +16473,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1113197065\"" - }, { "name": "expires", "value": "0" @@ -16384,11 +16487,11 @@ }, { "name": "content-length", - "value": "171" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16399,14 +16502,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.379Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.322Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -16414,11 +16517,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 62 } }, { - "_id": "f0390d7ed17168e299f3bc3d021322bb", + "_id": "e78947475e372e0b8923e8b52eeea9e6", "_order": 0, "cache": {}, "request": { @@ -16435,15 +16538,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16458,23 +16561,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 558, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/platform" }, "response": { - "bodySize": 13, + "bodySize": 131, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"-1580305574\",\"cookieDomains\":[],\"locale\":\"en_US\",\"_type\":{\"_id\":\"platform\",\"name\":\"Platform\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16492,7 +16590,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16506,6 +16604,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1580305574\"" + }, { "name": "expires", "value": "0" @@ -16520,11 +16622,11 @@ }, { "name": "content-length", - "value": "13" + "value": "131" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16535,14 +16637,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.379Z", - "time": 47, + "startedDateTime": "2024-11-06T16:35:42.322Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -16550,11 +16652,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 47 + "wait": 91 } }, { - "_id": "fb67247c7a37d2a2d7b03beda72e35f8", + "_id": "41c773c232b700ee97639341ad461f77", "_order": 0, "cache": {}, "request": { @@ -16571,15 +16673,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16594,18 +16696,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration" }, "response": { - "bodySize": 497, + "bodySize": 949, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 497, - "text": "{\"_id\":\"\",\"_rev\":\"2036666814\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" + "size": 949, + "text": "{\"_id\":\"\",\"_rev\":\"-2097165782\",\"resourceComparators\":[\"serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false\"],\"continueEvaluationOnDeny\":false,\"realmAliasReferrals\":false,\"defaults\":{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindDn\":\"cn=Directory Manager\",\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\"},\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16623,7 +16725,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16639,7 +16741,7 @@ }, { "name": "etag", - "value": "\"2036666814\"" + "value": "\"-2097165782\"" }, { "name": "expires", @@ -16655,11 +16757,11 @@ }, { "name": "content-length", - "value": "497" + "value": "949" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16670,14 +16772,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.380Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.323Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -16685,11 +16787,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 62 } }, { - "_id": "457c05c391a373a722561d7b0b5d379f", + "_id": "b26a03ad2a29757d280a26ebea4e3d3e", "_order": 0, "cache": {}, "request": { @@ -16706,15 +16808,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16729,7 +16831,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 594, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -16738,7 +16840,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/policyconfiguration?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -16763,7 +16865,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16795,7 +16897,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16812,8 +16914,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.380Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.323Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -16821,11 +16923,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 63 } }, { - "_id": "5dfbdef3ae936bb829f2bbd20d566cb1", + "_id": "1c37478e04a3db7d9cde5720465c32b8", "_order": 0, "cache": {}, "request": { @@ -16842,15 +16944,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -16865,18 +16967,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 576, + "headersSize": 557, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session" }, "response": { - "bodySize": 382, + "bodySize": 1163, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 382, - "text": "{\"_id\":\"\",\"_rev\":\"367752594\",\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" + "size": 1163, + "text": "{\"_id\":\"\",\"_rev\":\"-1239124536\",\"quotas\":{\"denyLoginWhenRepoDown\":\"NO\",\"iplanet-am-session-enable-session-constraint\":\"OFF\",\"behaviourWhenQuotaExhausted\":\"org.forgerock.openam.session.service.DestroyNextExpiringAction\",\"quotaConstraintMaxWaitTime\":6000},\"stateless\":{\"openam-session-stateless-blacklist-cache-size\":10000,\"statelessLogoutByUser\":false,\"statelessEncryptionType\":\"DIRECT\",\"openam-session-stateless-logout-poll-interval\":60,\"statelessEncryptionAesKey\":null,\"statelessSigningType\":\"HS256\",\"openam-session-stateless-blacklist-poll-interval\":60,\"statelessCompressionType\":\"NONE\",\"statelessSigningHmacSecret\":null,\"openam-session-stateless-blacklist-purge-delay\":1,\"openam-session-stateless-enable-session-blacklisting\":false},\"general\":{\"latestAccessTimeUpdateFrequency\":60,\"timeoutHandlers\":[],\"dnRestrictionOnly\":false,\"crossUpgradeReferenceFlag\":false},\"notifications\":{\"notificationPropertyList\":[],\"propertyChangeNotifications\":\"OFF\"},\"search\":{\"sessionListRetrievalTimeout\":5,\"maxSessionListSize\":120},\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":5,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -16894,7 +16996,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -16910,7 +17012,7 @@ }, { "name": "etag", - "value": "\"367752594\"" + "value": "\"-1239124536\"" }, { "name": "expires", @@ -16926,11 +17028,11 @@ }, { "name": "content-length", - "value": "382" + "value": "1163" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -16941,14 +17043,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.381Z", - "time": 32, + "startedDateTime": "2024-11-06T16:35:42.324Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -16956,11 +17058,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 32 + "wait": 62 } }, { - "_id": "6d05cca113763d4cb93ecbee29572277", + "_id": "57e9213351b2982ca9d30f3468d2bd78", "_order": 0, "cache": {}, "request": { @@ -16977,15 +17079,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17000,7 +17102,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 601, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -17009,7 +17111,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/session?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17034,7 +17136,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17066,7 +17168,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17083,8 +17185,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.381Z", - "time": 38, + "startedDateTime": "2024-11-06T16:35:42.324Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -17092,11 +17194,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 38 + "wait": 62 } }, { - "_id": "74be39b9f5542dd22304f83ed644ba7b", + "_id": "c6c93d35607a2cc6fe4a484b6bcc7be9", "_order": 0, "cache": {}, "request": { @@ -17113,15 +17215,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17136,18 +17238,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 582, + "headersSize": 554, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user" }, "response": { - "bodySize": 418, + "bodySize": 127, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 418, - "text": "{\"_id\":\"\",\"_rev\":\"20313748\",\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" + "size": 127, + "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -17165,7 +17267,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17181,7 +17283,7 @@ }, { "name": "etag", - "value": "\"20313748\"" + "value": "\"1193526377\"" }, { "name": "expires", @@ -17197,11 +17299,11 @@ }, { "name": "content-length", - "value": "418" + "value": "127" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17212,14 +17314,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.382Z", - "time": 42, + "startedDateTime": "2024-11-06T16:35:42.325Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -17227,11 +17329,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 42 + "wait": 62 } }, { - "_id": "449f0c492be068f57d41333093576359", + "_id": "bbb1533f6bafd1b6115bc5d903dd688d", "_order": 0, "cache": {}, "request": { @@ -17248,15 +17350,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17271,7 +17373,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 579, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -17280,7 +17382,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/user?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17305,7 +17407,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17337,7 +17439,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17354,8 +17456,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.383Z", - "time": 41, + "startedDateTime": "2024-11-06T16:35:42.325Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -17363,11 +17465,146 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 41 + "wait": 62 } }, { - "_id": "bef89b3deeb87a4b272ea7021cc64d5d", + "_id": "6ccc3dc796ae4e2e8d09a9062b019563", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 577, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding" + }, + "response": { + "bodySize": 147, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 147, + "text": "{\"_id\":\"\",\"_rev\":\"197569431\",\"requestHandlers\":[],\"_type\":{\"_id\":\"federation/saml2soapbinding\",\"name\":\"SAML v2.0 SOAP Binding\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"197569431\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "147" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:42.326Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + }, + { + "_id": "08998121189c015851592c4e2c36206b", "_order": 0, "cache": {}, "request": { @@ -17384,15 +17621,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17416,7 +17653,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/saml2soapbinding?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17441,7 +17678,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17473,7 +17710,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17490,8 +17727,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.384Z", - "time": 31, + "startedDateTime": "2024-11-06T16:35:42.326Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -17499,11 +17736,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 31 + "wait": 92 } }, { - "_id": "8b53385cd1503252aa712c2f9435e417", + "_id": "92c0a6a00d9c6acb82b35ef1ce066cb7", "_order": 0, "cache": {}, "request": { @@ -17520,15 +17757,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17543,18 +17780,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi?_action=nextdescendents" }, "response": { - "bodySize": 278, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"\",\"_rev\":\"-112617302\",\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -17572,7 +17814,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17586,10 +17828,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-112617302\"" - }, { "name": "expires", "value": "0" @@ -17604,11 +17842,11 @@ }, { "name": "content-length", - "value": "278" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17619,14 +17857,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.384Z", - "time": 35, + "startedDateTime": "2024-11-06T16:35:42.327Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -17634,11 +17872,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 35 + "wait": 87 } }, { - "_id": "f6684ab69515501ebd83fb00c696566f", + "_id": "e5c50987759b28e178a22a06b8921007", "_order": 0, "cache": {}, "request": { @@ -17655,15 +17893,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17678,18 +17916,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 572, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/multi" }, "response": { - "bodySize": 2733, + "bodySize": 301, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2733, - "text": "{\"_id\":\"\",\"_rev\":\"201010615\",\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" + "size": 301, + "text": "{\"_id\":\"\",\"_rev\":\"302817247\",\"singleLogoutHandlerList\":[\"key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler\",\"key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler\"],\"_type\":{\"_id\":\"federation/multi\",\"name\":\"Multi-Federation Protocol\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -17707,7 +17945,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -17723,143 +17961,7 @@ }, { "name": "etag", - "value": "\"201010615\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2733" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.385Z", - "time": 35, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 35 - } - }, - { - "_id": "52fe39a17d36834f1a9407d0c8aba640", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 597, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "value": "\"302817247\"" }, { "name": "expires", @@ -17875,11 +17977,11 @@ }, { "name": "content-length", - "value": "13" + "value": "301" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -17890,14 +17992,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.386Z", - "time": 30, + "startedDateTime": "2024-11-06T16:35:42.327Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -17905,11 +18007,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 30 + "wait": 87 } }, { - "_id": "fc798ceeeff5e890a2045a3c9ebacc9b", + "_id": "ae14330f552038a2bccd22ce65d3265f", "_order": 0, "cache": {}, "request": { @@ -17926,15 +18028,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -17949,7 +18051,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 592, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -17958,7 +18060,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -17983,7 +18085,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18015,7 +18117,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18032,8 +18134,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.387Z", - "time": 29, + "startedDateTime": "2024-11-06T16:35:42.328Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -18041,11 +18143,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 29 + "wait": 73 } }, { - "_id": "825d45dc6c426d5de01c8147a8fe7fcf", + "_id": "860c8c26449f0643c88df83bf80913b6", "_order": 0, "cache": {}, "request": { @@ -18062,15 +18164,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18085,18 +18187,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 567, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/federation/common" }, "response": { - "bodySize": 206, + "bodySize": 1850, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"\",\"_rev\":\"-49730604\",\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" + "size": 1850, + "text": "{\"_id\":\"\",\"_rev\":\"1228566638\",\"implementationClasses\":{\"loggerClass\":\"com.sun.identity.plugin.log.impl.LogProvider\",\"signatureProviderClass\":\"com.sun.identity.saml.xmlsig.AMSignatureProvider\",\"passwordDecoderClass\":\"com.sun.identity.saml.xmlsig.FMPasswordDecoder\",\"configurationClass\":\"com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl\",\"rootUrlProviderClass\":\"org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider\",\"datastoreClass\":\"com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider\",\"keyProviderClass\":\"com.sun.identity.saml.xmlsig.JKSKeyProvider\",\"sessionProviderClass\":\"com.sun.identity.plugin.session.impl.FMSessionProvider\"},\"generalConfig\":{\"maxContentLength\":20480,\"certificateChecking\":\"on\",\"samlErrorPageUrl\":\"/saml2/jsp/saml2error.jsp\",\"samlErrorPageHttpBinding\":\"HTTP-POST\"},\"algorithms\":{\"aesKeyWrapAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#kw-aes256\",\"QuerySignatureAlgorithmEC\":\"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512\",\"transformationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\",\"maskGenerationFunction\":\"http://www.w3.org/2009/xmlenc11#mgf1sha256\",\"DigestAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#sha256\",\"QuerySignatureAlgorithmDSA\":\"http://www.w3.org/2009/xmldsig11#dsa-sha256\",\"QuerySignatureAlgorithmRSA\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"signatureAlgorithm\":\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\",\"rsaKeyTransportAlgorithm\":\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\",\"canonicalizationAlgorithm\":\"http://www.w3.org/2001/10/xml-exc-c14n#\"},\"montoring\":{\"monitoringSaml2Class\":\"com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider\",\"monitoringAgentClass\":\"com.sun.identity.plugin.monitoring.impl.AgentProvider\"},\"_type\":{\"_id\":\"federation/common\",\"name\":\"Common Federation Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18114,7 +18216,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18130,7 +18232,7 @@ }, { "name": "etag", - "value": "\"-49730604\"" + "value": "\"1228566638\"" }, { "name": "expires", @@ -18146,11 +18248,11 @@ }, { "name": "content-length", - "value": "206" + "value": "1850" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18161,14 +18263,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.387Z", - "time": 33, + "startedDateTime": "2024-11-06T16:35:42.328Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -18176,11 +18278,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 33 + "wait": 79 } }, { - "_id": "982835aa7637cc6112f387c76ecd5789", + "_id": "bfb1e6e8b82f8a31219b7546ae34d438", "_order": 0, "cache": {}, "request": { @@ -18197,15 +18299,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18220,7 +18322,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 583, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -18229,7 +18331,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -18254,7 +18356,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18286,7 +18388,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18303,8 +18405,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.388Z", - "time": 37, + "startedDateTime": "2024-11-06T16:35:42.329Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -18312,11 +18414,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 37 + "wait": 81 } }, { - "_id": "6b3dbf30096a9640340d1c797a084fb7", + "_id": "90680889cf3393fcc200bca188068a72", "_order": 0, "cache": {}, "request": { @@ -18333,15 +18435,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18356,18 +18458,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 558, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/security" }, "response": { - "bodySize": 411, + "bodySize": 574, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 411, - "text": "{\"_id\":\"\",\"_rev\":\"1502014682\",\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" + "size": 574, + "text": "{\"_id\":\"\",\"_rev\":\"1264778823\",\"defaults\":{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"selfServiceEnabled\":false,\"selfRegistrationEnabled\":false,\"forgotPasswordTokenLifetime\":900,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\"},\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18385,7 +18487,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18401,7 +18503,7 @@ }, { "name": "etag", - "value": "\"1502014682\"" + "value": "\"1264778823\"" }, { "name": "expires", @@ -18417,11 +18519,11 @@ }, { "name": "content-length", - "value": "411" + "value": "574" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18438,8 +18540,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.389Z", - "time": 28, + "startedDateTime": "2024-11-06T16:35:42.329Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -18447,11 +18549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 28 + "wait": 83 } }, { - "_id": "22ed054250235a8178254373c88b5c18", + "_id": "1e6746c063fda434ae9932431bbcbc9f", "_order": 0, "cache": {}, "request": { @@ -18468,15 +18570,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18491,23 +18593,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 557, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl" }, "response": { - "bodySize": 13, + "bodySize": 160, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 160, + "text": "{\"_id\":\"\",\"_rev\":\"-2049191873\",\"defaults\":{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\"},\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18525,7 +18622,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18539,6 +18636,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2049191873\"" + }, { "name": "expires", "value": "0" @@ -18553,11 +18654,11 @@ }, { "name": "content-length", - "value": "13" + "value": "160" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18568,14 +18669,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.389Z", - "time": 34, + "startedDateTime": "2024-11-06T16:35:42.330Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -18583,11 +18684,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 34 + "wait": 83 } }, { - "_id": "af1a3426bf3079f9fc075f35d546a11e", + "_id": "64ff9b04badfbe7a92867ac7f6e7ead3", "_order": 0, "cache": {}, "request": { @@ -18604,15 +18705,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18627,18 +18728,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 571, + "headersSize": 582, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/baseurl?_action=nextdescendents" }, "response": { - "bodySize": 132, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 132, - "text": "{\"_id\":\"\",\"_rev\":\"280113261\",\"validGotoDestinations\":[],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -18656,7 +18762,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18670,10 +18776,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"280113261\"" - }, { "name": "expires", "value": "0" @@ -18688,11 +18790,11 @@ }, { "name": "content-length", - "value": "132" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18703,14 +18805,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.390Z", - "time": 26, + "startedDateTime": "2024-11-06T16:35:42.330Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -18718,11 +18820,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 26 + "wait": 83 } }, { - "_id": "ab7693d00ead91cd99a4f6513942048d", + "_id": "8a6544b71e9eafd8d57a8d358f3a4e74", "_order": 0, "cache": {}, "request": { @@ -18739,15 +18841,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18762,23 +18864,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 555, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit" }, "response": { - "bodySize": 13, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 257, + "text": "{\"_id\":\"\",\"_rev\":\"1805413690\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"defaults\":{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[]},\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -18796,7 +18893,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18810,6 +18907,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1805413690\"" + }, { "name": "expires", "value": "0" @@ -18824,11 +18925,11 @@ }, { "name": "content-length", - "value": "13" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18839,14 +18940,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.390Z", - "time": 29, + "startedDateTime": "2024-11-06T16:35:42.331Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -18854,11 +18955,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 29 + "wait": 81 } }, { - "_id": "c5a98618a302e070efaf94ae01cec32b", + "_id": "3cbf2251cc837fc1a7a37249334e2efe", "_order": 0, "cache": {}, "request": { @@ -18875,15 +18976,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -18898,18 +18999,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/audit?_action=nextdescendents" }, "response": { - "bodySize": 603, + "bodySize": 793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 603, - "text": "{\"_id\":\"\",\"_rev\":\"1219218586\",\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" + "size": 793, + "text": "{\"result\":[{\"jsonFileRotation\":{\"rotationTimes\":[],\"rotationFileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"rotationMaxFileSize\":\"100000000\",\"rotationInterval\":\"-1\",\"rotationEnabled\":true},\"jsonFileRetention\":{\"retentionMaxDiskSpaceToUse\":\"-1\",\"retentionMaxNumberOfHistoryFiles\":\"1\",\"retentionMinFreeSpaceRequired\":\"-1\"},\"jsonConfig\":{\"rotationRetentionCheckInterval\":\"5\",\"location\":\"%BASE_DIR%/var/audit/\",\"elasticsearchCompatible\":false},\"jsonBuffering\":{\"bufferingMaxSize\":\"100000\",\"bufferingWriteInterval\":\"5\"},\"commonHandler\":{\"enabled\":true,\"topics\":[\"access\",\"activity\",\"config\",\"authentication\"]},\"commonHandlerPlugin\":{\"handlerFactory\":\"org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory\"},\"_id\":\"Global JSON Handler\",\"_type\":{\"_id\":\"JSON\",\"name\":\"JSON\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -18927,7 +19033,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -18941,10 +19047,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1219218586\"" - }, { "name": "expires", "value": "0" @@ -18959,11 +19061,11 @@ }, { "name": "content-length", - "value": "603" + "value": "793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -18974,14 +19076,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.391Z", - "time": 26, + "startedDateTime": "2024-11-06T16:35:42.331Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -18989,11 +19091,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 26 + "wait": 88 } }, { - "_id": "745904e84f2af7b29d9e02e5d91c618d", + "_id": "df2d51d1849244b2bdce55a223a31e37", "_order": 0, "cache": {}, "request": { @@ -19010,15 +19112,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19033,23 +19135,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService" }, "response": { - "bodySize": 13, + "bodySize": 510, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 510, + "text": "{\"_id\":\"\",\"_rev\":\"1539309580\",\"defaults\":{\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\"},\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19067,7 +19164,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19081,6 +19178,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1539309580\"" + }, { "name": "expires", "value": "0" @@ -19095,11 +19196,11 @@ }, { "name": "content-length", - "value": "13" + "value": "510" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19110,14 +19211,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.394Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:42.332Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -19125,11 +19226,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 77 } }, { - "_id": "0327c0ae958eb1a5656a40d63eb9b627", + "_id": "6802302e73e17463931c5e9f0e5c7a10", "_order": 0, "cache": {}, "request": { @@ -19146,15 +19247,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19169,7 +19270,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -19178,7 +19279,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorWebAuthnService?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -19203,7 +19304,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19235,7 +19336,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19252,8 +19353,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.395Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:42.333Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -19261,11 +19362,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 78 } }, { - "_id": "e0248057f4174a562cc019a60994ff19", + "_id": "1469c7f1e1fca8b2b38bc1de2daba051", "_order": 0, "cache": {}, "request": { @@ -19282,15 +19383,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19305,18 +19406,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 564, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService" }, "response": { - "bodySize": 280, + "bodySize": 395, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"\",\"_rev\":\"1395311902\",\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" + "size": 395, + "text": "{\"_id\":\"\",\"_rev\":\"809911232\",\"defaults\":{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null},\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19334,7 +19435,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19350,7 +19451,7 @@ }, { "name": "etag", - "value": "\"1395311902\"" + "value": "\"809911232\"" }, { "name": "expires", @@ -19366,11 +19467,11 @@ }, { "name": "content-length", - "value": "280" + "value": "395" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19381,14 +19482,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.395Z", - "time": 25, + "startedDateTime": "2024-11-06T16:35:42.333Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -19396,11 +19497,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 25 + "wait": 85 } }, { - "_id": "2ae9d3f0193abc57b04ab28a9b0a5a71", + "_id": "71a644272b08dd8b601889853d02e4f5", "_order": 0, "cache": {}, "request": { @@ -19417,15 +19518,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19440,23 +19541,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 595, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService" }, "response": { - "bodySize": 13, + "bodySize": 251, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 251, + "text": "{\"_id\":\"\",\"_rev\":\"-1336068590\",\"defaults\":{\"applicationDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\",\"policyDataStoreId\":\"fd270e31-1788-4193-8734-eb2d500c47f3\"},\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -19474,7 +19570,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19488,6 +19584,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1336068590\"" + }, { "name": "expires", "value": "0" @@ -19502,11 +19602,11 @@ }, { "name": "content-length", - "value": "13" + "value": "251" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19517,14 +19617,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.396Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:42.334Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -19532,11 +19632,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 61 } }, { - "_id": "24a792bb847d11d38e4f9d3a48182b97", + "_id": "d74c13af1a35b7215588511b275beda8", "_order": 0, "cache": {}, "request": { @@ -19553,15 +19653,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19576,18 +19676,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 570, + "headersSize": 590, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceIdService?_action=nextdescendents" }, "response": { - "bodySize": 116, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 116, - "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -19605,7 +19710,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19619,10 +19724,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"6506753\"" - }, { "name": "expires", "value": "0" @@ -19637,11 +19738,11 @@ }, { "name": "content-length", - "value": "116" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19652,14 +19753,14 @@ "value": "keep-alive" } ], - "headersSize": 482, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.396Z", - "time": 26, + "startedDateTime": "2024-11-06T16:35:42.334Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -19667,11 +19768,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 26 + "wait": 78 } }, { - "_id": "0269a7655f6d7f47ade837af6e23e712", + "_id": "3832fbb15c176e939c76961b1eb31ced", "_order": 0, "cache": {}, "request": { @@ -19688,15 +19789,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19711,18 +19812,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/DataStoreService?_action=nextdescendents" }, "response": { - "bodySize": 161, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 161, - "text": "{\"_id\":\"\",\"_rev\":\"403540704\",\"cacheDuration\":120,\"enable\":true,\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -19740,7 +19846,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19754,10 +19860,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"403540704\"" - }, { "name": "expires", "value": "0" @@ -19772,11 +19874,11 @@ }, { "name": "content-length", - "value": "161" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19787,14 +19889,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.397Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:42.335Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -19802,11 +19904,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 67 } }, { - "_id": "3fb1c8765200cf2ab0ce6eb3853b16af", + "_id": "2543c11b2f4e14c08672932c8442f532", "_order": 0, "cache": {}, "request": { @@ -19823,15 +19925,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19846,7 +19948,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -19855,7 +19957,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -19880,7 +19982,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -19912,7 +20014,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -19929,8 +20031,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.397Z", - "time": 28, + "startedDateTime": "2024-11-06T16:35:42.336Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -19938,11 +20040,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 28 + "wait": 74 } }, { - "_id": "9cfd08b19c65f94bedb476341a0fae7b", + "_id": "e931cc31a8916862a93e6b98b8a3ccf5", "_order": 0, "cache": {}, "request": { @@ -19959,15 +20061,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -19982,18 +20084,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceProfilesService" }, "response": { - "bodySize": 148, + "bodySize": 432, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 432, + "text": "{\"_id\":\"\",\"_rev\":\"592757986\",\"defaults\":{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20011,7 +20113,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20027,7 +20129,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"592757986\"" }, { "name": "expires", @@ -20043,11 +20145,11 @@ }, { "name": "content-length", - "value": "148" + "value": "432" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20058,14 +20160,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.398Z", - "time": 25, + "startedDateTime": "2024-11-06T16:35:42.336Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -20073,11 +20175,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 25 + "wait": 77 } }, { - "_id": "0a7071871adcba0d0c495016dc8565ac", + "_id": "9126e8dc362bb096776e49fcf4e6cfa7", "_order": 0, "cache": {}, "request": { @@ -20094,15 +20196,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20117,7 +20219,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 609, + "headersSize": 591, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -20126,7 +20228,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -20151,7 +20253,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20183,7 +20285,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20200,8 +20302,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.398Z", - "time": 29, + "startedDateTime": "2024-11-06T16:35:42.337Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -20209,11 +20311,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 29 + "wait": 65 } }, { - "_id": "8589c4e6a5336d67836695038afe5d10", + "_id": "98b2543f74b1861e3c986a5e72a6ceff", "_order": 0, "cache": {}, "request": { @@ -20230,15 +20332,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20253,23 +20355,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 566, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pushNotification" }, "response": { - "bodySize": 13, + "bodySize": 291, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 291, + "text": "{\"_id\":\"\",\"_rev\":\"-747878660\",\"defaults\":{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"region\":\"us-east-1\",\"mdCacheSize\":10000,\"mdConcurrency\":16,\"mdDuration\":120},\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20287,7 +20384,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20301,6 +20398,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-747878660\"" + }, { "name": "expires", "value": "0" @@ -20315,11 +20416,11 @@ }, { "name": "content-length", - "value": "13" + "value": "291" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20330,14 +20431,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.399Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:42.337Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -20345,11 +20446,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 77 } }, { - "_id": "e8ba39997d71771de355e4d1b103ce9a", + "_id": "a290e68730822468f00ec60ba9d902ff", "_order": 0, "cache": {}, "request": { @@ -20366,15 +20467,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20389,18 +20490,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 585, + "headersSize": 561, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService" }, "response": { - "bodySize": 518, + "bodySize": 2746, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 518, - "text": "{\"_id\":\"\",\"_rev\":\"-683259715\",\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" + "size": 2746, + "text": "{\"_id\":\"\",\"_rev\":\"768990089\",\"defaults\":{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]}},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20418,7 +20519,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20434,7 +20535,7 @@ }, { "name": "etag", - "value": "\"-683259715\"" + "value": "\"768990089\"" }, { "name": "expires", @@ -20450,11 +20551,11 @@ }, { "name": "content-length", - "value": "518" + "value": "2746" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20471,8 +20572,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.399Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:42.338Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -20480,11 +20581,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 60 } }, { - "_id": "db283448bf6cdee228903090828365ae", + "_id": "f527a5e5d7c33133b663d3970e2498b9", "_order": 0, "cache": {}, "request": { @@ -20501,15 +20602,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20524,18 +20625,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfService?_action=nextdescendents" }, "response": { - "bodySize": 310, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 310, - "text": "{\"_id\":\"\",\"_rev\":\"435870150\",\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20553,7 +20659,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20567,10 +20673,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"435870150\"" - }, { "name": "expires", "value": "0" @@ -20585,11 +20687,11 @@ }, { "name": "content-length", - "value": "310" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20600,14 +20702,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.399Z", - "time": 25, + "startedDateTime": "2024-11-06T16:35:42.338Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -20615,11 +20717,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 25 + "wait": 69 } }, { - "_id": "5540588b22e9de6505fdb0ff45c3062e", + "_id": "3fe697737a3a3b5f58f227c48474a7a6", "_order": 0, "cache": {}, "request": { @@ -20636,15 +20738,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20659,18 +20761,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication?_action=nextdescendents" }, "response": { - "bodySize": 135, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20688,7 +20795,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20702,10 +20809,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-945038405\"" - }, { "name": "expires", "value": "0" @@ -20720,11 +20823,11 @@ }, { "name": "content-length", - "value": "135" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20735,14 +20838,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.400Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:42.339Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -20750,11 +20853,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 60 } }, { - "_id": "70d3cbe5f7f279bb37ee8755c88b6dd8", + "_id": "8fb0cec6800f2411def5492d7024dd94", "_order": 0, "cache": {}, "request": { @@ -20771,15 +20874,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20794,23 +20897,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 570, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/socialauthentication" }, "response": { - "bodySize": 13, + "bodySize": 219, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 219, + "text": "{\"_id\":\"\",\"_rev\":\"455613826\",\"defaults\":{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{}},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -20828,7 +20926,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20842,6 +20940,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"455613826\"" + }, { "name": "expires", "value": "0" @@ -20856,11 +20958,11 @@ }, { "name": "content-length", - "value": "13" + "value": "219" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -20871,14 +20973,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.400Z", - "time": 24, + "startedDateTime": "2024-11-06T16:35:42.339Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -20886,11 +20988,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 24 + "wait": 61 } }, { - "_id": "b2c486a37af8cb96e303d0a0eafdb8d2", + "_id": "c5e92ec298dc6780ab0a5d9471cfe061", "_order": 0, "cache": {}, "request": { @@ -20907,15 +21009,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -20930,18 +21032,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 566, + "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 255, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 255, - "text": "{\"_id\":\"\",\"_rev\":\"-876042057\",\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -20959,7 +21066,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -20973,10 +21080,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-876042057\"" - }, { "name": "expires", "value": "0" @@ -20991,11 +21094,11 @@ }, { "name": "content-length", - "value": "255" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21006,14 +21109,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.401Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:42.340Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -21021,11 +21124,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 54 } }, { - "_id": "9fd4853b17067e9df88d210680a0e1e9", + "_id": "e72bf68fea3347e80c5eb2fa8be5864c", "_order": 0, "cache": {}, "request": { @@ -21042,15 +21145,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21065,23 +21168,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 560, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/oauth-oidc" }, "response": { - "bodySize": 13, + "bodySize": 8676, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 8676, + "text": "{\"_id\":\"\",\"_rev\":\"865723864\",\"blacklistPurgeDelay\":1,\"blacklistCacheSize\":10000,\"allowUnauthorisedAccessToUserCodeForm\":false,\"storageScheme\":\"CTS_ONE_TO_ONE_MODEL\",\"jwtTokenUnreasonableLifetime\":86400,\"jwtTokenRequiredClaims\":[],\"jwtTokenLifetimeValidationEnabled\":true,\"statelessGrantTokenUpgradeCompatibilityMode\":false,\"blacklistPollInterval\":60,\"defaults\":{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600}},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21099,7 +21197,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21114,140 +21212,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "13" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 464, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.401Z", - "time": 23, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 23 - } - }, - { - "_id": "7f528072ac9e7ae4572e8df09c9ceb91", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 591, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"865723864\"" }, { "name": "expires", @@ -21262,12 +21228,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "13" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21278,14 +21244,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 491, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.402Z", - "time": 23, + "startedDateTime": "2024-11-06T16:35:42.340Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -21293,11 +21259,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 23 + "wait": 58 } }, { - "_id": "24896809b7e36d9888300a4a337f401c", + "_id": "e162b06688e44865625171daf618df47", "_order": 0, "cache": {}, "request": { @@ -21314,15 +21280,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21337,18 +21303,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 587, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService" }, "response": { - "bodySize": 209, + "bodySize": 423, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 209, - "text": "{\"_id\":\"\",\"_rev\":\"-736760492\",\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" + "size": 423, + "text": "{\"_id\":\"\",\"_rev\":\"924957352\",\"defaults\":{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\"},\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21366,7 +21332,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21382,7 +21348,7 @@ }, { "name": "etag", - "value": "\"-736760492\"" + "value": "\"924957352\"" }, { "name": "expires", @@ -21398,11 +21364,11 @@ }, { "name": "content-length", - "value": "209" + "value": "423" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21413,14 +21379,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.403Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:42.341Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -21428,11 +21394,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 53 } }, { - "_id": "3043040cf5119d83953cc35e1c9c22a7", + "_id": "afc5568192609fec2ef1713d080c7c90", "_order": 0, "cache": {}, "request": { @@ -21449,15 +21415,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21472,7 +21438,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 595, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -21481,7 +21447,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/deviceBindingService?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -21506,7 +21472,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21538,7 +21504,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21555,8 +21521,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.404Z", - "time": 18, + "startedDateTime": "2024-11-06T16:35:42.341Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -21564,11 +21530,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 18 + "wait": 56 } }, { - "_id": "09437f0fea64aa3ddc222ce6881e86cc", + "_id": "b426584e95932cde24208134214e9b9f", "_order": 0, "cache": {}, "request": { @@ -21585,15 +21551,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21608,18 +21574,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 572, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation" }, "response": { - "bodySize": 142, + "bodySize": 215, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 142, - "text": "{\"_id\":\"\",\"_rev\":\"1386279405\",\"timeToLive\":\"180\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" + "size": 215, + "text": "{\"_id\":\"\",\"_rev\":\"1196053395\",\"cacheDuration\":24,\"defaults\":{\"crlUrl\":\"https://android.googleapis.com/attestation/status\"},\"_type\":{\"_id\":\"androidKeyAttestation\",\"name\":\"Android Key Attestation\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -21637,7 +21603,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21653,7 +21619,7 @@ }, { "name": "etag", - "value": "\"1386279405\"" + "value": "\"1196053395\"" }, { "name": "expires", @@ -21669,11 +21635,11 @@ }, { "name": "content-length", - "value": "142" + "value": "215" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21690,8 +21656,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.404Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:42.342Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -21699,11 +21665,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 46 } }, { - "_id": "538722666560d57ccd03d3844ff58865", + "_id": "3c74e21e7df8f9c4b8d63d75fbd1dd4a", "_order": 0, "cache": {}, "request": { @@ -21720,15 +21686,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21743,7 +21709,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [ @@ -21752,7 +21718,7 @@ "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/androidKeyAttestation?_action=nextdescendents" }, "response": { "bodySize": 13, @@ -21777,7 +21743,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21809,7 +21775,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21826,8 +21792,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.405Z", - "time": 14, + "startedDateTime": "2024-11-06T16:35:42.342Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -21835,11 +21801,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 14 + "wait": 46 } }, { - "_id": "32cbd08c7c2d3963e74629b44f6d2eca", + "_id": "009e966ebde3f2ad58c3b35a0ba5ec15", "_order": 0, "cache": {}, "request": { @@ -21856,15 +21822,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -21879,18 +21845,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 581, + "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 206, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"\",\"_rev\":\"-1039295581\",\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -21908,7 +21879,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -21922,10 +21893,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1039295581\"" - }, { "name": "expires", "value": "0" @@ -21940,11 +21907,11 @@ }, { "name": "content-length", - "value": "206" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -21955,14 +21922,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.405Z", - "time": 20, + "startedDateTime": "2024-11-06T16:35:42.343Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -21970,11 +21937,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 20 + "wait": 46 } }, { - "_id": "bf9e771ba74d5b31b4e107c6a67c7cbb", + "_id": "81d596f2e5174de1ae0a3bbddb535c2d", "_order": 0, "cache": {}, "request": { @@ -21991,15 +21958,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22014,23 +21981,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 560, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/validation" }, "response": { - "bodySize": 13, + "bodySize": 173, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 173, + "text": "{\"_id\":\"\",\"_rev\":\"1890693508\",\"validGotoDestinations\":[],\"defaults\":{\"validGotoDestinations\":[]},\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22048,7 +22010,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22062,6 +22024,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1890693508\"" + }, { "name": "expires", "value": "0" @@ -22076,11 +22042,11 @@ }, { "name": "content-length", - "value": "13" + "value": "173" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22091,14 +22057,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.406Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:42.343Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -22106,11 +22072,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 59 } }, { - "_id": "9c7ac5d847f63f1218896fc2f2526d06", + "_id": "dbfbb0a2be1ccf047c24d2b7fb8992f7", "_order": 0, "cache": {}, "request": { @@ -22127,15 +22093,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22150,23 +22116,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 560, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring" }, "response": { - "bodySize": 22262, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 22262, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true},{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}],\"resultCount\":19,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 337, + "text": "{\"_id\":\"\",\"_rev\":\"-218398273\",\"rmiPort\":9999,\"rmiEnabled\":false,\"enabled\":true,\"httpPort\":8082,\"sessionHistoryWindowSize\":10000,\"policyHistoryWindowSize\":10000,\"snmpPort\":8085,\"httpEnabled\":false,\"snmpEnabled\":false,\"authfilePath\":\"%BASE_DIR%/security/openam_mon_auth\",\"_type\":{\"_id\":\"monitoring\",\"name\":\"Monitoring\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22184,7 +22145,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22198,6 +22159,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-218398273\"" + }, { "name": "expires", "value": "0" @@ -22211,12 +22176,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22227,14 +22192,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.433Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.344Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -22242,11 +22207,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 45 } }, { - "_id": "93a17c35082b335e3a24bfd4d831dcd4", + "_id": "e7ff435497aab17c86bdbe57492d9088", "_order": 0, "cache": {}, "request": { @@ -22263,15 +22228,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22286,18 +22251,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Agent" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration" }, "response": { - "bodySize": 676, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 309, + "text": "{\"_id\":\"\",\"_rev\":\"2008236181\",\"provisioningClientScopes\":[\"fr:idm:*\"],\"idmProvisioningClient\":\"idm-provisioning\",\"useInternalOAuth2Provider\":false,\"jwtSigningCompatibilityMode\":false,\"enabled\":false,\"configurationCacheDuration\":0,\"_type\":{\"_id\":\"idm-integration\",\"name\":\"IDM Provisioning\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22315,7 +22280,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22331,7 +22296,7 @@ }, { "name": "etag", - "value": "\"-1016023191\"" + "value": "\"2008236181\"" }, { "name": "expires", @@ -22347,11 +22312,11 @@ }, { "name": "content-length", - "value": "676" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22362,14 +22327,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.440Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.344Z", + "time": 52, "timings": { "blocked": -1, "connect": -1, @@ -22377,11 +22342,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 52 } }, { - "_id": "ca20f5d91851ab3027484a85464e0075", + "_id": "70d024a924629bde43db1b056ac6bb87", "_order": 0, "cache": {}, "request": { @@ -22398,15 +22363,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22421,18 +22386,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, + "headersSize": 585, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/monitoring?_action=nextdescendents" }, "response": { - "bodySize": 250, + "bodySize": 292, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 292, + "text": "{\"result\":[{\"enabled\":false,\"_id\":\"crest\",\"_type\":{\"_id\":\"crest\",\"name\":\"CREST Reporter\",\"collection\":true}},{\"password\":null,\"authenticationType\":\"BASIC\",\"username\":\"prometheus\",\"enabled\":false,\"_id\":\"prometheus\",\"_type\":{\"_id\":\"prometheus\",\"name\":\"Prometheus Reporter\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -22450,7 +22420,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22464,10 +22434,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1036485453\"" - }, { "name": "expires", "value": "0" @@ -22482,11 +22448,11 @@ }, { "name": "content-length", - "value": "250" + "value": "292" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22497,14 +22463,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.449Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.344Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -22512,11 +22478,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 67 } }, { - "_id": "204ce19cfa6edca3188577cd85e06f4d", + "_id": "bd9aaf8dfcbc22dbea3a59fb719db7f8", "_order": 0, "cache": {}, "request": { @@ -22533,15 +22499,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22556,18 +22522,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 590, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/idm-integration?_action=nextdescendents" }, "response": { - "bodySize": 384, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -22585,7 +22556,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22599,10 +22570,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"482303273\"" - }, { "name": "expires", "value": "0" @@ -22617,11 +22584,11 @@ }, { "name": "content-length", - "value": "384" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22632,14 +22599,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.450Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.345Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -22647,11 +22614,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 45 } }, { - "_id": "0eccafbc13d10a34ff5fcee74492dff8", + "_id": "d285d036d3216dc6245461df018435a1", "_order": 0, "cache": {}, "request": { @@ -22668,15 +22635,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22691,18 +22658,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 600, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService" }, "response": { - "bodySize": 1043, + "bodySize": 615, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 615, + "text": "{\"_id\":\"\",\"_rev\":\"717872748\",\"defaults\":{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\"},\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22720,7 +22687,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22736,7 +22703,7 @@ }, { "name": "etag", - "value": "\"-536916143\"" + "value": "\"717872748\"" }, { "name": "expires", @@ -22752,11 +22719,11 @@ }, { "name": "content-length", - "value": "1043" + "value": "615" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22767,14 +22734,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.456Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.345Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -22782,11 +22749,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 46 } }, { - "_id": "bdb0662e3e0394951eae09a95fa5f31f", + "_id": "594d3ca2c676ca20da15605785b0c78e", "_order": 0, "cache": {}, "request": { @@ -22803,15 +22770,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22826,18 +22793,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorOathService?_action=nextdescendents" }, "response": { - "bodySize": 208, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -22855,7 +22827,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -22869,10 +22841,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1271206475\"" - }, { "name": "expires", "value": "0" @@ -22887,11 +22855,11 @@ }, { "name": "content-length", - "value": "208" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -22902,14 +22870,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.465Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.346Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -22917,11 +22885,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 49 } }, { - "_id": "930db69307f61b5ea83ae755a2ca7d10", + "_id": "c4357e29fc8dd7e1a5cb95a35d54c0f9", "_order": 0, "cache": {}, "request": { @@ -22938,15 +22906,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -22961,18 +22929,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot" }, "response": { - "bodySize": 239, + "bodySize": 293, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 293, + "text": "{\"_id\":\"\",\"_rev\":\"1825149804\",\"defaults\":{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"createOAuthJwtIssuer\":false,\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\"},\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -22990,7 +22958,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23006,7 +22974,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"1825149804\"" }, { "name": "expires", @@ -23022,11 +22990,11 @@ }, { "name": "content-length", - "value": "239" + "value": "293" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23043,8 +23011,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.466Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.346Z", + "time": 51, "timings": { "blocked": -1, "connect": -1, @@ -23052,11 +23020,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 51 } }, { - "_id": "5fd52411fd457934867c0c383b90471c", + "_id": "bb2814576a7b47b17e39bffc4cfe024e", "_order": 0, "cache": {}, "request": { @@ -23073,15 +23041,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23096,18 +23064,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/iot?_action=nextdescendents" }, "response": { - "bodySize": 208, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -23125,7 +23098,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23139,10 +23112,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1588216686\"" - }, { "name": "expires", "value": "0" @@ -23157,11 +23126,11 @@ }, { "name": "content-length", - "value": "208" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23172,14 +23141,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.466Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.347Z", + "time": 49, "timings": { "blocked": -1, "connect": -1, @@ -23187,11 +23156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 49 } }, { - "_id": "d934c4a642d09c1c142f3b744df6e742", + "_id": "5439bb1dfcf36e6f51bfc824d11075de", "_order": 0, "cache": {}, "request": { @@ -23208,15 +23177,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23231,18 +23200,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2" }, "response": { - "bodySize": 385, + "bodySize": 550, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 550, + "text": "{\"_id\":\"\",\"_rev\":\"-101444140\",\"bufferLength\":2048,\"xmlEncryptionClass\":\"com.sun.identity.saml2.xmlenc.FMEncProvider\",\"caCertValidation\":false,\"signingCertValidation\":false,\"cacheCleanupInterval\":600,\"idpDiscoveryCookieType\":\"PERSISTENT\",\"nameIDInfoAttribute\":\"sun-fm-saml2-nameid-info\",\"encryptedKeyInKeyInfo\":true,\"idpDiscoveryUrlSchema\":\"HTTPS\",\"xmlSigningClass\":\"com.sun.identity.saml2.xmlsig.FMSigProvider\",\"nameIDInfoKeyAttribute\":\"sun-fm-saml2-nameid-infokey\",\"_type\":{\"_id\":\"saml2\",\"name\":\"SAML v2.0 Service Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23260,7 +23229,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23276,7 +23245,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"-101444140\"" }, { "name": "expires", @@ -23292,11 +23261,11 @@ }, { "name": "content-length", - "value": "385" + "value": "550" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23313,8 +23282,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.467Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.347Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -23322,11 +23291,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 50 } }, { - "_id": "57673a324cb16e9954ac5fd7ff50cad6", + "_id": "eb9875228ef7147e5de4621398c00c10", "_order": 0, "cache": {}, "request": { @@ -23343,15 +23312,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23366,18 +23335,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 621, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/saml2?_action=nextdescendents" }, "response": { - "bodySize": 668, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -23395,7 +23369,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23409,10 +23383,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-152060055\"" - }, { "name": "expires", "value": "0" @@ -23427,11 +23397,11 @@ }, { "name": "content-length", - "value": "668" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23442,14 +23412,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.473Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.348Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -23457,11 +23427,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 47 } }, { - "_id": "a4d643de39c16824ae3bb0af2cfa64d9", + "_id": "c223ae344d92f0076d56754f8ccf8d21", "_order": 0, "cache": {}, "request": { @@ -23478,15 +23448,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23501,18 +23471,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 554, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest" }, "response": { - "bodySize": 1332, + "bodySize": 225, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 225, + "text": "{\"_id\":\"\",\"_rev\":\"672880621\",\"defaultProtocolVersion\":\"Latest\",\"descriptionsState\":\"STATIC\",\"defaultVersion\":\"Latest\",\"warningHeader\":true,\"csrfFilterEnabled\":true,\"_type\":{\"_id\":\"rest\",\"name\":\"REST APIs\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23530,7 +23500,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23546,7 +23516,7 @@ }, { "name": "etag", - "value": "\"756891103\"" + "value": "\"672880621\"" }, { "name": "expires", @@ -23562,11 +23532,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "225" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23577,14 +23547,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.486Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.348Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -23592,11 +23562,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 50 } }, { - "_id": "40c846c4bde98e561d73fc4f47eafeba", + "_id": "fd4fcf8598b331acc953c22fb136578e", "_order": 0, "cache": {}, "request": { @@ -23613,15 +23583,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23636,18 +23606,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 579, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/rest?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:42.349Z", + "time": 43, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 43 + } + }, + { + "_id": "b4511b714890cefdbbb02c19d8e3fef0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 559, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard" }, "response": { - "bodySize": 318, + "bodySize": 131, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23665,7 +23771,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23681,7 +23787,7 @@ }, { "name": "etag", - "value": "\"264081780\"" + "value": "\"436796111\"" }, { "name": "expires", @@ -23697,11 +23803,11 @@ }, { "name": "content-length", - "value": "318" + "value": "131" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:38 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23718,8 +23824,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.488Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.350Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -23727,11 +23833,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 47 } }, { - "_id": "0699b7c0159925a71a78ea237d5a5f1a", + "_id": "6380d20e535bf6bdc7586dc857494067", "_order": 0, "cache": {}, "request": { @@ -23748,15 +23854,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23771,18 +23877,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 584, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 831, + "bodySize": 797, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 797, + "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -23800,7 +23911,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23814,10 +23925,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1066064282\"" - }, { "name": "expires", "value": "0" @@ -23832,11 +23939,11 @@ }, { "name": "content-length", - "value": "831" + "value": "797" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23847,14 +23954,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.494Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.350Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -23862,11 +23969,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 53 } }, { - "_id": "c1fa279e046ed9d159c7379ffb4fe062", + "_id": "3e2b17ebbb1d1bdefaeebfdf27d464c6", "_order": 0, "cache": {}, "request": { @@ -23883,15 +23990,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -23906,18 +24013,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService" }, "response": { - "bodySize": 237, + "bodySize": 210, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 210, + "text": "{\"_id\":\"\",\"_rev\":\"-1449091672\",\"cacheDuration\":120,\"enable\":true,\"defaults\":{\"cacheDuration\":120,\"enable\":true},\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -23935,7 +24042,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -23951,7 +24058,7 @@ }, { "name": "etag", - "value": "\"-85053235\"" + "value": "\"-1449091672\"" }, { "name": "expires", @@ -23967,11 +24074,11 @@ }, { "name": "content-length", - "value": "237" + "value": "210" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -23982,14 +24089,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.500Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.351Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -23997,11 +24104,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 47 } }, { - "_id": "db397c9469282022c1c74b8193d314f6", + "_id": "871d773960955014a30ab316e7e64a9b", "_order": 0, "cache": {}, "request": { @@ -24018,15 +24125,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24041,18 +24148,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/IdentityAssertionService?_action=nextdescendents" }, "response": { - "bodySize": 1284, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24070,7 +24182,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24084,10 +24196,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"328700129\"" - }, { "name": "expires", "value": "0" @@ -24102,11 +24210,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24117,14 +24225,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.500Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.351Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -24132,11 +24240,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 56 } }, { - "_id": "52970e272da7ae87038e34338c69e152", + "_id": "a0d810781428518d1cf0ff2225e15208", "_order": 0, "cache": {}, "request": { @@ -24153,15 +24261,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24176,18 +24284,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 647, + "headersSize": 573, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 239, + "bodySize": 160, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 160, + "text": "{\"_id\":\"\",\"_rev\":\"646894732\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24205,7 +24313,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24221,7 +24329,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"646894732\"" }, { "name": "expires", @@ -24237,11 +24345,11 @@ }, { "name": "content-length", - "value": "239" + "value": "160" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24252,14 +24360,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.501Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.352Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -24267,11 +24375,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 42 } }, { - "_id": "c0ef040212c2b72c00bd2b3653d144e2", + "_id": "c0b6297f4137d115573ac570b1248d3c", "_order": 0, "cache": {}, "request": { @@ -24288,15 +24396,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24311,18 +24419,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 598, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:42.353Z", + "time": 47, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 47 + } + }, + { + "_id": "94fcb9a483ac462f0735765d2b5fedd2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 574, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService" }, "response": { - "bodySize": 1729, + "bodySize": 532, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 532, + "text": "{\"_id\":\"\",\"_rev\":\"-1117800721\",\"defaults\":{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\"},\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24340,7 +24584,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24356,7 +24600,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"-1117800721\"" }, { "name": "expires", @@ -24372,11 +24616,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "532" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24387,14 +24631,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.505Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.353Z", + "time": 48, "timings": { "blocked": -1, "connect": -1, @@ -24402,11 +24646,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 48 } }, { - "_id": "b5dedfcb8ec418c363d1089eba7588b7", + "_id": "054212a4f9e5244cf886befe5ccfc5db", "_order": 0, "cache": {}, "request": { @@ -24423,15 +24667,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24446,18 +24690,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 657, + "headersSize": 553, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma" }, "response": { - "bodySize": 327, + "bodySize": 703, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 703, + "text": "{\"_id\":\"\",\"_rev\":\"-401765880\",\"umaPolicyUpgradeCompatibilityMode\":false,\"defaults\":{\"generalSettings\":{\"pendingRequestsEnabled\":true,\"permissionTicketLifetime\":120,\"grantRptConditions\":[\"REQUEST_PARTIAL\",\"REQUEST_NONE\",\"TICKET_PARTIAL\"],\"deleteResourceSetsOnDeleteRS\":true,\"grantResourceOwnerImplicitConsent\":true,\"emailRequestingPartyOnPendingRequestApproval\":true,\"userProfileLocaleAttribute\":\"inetOrgPerson\",\"resharingMode\":\"IMPLICIT\",\"deletePoliciesOnDeleteRS\":true,\"emailResourceOwnerOnPendingRequestCreation\":true},\"claimsGathering\":{\"pctLifetime\":604800,\"claimsGatheringService\":\"[Empty]\",\"interactiveClaimsGatheringEnabled\":false}},\"_type\":{\"_id\":\"uma\",\"name\":\"UMA Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24475,7 +24719,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24491,7 +24735,7 @@ }, { "name": "etag", - "value": "\"2002571022\"" + "value": "\"-401765880\"" }, { "name": "expires", @@ -24507,11 +24751,11 @@ }, { "name": "content-length", - "value": "327" + "value": "703" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24528,8 +24772,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.511Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.354Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -24537,11 +24781,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 45 } }, { - "_id": "87695f7697465f9ccf73abfc87e088b0", + "_id": "98b5fc8fededd470eda67098a115b5a1", "_order": 0, "cache": {}, "request": { @@ -24558,15 +24802,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24581,18 +24825,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 599, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/authenticatorPushService?_action=nextdescendents" }, "response": { - "bodySize": 224, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24610,7 +24859,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24624,10 +24873,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1210949842\"" - }, { "name": "expires", "value": "0" @@ -24642,11 +24887,11 @@ }, { "name": "content-length", - "value": "224" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24657,14 +24902,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.512Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.354Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -24672,11 +24917,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 46 } }, { - "_id": "947f5e8d0b26ba3755b8982b05391d76", + "_id": "db5cbf0a88777f45b69914803ca46613", "_order": 0, "cache": {}, "request": { @@ -24693,15 +24938,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24716,18 +24961,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 578, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/uma?_action=nextdescendents" }, "response": { - "bodySize": 1285, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -24745,7 +24995,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24759,10 +25009,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1821134736\"" - }, { "name": "expires", "value": "0" @@ -24777,11 +25023,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24792,14 +25038,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.512Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.355Z", + "time": 41, "timings": { "blocked": -1, "connect": -1, @@ -24807,11 +25053,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 41 } }, { - "_id": "d78bd0e79a76056767ae5716e1f88752", + "_id": "118fe29414bfcf218c9c225007cda660", "_order": 0, "cache": {}, "request": { @@ -24828,15 +25074,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24851,18 +25097,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService" }, "response": { - "bodySize": 659, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"\",\"_rev\":\"-77106074\",\"appliedRuleIds\":[\"AME-23273\",\"AME-21032\",\"AME-21768\"],\"configurationVersion\":\"8.0.0.0\",\"_type\":{\"_id\":\"ConfigurationVersionService\",\"name\":\"Configuration Version Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -24880,7 +25126,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -24896,7 +25142,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"-77106074\"" }, { "name": "expires", @@ -24912,11 +25158,11 @@ }, { "name": "content-length", - "value": "659" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -24927,14 +25173,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.513Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.355Z", + "time": 44, "timings": { "blocked": -1, "connect": -1, @@ -24942,11 +25188,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 44 } }, { - "_id": "db34841aec18e027bacbb021da712f34", + "_id": "666bbf74cef6d480f38a85a433d6fb13", "_order": 0, "cache": {}, "request": { @@ -24963,15 +25209,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -24986,18 +25232,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService" }, "response": { - "bodySize": 299, + "bodySize": 289, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 289, + "text": "{\"_id\":\"\",\"_rev\":\"264274185\",\"radiusListenerEnabled\":\"NO\",\"radiusServerPort\":1812,\"radiusThreadPoolKeepaliveSeconds\":10,\"radiusThreadPoolMaxSize\":10,\"radiusThreadPoolCoreSize\":1,\"radiusThreadPoolQueueSize\":20,\"_type\":{\"_id\":\"RadiusServerService\",\"name\":\"RADIUS Server\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25015,7 +25261,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25031,7 +25277,7 @@ }, { "name": "etag", - "value": "\"-171890830\"" + "value": "\"264274185\"" }, { "name": "expires", @@ -25047,11 +25293,11 @@ }, { "name": "content-length", - "value": "299" + "value": "289" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25062,14 +25308,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.513Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.356Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -25077,11 +25323,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 47 } }, { - "_id": "a471f150133917cc4bfb9cc945a57fd5", + "_id": "46dbb3e41f5cca4424133bad967f8588", "_order": 0, "cache": {}, "request": { @@ -25098,15 +25344,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25121,18 +25367,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/ConfigurationVersionService?_action=nextdescendents" }, "response": { - "bodySize": 222, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25150,7 +25401,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25164,10 +25415,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1709503699\"" - }, { "name": "expires", "value": "0" @@ -25182,11 +25429,11 @@ }, { "name": "content-length", - "value": "222" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25197,14 +25444,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.513Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.356Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -25212,11 +25459,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 53 } }, { - "_id": "87f807be88293e9b34bafa20dbe826ab", + "_id": "2d6f6519950a4f89e1231a6584b08b17", "_order": 0, "cache": {}, "request": { @@ -25233,15 +25480,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25256,18 +25503,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 594, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RadiusServerService?_action=nextdescendents" }, "response": { - "bodySize": 279, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25285,7 +25537,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25299,10 +25551,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"580379617\"" - }, { "name": "expires", "value": "0" @@ -25317,11 +25565,11 @@ }, { "name": "content-length", - "value": "279" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25332,14 +25580,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.514Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.357Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -25347,11 +25595,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 54 } }, { - "_id": "fac9425cb1cb342b58a8ecc4da433523", + "_id": "25ba1d71d0d0a758cf0fc87814e33305", "_order": 0, "cache": {}, "request": { @@ -25368,15 +25616,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25391,18 +25639,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 1697, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1697, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25420,7 +25673,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25434,10 +25687,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1066789654\"" - }, { "name": "expires", "value": "0" @@ -25452,11 +25701,11 @@ }, { "name": "content-length", - "value": "1697" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25467,14 +25716,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.519Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.358Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -25482,11 +25731,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 50 } }, { - "_id": "5a899e3a6e808edb7e9e718e3b4c8865", + "_id": "b6a2ca29b40c72e5615f444f96d44536", "_order": 0, "cache": {}, "request": { @@ -25503,15 +25752,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25526,18 +25775,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/selfServiceTrees" }, "response": { - "bodySize": 221, + "bodySize": 158, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 158, + "text": "{\"_id\":\"\",\"_rev\":\"-1844260382\",\"defaults\":{\"treeMapping\":{},\"enabled\":true},\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25555,7 +25804,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25571,7 +25820,7 @@ }, { "name": "etag", - "value": "\"1217170264\"" + "value": "\"-1844260382\"" }, { "name": "expires", @@ -25587,11 +25836,11 @@ }, { "name": "content-length", - "value": "221" + "value": "158" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25602,14 +25851,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.524Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.358Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -25617,11 +25866,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 50 } }, { - "_id": "1bcc6043a2d437f6ca7f352e7d40e50a", + "_id": "6d502387369dca8362490c18ad2fea27", "_order": 0, "cache": {}, "request": { @@ -25638,15 +25887,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25661,18 +25910,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 280, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -25690,7 +25944,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25704,10 +25958,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-567112083\"" - }, { "name": "expires", "value": "0" @@ -25722,11 +25972,11 @@ }, { "name": "content-length", - "value": "280" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25737,14 +25987,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.524Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.359Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -25752,11 +26002,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 42 } }, { - "_id": "384b4b226e0c9d04dc9970b7e5291225", + "_id": "08221c1ba5e9d241df0d31281cf428fd", "_order": 0, "cache": {}, "request": { @@ -25773,15 +26023,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25796,18 +26046,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/pingOneWorkerService" }, "response": { - "bodySize": 238, + "bodySize": 149, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 149, + "text": "{\"_id\":\"\",\"_rev\":\"-1375352311\",\"defaults\":{\"enabled\":true},\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25825,7 +26075,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25841,7 +26091,7 @@ }, { "name": "etag", - "value": "\"613466196\"" + "value": "\"-1375352311\"" }, { "name": "expires", @@ -25857,11 +26107,11 @@ }, { "name": "content-length", - "value": "238" + "value": "149" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -25872,14 +26122,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.525Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.359Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -25887,11 +26137,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 50 } }, { - "_id": "c7057919e88985516083006a79a11ce5", + "_id": "824ac842d846422b330604053d231372", "_order": 0, "cache": {}, "request": { @@ -25908,15 +26158,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -25931,18 +26181,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 555, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email" }, "response": { - "bodySize": 206, + "bodySize": 269, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 269, + "text": "{\"_id\":\"\",\"_rev\":\"-1519962359\",\"defaults\":{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"port\":465,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"sslState\":\"SSL\"},\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -25960,7 +26210,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -25976,7 +26226,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"-1519962359\"" }, { "name": "expires", @@ -25992,11 +26242,11 @@ }, { "name": "content-length", - "value": "206" + "value": "269" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26007,14 +26257,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.525Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.360Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -26022,11 +26272,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 42 } }, { - "_id": "3e9f89c577065c1c977fa82e88b8314e", + "_id": "dff6ae73d1f57c4056922e398d7c4868", "_order": 0, "cache": {}, "request": { @@ -26043,15 +26293,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26066,18 +26316,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 580, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 659, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26095,7 +26350,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26109,10 +26364,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1140433090\"" - }, { "name": "expires", "value": "0" @@ -26127,11 +26378,11 @@ }, { "name": "content-length", - "value": "659" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26142,14 +26393,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.526Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.360Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -26157,11 +26408,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 46 } }, { - "_id": "f6e96a2576e2b55a1df1aafe6b90b410", + "_id": "71cd40ac77e59b1ece5c4fca0f3d191a", "_order": 0, "cache": {}, "request": { @@ -26178,15 +26429,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26201,18 +26452,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist?_action=nextdescendents" }, "response": { - "bodySize": 207, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26230,7 +26486,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26244,10 +26500,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-943748018\"" - }, { "name": "expires", "value": "0" @@ -26262,11 +26514,11 @@ }, { "name": "content-length", - "value": "207" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26277,14 +26529,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.526Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.361Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -26292,11 +26544,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 46 } }, { - "_id": "5003c2d23cb608db462278edfb1d2c88", + "_id": "184da6965f916475471a348d602e72f0", "_order": 0, "cache": {}, "request": { @@ -26313,15 +26565,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26336,18 +26588,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 576, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/oath_registration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/amSessionPropertyWhitelist" }, "response": { - "bodySize": 1299, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1299, - "text": "{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 223, + "text": "{\"_id\":\"\",\"_rev\":\"-1376583802\",\"defaults\":{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[]},\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26365,7 +26617,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26381,7 +26633,7 @@ }, { "name": "etag", - "value": "\"-1908077864\"" + "value": "\"-1376583802\"" }, { "name": "expires", @@ -26397,11 +26649,11 @@ }, { "name": "content-length", - "value": "1299" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26412,14 +26664,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.531Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.361Z", + "time": 48, "timings": { "blocked": -1, "connect": -1, @@ -26427,11 +26679,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 48 } }, { - "_id": "cb7e4cde1f56a7b646e042adaabbe61d", + "_id": "0f0d0a4b453852d74dd95eb75158145d", "_order": 0, "cache": {}, "request": { @@ -26448,15 +26700,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26471,18 +26723,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/35ca2418-908d-4b92-9320-ef8576851abb" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"35ca2418-908d-4b92-9320-ef8576851abb\",\"_rev\":\"1611669530\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -26500,7 +26757,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26514,10 +26771,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1611669530\"" - }, { "name": "expires", "value": "0" @@ -26532,11 +26785,11 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26547,14 +26800,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.535Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.362Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -26562,11 +26815,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 39 } }, { - "_id": "939860549cda52b4afa59c827001e1b5", + "_id": "aa8d0efd6027cf434cdf7717533d5129", "_order": 0, "cache": {}, "request": { @@ -26583,15 +26836,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26606,18 +26859,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 650, + "headersSize": 561, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathRegistrationNode/9bfb80e1-e05a-4b3c-90bd-7091c2839e28" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/transaction" }, "response": { - "bodySize": 585, + "bodySize": 154, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 585, - "text": "{\"_id\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"_rev\":\"623406650\",\"addChecksum\":false,\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"truncationOffset\":-1,\"algorithm\":\"TOTP\",\"postponeDeviceProfileStorage\":false,\"passwordLength\":\"SIX_DIGITS\",\"totpTimeInterval\":30,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"minSharedSecretLength\":32,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"_type\":{\"_id\":\"OathRegistrationNode\",\"name\":\"OATH Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"}]}" + "size": 154, + "text": "{\"_id\":\"\",\"_rev\":\"952091551\",\"defaults\":{\"timeToLive\":\"180\"},\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26635,7 +26888,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26651,7 +26904,7 @@ }, { "name": "etag", - "value": "\"623406650\"" + "value": "\"952091551\"" }, { "name": "expires", @@ -26667,11 +26920,11 @@ }, { "name": "content-length", - "value": "585" + "value": "154" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26688,8 +26941,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.536Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.362Z", + "time": 46, "timings": { "blocked": -1, "connect": -1, @@ -26697,11 +26950,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 46 } }, { - "_id": "a21bb92ddfe6721146ce50dfdd12987d", + "_id": "906eb3085924f249274ad9bf9413de4f", "_order": 0, "cache": {}, "request": { @@ -26718,15 +26971,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26741,18 +26994,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 561, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathTokenVerifierNode/ab49ab43-4d09-46f2-a9ba-7330a6a7dce6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService" }, "response": { - "bodySize": 495, + "bodySize": 115, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 495, - "text": "{\"_id\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\",\"_rev\":\"-745017813\",\"totpTimeInterval\":30,\"maximumAllowedClockDrift\":5,\"totpTimeSteps\":2,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"isRecoveryCodeAllowed\":false,\"algorithm\":\"TOTP\",\"hotpWindowSize\":100,\"_type\":{\"_id\":\"OathTokenVerifierNode\",\"name\":\"OATH Token Verifier\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"notRegisteredOutcome\",\"displayName\":\"Not registered\"}]}" + "size": 115, + "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -26770,7 +27023,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -26786,7 +27039,7 @@ }, { "name": "etag", - "value": "\"-745017813\"" + "value": "\"515901845\"" }, { "name": "expires", @@ -26802,11 +27055,11 @@ }, { "name": "content-length", - "value": "495" + "value": "115" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -26817,14 +27070,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.536Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.363Z", + "time": 43, "timings": { "blocked": -1, "connect": -1, @@ -26832,11 +27085,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 43 } }, { - "_id": "ab5fb701b86652a0ca74913f7d317f53", + "_id": "b1c6a0d5b2c3fa4321123ce891a0b536", "_order": 0, "cache": {}, "request": { @@ -26853,15 +27106,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -26876,153 +27129,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/fc5481db-cbee-479f-915a-2b40c54ce04e" - }, - "response": { - "bodySize": 463, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 463, - "text": "{\"_id\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"_rev\":\"478652641\",\"nodes\":[{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"478652641\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "463" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, + "headersSize": 586, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.536Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "38b1225ea7e528a71712906608ce6dca", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 651, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7d7c8acb-e39b-466c-bbaf-cc70a3bf247c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/CorsService?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"_rev\":\"538550255\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27040,7 +27163,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27054,10 +27177,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"538550255\"" - }, { "name": "expires", "value": "0" @@ -27072,11 +27191,11 @@ }, { "name": "content-length", - "value": "258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27087,14 +27206,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.541Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.363Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -27102,11 +27221,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 47 } }, { - "_id": "649b0ef8f7319b1c407321225580f9f0", + "_id": "4cb14745eb57c6e8f52b8c1c55244d88", "_order": 0, "cache": {}, "request": { @@ -27123,15 +27242,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27146,18 +27265,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/a2f9aa81-fdea-403d-bcc8-a5342cc5d34f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService" }, "response": { - "bodySize": 259, + "bodySize": 218, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"_rev\":\"1283625433\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 218, + "text": "{\"_id\":\"\",\"_rev\":\"-407983627\",\"defaults\":{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5},\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -27175,7 +27294,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27191,7 +27310,7 @@ }, { "name": "etag", - "value": "\"1283625433\"" + "value": "\"-407983627\"" }, { "name": "expires", @@ -27207,11 +27326,11 @@ }, { "name": "content-length", - "value": "259" + "value": "218" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27228,8 +27347,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.542Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.364Z", + "time": 41, "timings": { "blocked": -1, "connect": -1, @@ -27237,11 +27356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 41 } }, { - "_id": "ec8795e97e539750e4fe5ce5478ab166", + "_id": "567afac7b64fac9fc44eee1ee3f9629f", "_order": 0, "cache": {}, "request": { @@ -27258,15 +27377,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27281,18 +27400,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 609, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/RemoteConsentService?_action=nextdescendents" }, "response": { - "bodySize": 1258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -27310,7 +27434,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27324,10 +27448,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1882065253\"" - }, { "name": "expires", "value": "0" @@ -27342,11 +27462,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27357,14 +27477,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.547Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.364Z", + "time": 44, "timings": { "blocked": -1, "connect": -1, @@ -27372,11 +27492,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 44 } }, { - "_id": "c1d0d05e6cd91d387279d4e53ab67fa3", + "_id": "48812618994142d904f197bd7436cfd6", "_order": 0, "cache": {}, "request": { @@ -27393,15 +27513,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27416,18 +27536,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService" }, "response": { - "bodySize": 207, + "bodySize": 163, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 163, + "text": "{\"_id\":\"\",\"_rev\":\"2076588921\",\"enabled\":true,\"_type\":{\"_id\":\"GoogleCloudServiceAccountService\",\"name\":\"Google Cloud Platform Service Accounts\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -27445,7 +27565,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27461,7 +27581,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"2076588921\"" }, { "name": "expires", @@ -27477,11 +27597,11 @@ }, { "name": "content-length", - "value": "207" + "value": "163" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27498,8 +27618,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.552Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.365Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -27507,11 +27627,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 38 } }, { - "_id": "14b5a16b34b1cc1351f4e912333a510c", + "_id": "c1ff5d9924add9877b5de2aae1899253", "_order": 0, "cache": {}, "request": { @@ -27528,15 +27648,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27551,18 +27671,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 607, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/services/GoogleCloudServiceAccountService?_action=nextdescendents" }, "response": { - "bodySize": 348, + "bodySize": 201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 201, + "text": "{\"result\":[{\"disallowedSecretNamePatterns\":[],\"allowedRealms\":[\"*\"],\"allowedSecretNamePatterns\":[\"*\"],\"_id\":\"default\",\"_type\":{\"_id\":\"serviceAccounts\",\"name\":\"GCP Service Account\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -27580,7 +27705,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -27594,10 +27719,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1056905201\"" - }, { "name": "expires", "value": "0" @@ -27612,11 +27733,11 @@ }, { "name": "content-length", - "value": "348" + "value": "201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27627,14 +27748,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.553Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.366Z", + "time": 44, "timings": { "blocked": -1, "connect": -1, @@ -27642,11 +27763,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 44 } }, { - "_id": "b5f8e0b4d452715cc94a05241260a913", + "_id": "b07b722406a6f6bb8728cd0350a0aa27", "_order": 0, "cache": {}, "request": { @@ -27663,15 +27784,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -27686,18 +27807,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 564, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/global-config/sites?_queryFilter=true" }, "response": { - "bodySize": 401, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 295, + "text": "{\"result\":[{\"_id\":\"testsite\",\"_rev\":\"-1812603459\",\"id\":\"02\",\"url\":\"http://testurl.com:8080\",\"secondaryURLs\":[],\"servers\":[{\"id\":\"03\",\"url\":\"http://localhost:8081/am\"}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -27715,7 +27841,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -27729,10 +27855,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2091792219\"" - }, { "name": "expires", "value": "0" @@ -27747,11 +27869,11 @@ }, { "name": "content-length", - "value": "401" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27762,14 +27884,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.553Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.425Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -27777,11 +27899,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "f3347e597b592fdf58b1d2aab73e27bc", + "_id": "d6b1ddcc1a60b3acba7ba0383d6c2f61", "_order": 0, "cache": {}, "request": { @@ -27798,15 +27920,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -27821,18 +27943,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 575, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 205, + "bodySize": 275, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 275, + "text": "{\"result\":[{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-419353115\",\"entityId\":\"Test Entity\",\"location\":\"hosted\",\"roles\":[\"identityProvider\",\"serviceProvider\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -27850,7 +27977,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -27864,10 +27991,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"49533813\"" - }, { "name": "expires", "value": "0" @@ -27882,11 +28005,11 @@ }, { "name": "content-length", - "value": "205" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -27897,14 +28020,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.553Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.432Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -27912,11 +28035,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 7 } }, { - "_id": "8e0add441703faaf8747c69765e7eef4", + "_id": "b7f90fbbb1bc9e5b328ec4bc16a64c91", "_order": 0, "cache": {}, "request": { @@ -27933,15 +28056,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -27956,18 +28079,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 580, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/saml2/hosted/VGVzdCBFbnRpdHk" }, "response": { - "bodySize": 240, + "bodySize": 7102, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 7102, + "text": "{\"_id\":\"VGVzdCBFbnRpdHk\",\"_rev\":\"-1034855459\",\"entityId\":\"Test Entity\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\",\"binary\":false}]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}]},\"assertionTime\":{\"notBeforeTimeSkew\":600,\"effectiveTime\":600},\"basicAuthentication\":{},\"assertionCache\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"localConfiguration\":{}},\"services\":{\"metaAlias\":\"/test\",\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/ArtifactResolver/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPSloPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPSloSoap/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniRedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"http://localhost:8080/am/IDPMniPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/IDPMniSoap/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SSORedirect/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SSOPOST/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SSOSoap/metaAlias/test\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/NIMSoap/metaAlias/test\"}],\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"http://localhost:8080/am/AIDReqUri/IDPRole/metaAlias/test\"}]},\"advanced\":{\"saeConfiguration\":{\"idpUrl\":\"http://localhost:8080/am/idpsaehandler/metaAlias/test\"},\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"sessionSynchronization\":{},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"}}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}]},\"autoFederation\":{},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{\"spAdapterScript\":\"[Empty]\"}},\"services\":{\"metaAlias\":\"/test2\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPSloPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPSloSoap/metaAlias/test2\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniRedirect/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniPOST/metaAlias/test2\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\",\"responseLocation\":\"http://localhost:8080/am/SPMniSoap/metaAlias/test2\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"http://localhost:8080/am/Consumer/metaAlias/test2\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"http://localhost:8080/am/Consumer/ECP/metaAlias/test2\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"http://localhost:8080/am/spsaehandler/metaAlias/test2\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" }, "cookies": [], "headers": [ @@ -27985,7 +28108,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28001,7 +28124,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"-1034855459\"" }, { "name": "expires", @@ -28017,11 +28140,11 @@ }, { "name": "content-length", - "value": "240" + "value": "7102" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28032,14 +28155,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.554Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.444Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -28047,11 +28170,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 8 } }, { - "_id": "cc68eba3eaeb0422c7a0cea11595c457", + "_id": "f413738e5b3c3d850a98db6d9acacf68", "_order": 0, "cache": {}, "request": { @@ -28068,15 +28191,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28091,20 +28214,36 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 618, + "headersSize": 583, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "queryString": [ + { + "name": "entityid", + "value": "Test Entity" + }, + { + "name": "realm", + "value": "/" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/saml2/jsp/exportmetadata.jsp?entityid=Test%20Entity&realm=%2F" }, "response": { - "bodySize": 1052, + "bodySize": 12743, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "mimeType": "text/xml;charset=utf-8", + "size": 12743, + "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" }, - "cookies": [], + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "value": "" + } + ], "headers": [ { "name": "x-frame-options", @@ -28115,32 +28254,9 @@ "value": "nosniff" }, { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"460502738\"" - }, - { - "name": "expires", - "value": "0" + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; HttpOnly" }, { "name": "pragma", @@ -28148,15 +28264,15 @@ }, { "name": "content-type", - "value": "application/json;charset=UTF-8" + "value": "text/xml;charset=utf-8" }, { - "name": "content-length", - "value": "1052" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28167,14 +28283,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 310, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.559Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.456Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -28182,11 +28298,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 8 } }, { - "_id": "de2361902b14ddb219d17034dcb9d4c8", + "_id": "16b4d6835311083e9a04b8f180be0624", "_order": 0, "cache": {}, "request": { @@ -28203,15 +28319,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28226,18 +28342,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 595, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 265, + "bodySize": 293, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 293, + "text": "{\"result\":[{\"_id\":\"Test COT\",\"_rev\":\"-2140927674\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -28255,7 +28376,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -28269,10 +28390,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1300278465\"" - }, { "name": "expires", "value": "0" @@ -28287,11 +28404,11 @@ }, { "name": "content-length", - "value": "265" + "value": "293" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28302,14 +28419,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.565Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.468Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -28317,15 +28434,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 5 } }, { - "_id": "41a7fb4e7305b065b48e731d7f620c94", + "_id": "5a4bfd0e4010e635b39bbcf6b3cee554", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -28338,20 +28455,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -28361,18 +28482,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 609, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 437, + "bodySize": 15951, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 15951, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://test.com:8080/cool/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"testwebgroup\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"Test Web Group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"Test Java Group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"advancedOAuth2ClientConfig\":{\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"signEncOAuth2ClientConfig\":{\"authorizationResponseEncryptionMethod\":null,\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_id\":\"Oauth2 group\",\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"publishServicePollInterval\":300,\"_id\":\"Test SOAP STS group\",\"_type\":{\"_id\":\"SoapSTSAgent\",\"name\":\"SOAP STS Agents\",\"collection\":true}},{\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_id\":\"Remote consent group\",\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}},{\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"_id\":\"Software publisher group\",\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}},{\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"Test IG Group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_id\":\"Trusted JWT group\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -28390,7 +28521,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28404,10 +28535,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1682915712\"" - }, { "name": "expires", "value": "0" @@ -28421,12 +28548,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "437" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28437,14 +28564,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 472, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.565Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.478Z", + "time": 16, "timings": { "blocked": -1, "connect": -1, @@ -28452,11 +28579,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 16 } }, { - "_id": "307e77f88ad295ac9c29deba3da6fbb9", + "_id": "0f3fe51aa0436d2dc74ad859cedb3563", "_order": 0, "cache": {}, "request": { @@ -28473,15 +28600,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28496,18 +28623,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 586, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 474, + "bodySize": 327, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 327, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-120305353\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"userpassword\":null,\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -28525,7 +28657,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -28539,10 +28671,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1018162955\"" - }, { "name": "expires", "value": "0" @@ -28557,11 +28685,11 @@ }, { "name": "content-length", - "value": "474" + "value": "327" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28572,14 +28700,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.565Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.500Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -28587,11 +28715,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 9 } }, { - "_id": "f9f578e6f5836db8de99fe082c63d505", + "_id": "17a7c6fbcaf476f8afc67b6596464df0", "_order": 0, "cache": {}, "request": { @@ -28608,15 +28736,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28631,18 +28759,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 597, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 273, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 436, + "text": "{\"result\":[{\"_id\":\"Test IG\",\"_rev\":\"2092403291\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"userpassword\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -28660,7 +28793,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -28674,10 +28807,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1599353126\"" - }, { "name": "expires", "value": "0" @@ -28692,11 +28821,11 @@ }, { "name": "content-length", - "value": "273" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28707,14 +28836,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.566Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.501Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -28722,11 +28851,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 9 } }, { - "_id": "e3f8cde78703d5d214b15df2803c9a59", + "_id": "d83aa555544160429e636285897f1520", "_order": 0, "cache": {}, "request": { @@ -28743,15 +28872,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28766,18 +28895,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 588, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 305, + "bodySize": 87, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ @@ -28795,7 +28929,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -28809,10 +28943,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"104930768\"" - }, { "name": "expires", "value": "0" @@ -28827,29 +28957,25 @@ }, { "name": "content-length", - "value": "305" + "value": "87" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "connection", - "value": "keep-alive" + "value": "close" } ], - "headersSize": 484, + "headersSize": 435, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 501, + "statusText": "Not Implemented" }, - "startedDateTime": "2024-10-22T22:49:39.571Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.502Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -28857,11 +28983,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "4cf3d661cba37e823acd1be25b4c17f5", + "_id": "c599288e5350ec265059828409fafbfc", "_order": 0, "cache": {}, "request": { @@ -28878,15 +29004,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -28901,18 +29027,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 606, + "headersSize": 586, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { - "bodySize": 1047, + "bodySize": 5425, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 5425, + "text": "{\"result\":[{\"_id\":\"test java\",\"_rev\":\"-1966552764\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/test/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":\"Test Java Group\",\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/test/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -28930,7 +29061,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -28944,10 +29075,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2033523620\"" - }, { "name": "expires", "value": "0" @@ -28962,11 +29089,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "5425" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -28977,14 +29104,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.575Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.502Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -28992,11 +29119,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 9 } }, { - "_id": "24f98dad3fc890f31f9131f10e6761f2", + "_id": "5e52bfd8d92df609bf6dd870b3b17721", "_order": 0, "cache": {}, "request": { @@ -29013,15 +29140,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29036,18 +29163,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 595, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { - "bodySize": 243, + "bodySize": 810, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29065,7 +29197,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -29079,10 +29211,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1707653179\"" - }, { "name": "expires", "value": "0" @@ -29097,11 +29225,11 @@ }, { "name": "content-length", - "value": "243" + "value": "810" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29112,14 +29240,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.581Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.503Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -29127,11 +29255,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 7 } }, { - "_id": "a92648e0e513ab2f9abb1797d4a1e2c0", + "_id": "d33544e79727b38cb1476635f480c5fe", "_order": 0, "cache": {}, "request": { @@ -29148,15 +29276,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29171,18 +29299,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 588, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { - "bodySize": 278, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29200,7 +29333,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29214,10 +29347,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1613803341\"" - }, { "name": "expires", "value": "0" @@ -29232,11 +29361,11 @@ }, { "name": "content-length", - "value": "278" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29247,14 +29376,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.581Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.503Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -29262,11 +29391,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "5f2eebbc97a437c2f163f80d12a6de9c", + "_id": "e5a82b9ad729e21a73eb21c125799e29", "_order": 0, "cache": {}, "request": { @@ -29283,15 +29412,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29306,18 +29435,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 594, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { - "bodySize": 239, + "bodySize": 478, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29335,7 +29469,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -29349,10 +29483,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1478640305\"" - }, { "name": "expires", "value": "0" @@ -29367,11 +29497,11 @@ }, { "name": "content-length", - "value": "239" + "value": "478" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29382,14 +29512,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.582Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.504Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -29397,11 +29527,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 7 } }, { - "_id": "75e57f4451a5151352a96b749257aa32", + "_id": "1e0a12379a1bd6e77d20975aad18e164", "_order": 0, "cache": {}, "request": { @@ -29418,15 +29548,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29441,18 +29571,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/SoapSTSAgent?_queryFilter=true" }, "response": { - "bodySize": 711, + "bodySize": 306, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 306, + "text": "{\"result\":[{\"_id\":\"Test SOAP STS\",\"_rev\":\"1085485165\",\"publishServicePollInterval\":300,\"agentgroup\":null,\"_type\":{\"_id\":\"SoapSTSAgent\",\"name\":\"SOAP STS Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29470,7 +29605,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -29484,10 +29619,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-202662309\"" - }, { "name": "expires", "value": "0" @@ -29502,11 +29633,11 @@ }, { "name": "content-length", - "value": "711" + "value": "306" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29517,14 +29648,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.582Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.504Z", + "time": 8, "timings": { "blocked": -1, "connect": -1, @@ -29532,11 +29663,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 8 } }, { - "_id": "cbae75a29392c168b5169a3631a069dc", + "_id": "89988287e6deabeb2a140b1645472c7a", "_order": 0, "cache": {}, "request": { @@ -29553,15 +29684,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29576,18 +29707,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 3713, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 3713, + "text": "{\"result\":[{\"_id\":\"Test Web\",\"_rev\":\"899560106\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"userpassword\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testurl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29605,7 +29741,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -29619,10 +29755,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"128653632\"" - }, { "name": "expires", "value": "0" @@ -29637,11 +29769,11 @@ }, { "name": "content-length", - "value": "258" + "value": "3713" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29652,14 +29784,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.587Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.505Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -29667,11 +29799,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "bc356676a43d6cd88c77db4d8db7d08f", + "_id": "6ffa07e8591b72f4066208a2dc37fe81", "_order": 0, "cache": {}, "request": { @@ -29688,15 +29820,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29711,18 +29843,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc" }, "response": { - "bodySize": 260, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -29740,7 +29872,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -29756,7 +29888,7 @@ }, { "name": "etag", - "value": "\"-1790782773\"" + "value": "\"2117196426\"" }, { "name": "expires", @@ -29771,12 +29903,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "260" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29787,13 +29919,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.588Z", + "startedDateTime": "2024-11-06T16:35:42.518Z", "time": 3, "timings": { "blocked": -1, @@ -29806,7 +29938,7 @@ } }, { - "_id": "8de752ffec9e3b3dd0aea8d9f48461ac", + "_id": "0be90d7b6e7dd4855d706b20e525f54a", "_order": 0, "cache": {}, "request": { @@ -29823,15 +29955,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29846,18 +29978,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 619, + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 1119, + "bodySize": 3851, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 3851, + "text": "{\"result\":[{\"_id\":\"test client\",\"_rev\":\"34495015\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -29875,7 +30012,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -29889,10 +30026,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-686533928\"" - }, { "name": "expires", "value": "0" @@ -29907,11 +30040,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "3851" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -29922,14 +30055,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.595Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.526Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -29937,11 +30070,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 6 } }, { - "_id": "68043464f486d95bdae1f93943eaf345", + "_id": "011d22df4815560b84d2c34a13278ef2", "_order": 0, "cache": {}, "request": { @@ -29958,15 +30091,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -29981,18 +30114,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication" }, "response": { - "bodySize": 376, + "bodySize": 1299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1299, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370265\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -30010,7 +30143,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30026,7 +30159,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"-2141370265\"" }, { "name": "expires", @@ -30042,11 +30175,11 @@ }, { "name": "content-length", - "value": "376" + "value": "1299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30057,13 +30190,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.601Z", + "startedDateTime": "2024-11-06T16:35:42.537Z", "time": 2, "timings": { "blocked": -1, @@ -30076,11 +30209,11 @@ } }, { - "_id": "a103b6cc9e80a9148faffd133107119b", + "_id": "d6741a7ea4fcd850a94e70818d8bcaeb", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -30093,20 +30226,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -30116,18 +30253,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 628, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 404, + "bodySize": 1460, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1460, + "text": "{\"result\":[{\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"clientId\":\"test\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonClass\":\"\",\"buttonImage\":\"images/g-logo.png\",\"buttonDisplayName\":\"Google\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"iconClass\":\"fa-google\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://testurl.com\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"useCustomTrustStore\":false,\"responseMode\":\"DEFAULT\",\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"Google Test\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -30145,7 +30292,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30159,10 +30306,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1655043290\"" - }, { "name": "expires", "value": "0" @@ -30177,11 +30320,11 @@ }, { "name": "content-length", - "value": "404" + "value": "1460" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30192,14 +30335,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.602Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.544Z", + "time": 14, "timings": { "blocked": -1, "connect": -1, @@ -30207,11 +30350,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 14 } }, { - "_id": "ff4cde59b928bdfd379441f53fc20c64", + "_id": "54773fdb435a4cd39e13cec564ed6a56", "_order": 0, "cache": {}, "request": { @@ -30228,15 +30371,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -30251,18 +30394,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 583, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts/58d29080-4563-480b-89bb-1e7719776a21" }, "response": { - "bodySize": 300, + "bodySize": 1415, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1415, + "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -30280,7 +30423,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -30294,10 +30437,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1735965231\"" - }, { "name": "expires", "value": "0" @@ -30312,11 +30451,11 @@ }, { "name": "content-length", - "value": "300" + "value": "1415" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30327,13 +30466,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.602Z", + "startedDateTime": "2024-11-06T16:35:42.563Z", "time": 2, "timings": { "blocked": -1, @@ -30346,7 +30485,7 @@ } }, { - "_id": "d76f02fc3facdeb9109fa3ba9ce67edc", + "_id": "9c7ac5d847f63f1218896fc2f2526d06", "_order": 0, "cache": {}, "request": { @@ -30363,15 +30502,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -30386,18 +30525,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 610, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 340, + "bodySize": 22262, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 22262, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true},{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true},{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}],\"resultCount\":19,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -30415,7 +30559,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -30429,10 +30573,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"712832963\"" - }, { "name": "expires", "value": "0" @@ -30446,12 +30586,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "340" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30462,14 +30602,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.603Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.570Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -30477,11 +30617,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "3f2a1abe64d10da7fbed71fd61254daf", + "_id": "93a17c35082b335e3a24bfd4d831dcd4", "_order": 0, "cache": {}, "request": { @@ -30498,15 +30638,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -30521,18 +30661,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Agent" }, "response": { - "bodySize": 351, + "bodySize": 676, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -30550,7 +30690,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30566,7 +30706,7 @@ }, { "name": "etag", - "value": "\"-1799080778\"" + "value": "\"-1016023191\"" }, { "name": "expires", @@ -30582,11 +30722,11 @@ }, { "name": "content-length", - "value": "351" + "value": "676" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30603,8 +30743,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.608Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.578Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -30612,11 +30752,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "a87709ffdc21c7fefad0156bb1764988", + "_id": "ca20f5d91851ab3027484a85464e0075", "_order": 0, "cache": {}, "request": { @@ -30633,15 +30773,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -30656,18 +30796,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 656, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" }, "response": { - "bodySize": 819, + "bodySize": 250, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -30685,7 +30825,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30701,7 +30841,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"1036485453\"" }, { "name": "expires", @@ -30717,11 +30857,11 @@ }, { "name": "content-length", - "value": "819" + "value": "250" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30738,8 +30878,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.614Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.588Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -30747,11 +30887,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "51d4fc40951eea3fec7c284468f137af", + "_id": "204ce19cfa6edca3188577cd85e06f4d", "_order": 0, "cache": {}, "request": { @@ -30768,15 +30908,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -30791,18 +30931,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 653, + "headersSize": 647, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" }, "response": { - "bodySize": 243, + "bodySize": 384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -30820,7 +30960,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30836,7 +30976,7 @@ }, { "name": "etag", - "value": "\"1743893705\"" + "value": "\"482303273\"" }, { "name": "expires", @@ -30852,11 +30992,11 @@ }, { "name": "content-length", - "value": "243" + "value": "384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -30867,14 +31007,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.621Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.589Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -30882,11 +31022,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "230af9b4afa85d96accb2b7d7e0e998c", + "_id": "0eccafbc13d10a34ff5fcee74492dff8", "_order": 0, "cache": {}, "request": { @@ -30903,15 +31043,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -30926,18 +31066,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 600, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Example" }, "response": { - "bodySize": 271, + "bodySize": 1043, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -30955,7 +31095,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -30971,7 +31111,7 @@ }, { "name": "etag", - "value": "\"1895090878\"" + "value": "\"-536916143\"" }, { "name": "expires", @@ -30987,11 +31127,11 @@ }, { "name": "content-length", - "value": "271" + "value": "1043" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31002,13 +31142,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.622Z", + "startedDateTime": "2024-11-06T16:35:42.596Z", "time": 3, "timings": { "blocked": -1, @@ -31021,7 +31161,7 @@ } }, { - "_id": "27838e48d2d84ec0169373525d6e1176", + "_id": "bdb0662e3e0394951eae09a95fa5f31f", "_order": 0, "cache": {}, "request": { @@ -31038,15 +31178,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31061,18 +31201,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" }, "response": { - "bodySize": 959, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31090,7 +31230,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31106,7 +31246,7 @@ }, { "name": "etag", - "value": "\"-1037301643\"" + "value": "\"-1271206475\"" }, { "name": "expires", @@ -31122,11 +31262,11 @@ }, { "name": "content-length", - "value": "959" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31143,8 +31283,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.622Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.602Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -31152,11 +31292,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "227865ce09d751927b597045b968a37c", + "_id": "930db69307f61b5ea83ae755a2ca7d10", "_order": 0, "cache": {}, "request": { @@ -31173,15 +31313,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31200,14 +31340,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" }, "response": { - "bodySize": 259, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 239, + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -31225,7 +31365,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31241,7 +31381,7 @@ }, { "name": "etag", - "value": "\"-1365755177\"" + "value": "\"1201833788\"" }, { "name": "expires", @@ -31257,11 +31397,11 @@ }, { "name": "content-length", - "value": "259" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31272,13 +31412,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.629Z", + "startedDateTime": "2024-11-06T16:35:42.603Z", "time": 2, "timings": { "blocked": -1, @@ -31291,7 +31431,7 @@ } }, { - "_id": "ef3c042d37501c2232538b7f383823d9", + "_id": "5fd52411fd457934867c0c383b90471c", "_order": 0, "cache": {}, "request": { @@ -31308,15 +31448,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31331,18 +31471,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" }, "response": { - "bodySize": 371, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31360,7 +31500,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31376,7 +31516,7 @@ }, { "name": "etag", - "value": "\"790804755\"" + "value": "\"-1588216686\"" }, { "name": "expires", @@ -31392,11 +31532,11 @@ }, { "name": "content-length", - "value": "371" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31407,14 +31547,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.629Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.604Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -31422,11 +31562,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "7fcac09925e519944ee6c25a70f6d6ed", + "_id": "d934c4a642d09c1c142f3b744df6e742", "_order": 0, "cache": {}, "request": { @@ -31443,15 +31583,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31466,18 +31606,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 647, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" }, "response": { - "bodySize": 258, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -31495,7 +31635,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31511,7 +31651,7 @@ }, { "name": "etag", - "value": "\"-347683889\"" + "value": "\"1517053596\"" }, { "name": "expires", @@ -31527,11 +31667,11 @@ }, { "name": "content-length", - "value": "258" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31548,7 +31688,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.630Z", + "startedDateTime": "2024-11-06T16:35:42.604Z", "time": 2, "timings": { "blocked": -1, @@ -31561,7 +31701,7 @@ } }, { - "_id": "f7b11c90271c6cbb9d6005f68c2e664f", + "_id": "57673a324cb16e9954ac5fd7ff50cad6", "_order": 0, "cache": {}, "request": { @@ -31578,15 +31718,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31601,18 +31741,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 643, + "headersSize": 621, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" }, "response": { - "bodySize": 275, + "bodySize": 668, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -31630,7 +31770,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31646,7 +31786,7 @@ }, { "name": "etag", - "value": "\"-1855541828\"" + "value": "\"-152060055\"" }, { "name": "expires", @@ -31662,11 +31802,11 @@ }, { "name": "content-length", - "value": "275" + "value": "668" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31677,13 +31817,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.630Z", + "startedDateTime": "2024-11-06T16:35:42.609Z", "time": 2, "timings": { "blocked": -1, @@ -31696,7 +31836,7 @@ } }, { - "_id": "1067e3e8038721d641be47b9f1efcc9a", + "_id": "40c846c4bde98e561d73fc4f47eafeba", "_order": 0, "cache": {}, "request": { @@ -31713,15 +31853,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31736,18 +31876,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 653, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" }, "response": { - "bodySize": 224, + "bodySize": 318, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31765,7 +31905,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31781,7 +31921,7 @@ }, { "name": "etag", - "value": "\"-1310629925\"" + "value": "\"264081780\"" }, { "name": "expires", @@ -31797,11 +31937,11 @@ }, { "name": "content-length", - "value": "224" + "value": "318" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31812,14 +31952,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.631Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.617Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -31827,11 +31967,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "8688e83a3ca385e9a0f54b0985bc8612", + "_id": "a4d643de39c16824ae3bb0af2cfa64d9", "_order": 0, "cache": {}, "request": { @@ -31848,15 +31988,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -31871,18 +32011,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 648, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" }, "response": { - "bodySize": 1201, + "bodySize": 1332, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -31900,7 +32040,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -31916,7 +32056,7 @@ }, { "name": "etag", - "value": "\"1171487776\"" + "value": "\"756891103\"" }, { "name": "expires", @@ -31932,11 +32072,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "1332" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -31947,14 +32087,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.636Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.617Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -31962,11 +32102,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "6cb256afdd70defeb71fa66e0988c42e", + "_id": "0699b7c0159925a71a78ea237d5a5f1a", "_order": 0, "cache": {}, "request": { @@ -31983,15 +32123,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32006,18 +32146,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" }, "response": { - "bodySize": 295, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32035,7 +32175,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32051,7 +32191,7 @@ }, { "name": "etag", - "value": "\"-77719538\"" + "value": "\"1066064282\"" }, { "name": "expires", @@ -32067,11 +32207,11 @@ }, { "name": "content-length", - "value": "295" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32082,14 +32222,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.643Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:42.624Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -32097,11 +32237,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 1 } }, { - "_id": "973bccd0bc94c86dda98da9b264aa6fb", + "_id": "c1fa279e046ed9d159c7379ffb4fe062", "_order": 0, "cache": {}, "request": { @@ -32118,15 +32258,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32141,18 +32281,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 647, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" }, "response": { - "bodySize": 407, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32170,7 +32310,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32186,7 +32326,7 @@ }, { "name": "etag", - "value": "\"-1578060484\"" + "value": "\"-85053235\"" }, { "name": "expires", @@ -32202,11 +32342,11 @@ }, { "name": "content-length", - "value": "407" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32217,14 +32357,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.643Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:42.630Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -32232,11 +32372,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 3 } }, { - "_id": "7143192540f24bf1a2121588f84ba903", + "_id": "db397c9469282022c1c74b8193d314f6", "_order": 0, "cache": {}, "request": { @@ -32253,15 +32393,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32280,14 +32420,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" }, "response": { - "bodySize": 433, + "bodySize": 1284, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -32305,7 +32445,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32321,7 +32461,7 @@ }, { "name": "etag", - "value": "\"-1395544271\"" + "value": "\"328700129\"" }, { "name": "expires", @@ -32337,11 +32477,11 @@ }, { "name": "content-length", - "value": "433" + "value": "1284" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32352,14 +32492,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.644Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.631Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -32367,11 +32507,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "ad26c10af137095071e17202330e338f", + "_id": "52970e272da7ae87038e34338c69e152", "_order": 0, "cache": {}, "request": { @@ -32388,15 +32528,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32411,18 +32551,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 647, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" }, "response": { - "bodySize": 469, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32440,7 +32580,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32456,7 +32596,7 @@ }, { "name": "etag", - "value": "\"1522661276\"" + "value": "\"1739808917\"" }, { "name": "expires", @@ -32472,11 +32612,11 @@ }, { "name": "content-length", - "value": "469" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32493,8 +32633,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.644Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.632Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -32502,11 +32642,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "34a3d974162be880172c02f2212c5ff0", + "_id": "c0ef040212c2b72c00bd2b3653d144e2", "_order": 0, "cache": {}, "request": { @@ -32523,15 +32663,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32546,18 +32686,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" }, "response": { - "bodySize": 336, + "bodySize": 1729, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32575,7 +32715,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32591,7 +32731,7 @@ }, { "name": "etag", - "value": "\"875182106\"" + "value": "\"-1048135735\"" }, { "name": "expires", @@ -32607,11 +32747,11 @@ }, { "name": "content-length", - "value": "336" + "value": "1729" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32622,14 +32762,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.644Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.638Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -32637,11 +32777,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "692161e6670f557ca32ee9164ca7afad", + "_id": "b5dedfcb8ec418c363d1089eba7588b7", "_order": 0, "cache": {}, "request": { @@ -32658,15 +32798,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32681,18 +32821,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 657, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" }, "response": { - "bodySize": 258, + "bodySize": 327, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32710,7 +32850,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32726,7 +32866,7 @@ }, { "name": "etag", - "value": "\"1323058199\"" + "value": "\"2002571022\"" }, { "name": "expires", @@ -32742,11 +32882,11 @@ }, { "name": "content-length", - "value": "258" + "value": "327" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32763,8 +32903,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.653Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.645Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -32772,11 +32912,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "37a261d2df15af9f8fa1d4747c2c900c", + "_id": "87695f7697465f9ccf73abfc87e088b0", "_order": 0, "cache": {}, "request": { @@ -32793,15 +32933,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32816,18 +32956,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 648, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" }, "response": { - "bodySize": 306, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32845,7 +32985,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32861,7 +33001,7 @@ }, { "name": "etag", - "value": "\"-415466582\"" + "value": "\"-1210949842\"" }, { "name": "expires", @@ -32877,11 +33017,11 @@ }, { "name": "content-length", - "value": "306" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -32892,14 +33032,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.653Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.646Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -32907,11 +33047,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "10622e01f510e68b50e6bf3655acfe82", + "_id": "947f5e8d0b26ba3755b8982b05391d76", "_order": 0, "cache": {}, "request": { @@ -32928,15 +33068,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -32951,18 +33091,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 615, + "headersSize": 646, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" }, "response": { - "bodySize": 1639, + "bodySize": 1285, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -32980,7 +33120,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -32996,7 +33136,7 @@ }, { "name": "etag", - "value": "\"433260882\"" + "value": "\"1821134736\"" }, { "name": "expires", @@ -33012,11 +33152,11 @@ }, { "name": "content-length", - "value": "1639" + "value": "1285" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33027,14 +33167,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.658Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.646Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -33042,11 +33182,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "5eb31a46c0b1ab6671556567c7061cc4", + "_id": "d78bd0e79a76056767ae5716e1f88752", "_order": 0, "cache": {}, "request": { @@ -33063,15 +33203,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33086,18 +33226,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" }, "response": { - "bodySize": 239, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33115,7 +33255,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33131,7 +33271,7 @@ }, { "name": "etag", - "value": "\"1309752765\"" + "value": "\"-470328822\"" }, { "name": "expires", @@ -33147,11 +33287,11 @@ }, { "name": "content-length", - "value": "239" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33168,8 +33308,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.664Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.648Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -33177,11 +33317,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "0e1e8fd1185929f93872dad007bc2e68", + "_id": "db34841aec18e027bacbb021da712f34", "_order": 0, "cache": {}, "request": { @@ -33198,15 +33338,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33221,18 +33361,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" }, "response": { - "bodySize": 315, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -33250,7 +33390,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33266,7 +33406,7 @@ }, { "name": "etag", - "value": "\"-1874082022\"" + "value": "\"-171890830\"" }, { "name": "expires", @@ -33282,11 +33422,11 @@ }, { "name": "content-length", - "value": "315" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33297,13 +33437,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.664Z", + "startedDateTime": "2024-11-06T16:35:42.648Z", "time": 3, "timings": { "blocked": -1, @@ -33316,7 +33456,7 @@ } }, { - "_id": "afd49cbf047aedc6213597e0b34e66d0", + "_id": "a471f150133917cc4bfb9cc945a57fd5", "_order": 0, "cache": {}, "request": { @@ -33333,15 +33473,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33356,18 +33496,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" }, "response": { - "bodySize": 485, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33385,7 +33525,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33401,7 +33541,7 @@ }, { "name": "etag", - "value": "\"-529786920\"" + "value": "\"-1709503699\"" }, { "name": "expires", @@ -33417,11 +33557,11 @@ }, { "name": "content-length", - "value": "485" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33432,14 +33572,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.665Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.648Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -33447,11 +33587,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "250733b8a391b619033afa3793a588c6", + "_id": "87f807be88293e9b34bafa20dbe826ab", "_order": 0, "cache": {}, "request": { @@ -33468,15 +33608,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33491,18 +33631,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" }, "response": { - "bodySize": 422, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -33520,7 +33660,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33536,7 +33676,7 @@ }, { "name": "etag", - "value": "\"384347514\"" + "value": "\"580379617\"" }, { "name": "expires", @@ -33552,11 +33692,11 @@ }, { "name": "content-length", - "value": "422" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33573,7 +33713,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.665Z", + "startedDateTime": "2024-11-06T16:35:42.649Z", "time": 2, "timings": { "blocked": -1, @@ -33586,7 +33726,7 @@ } }, { - "_id": "1dec51c74d5c0300f685e657ab6e888b", + "_id": "fac9425cb1cb342b58a8ecc4da433523", "_order": 0, "cache": {}, "request": { @@ -33603,15 +33743,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33626,18 +33766,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 612, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" }, "response": { - "bodySize": 349, + "bodySize": 1697, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 1697, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-1066789654\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":743.0625,\"y\":58.5},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":1109.09375,\"y\":35.859375},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":546.546875,\"y\":35.859375},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":353.9375,\"y\":58.5},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":920.625,\"y\":58.5},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":152,\"y\":58.5}},\"description\":\"null\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1326.34375,\"y\":92},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1326.34375,\"y\":25},\"startNode\":{\"x\":50,\"y\":58.5}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -33655,7 +33795,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33671,7 +33811,7 @@ }, { "name": "etag", - "value": "\"894949571\"" + "value": "\"-1066789654\"" }, { "name": "expires", @@ -33687,11 +33827,11 @@ }, { "name": "content-length", - "value": "349" + "value": "1697" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33702,14 +33842,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.665Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.656Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -33717,11 +33857,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "5476c57261c4d1bc5dd9d3225f7c4e4b", + "_id": "5a899e3a6e808edb7e9e718e3b4c8865", "_order": 0, "cache": {}, "request": { @@ -33738,15 +33878,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33761,18 +33901,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" }, "response": { - "bodySize": 410, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33790,7 +33930,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33806,7 +33946,7 @@ }, { "name": "etag", - "value": "\"-895759180\"" + "value": "\"1217170264\"" }, { "name": "expires", @@ -33822,11 +33962,11 @@ }, { "name": "content-length", - "value": "410" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33843,8 +33983,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.666Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.664Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -33852,11 +33992,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "f94ebacf0b08dc66c26c615b07bb68fc", + "_id": "1bcc6043a2d437f6ca7f352e7d40e50a", "_order": 0, "cache": {}, "request": { @@ -33873,15 +34013,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -33896,18 +34036,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" }, "response": { - "bodySize": 256, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -33925,7 +34065,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -33941,7 +34081,7 @@ }, { "name": "etag", - "value": "\"-852986593\"" + "value": "\"-567112083\"" }, { "name": "expires", @@ -33957,11 +34097,11 @@ }, { "name": "content-length", - "value": "256" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -33978,8 +34118,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.666Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.664Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -33987,11 +34127,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "6eb01df757bbe55ede27e5b79eb9bebc", + "_id": "384b4b226e0c9d04dc9970b7e5291225", "_order": 0, "cache": {}, "request": { @@ -34008,15 +34148,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34035,14 +34175,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" }, "response": { - "bodySize": 259, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -34060,7 +34200,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34076,7 +34216,7 @@ }, { "name": "etag", - "value": "\"-611727803\"" + "value": "\"613466196\"" }, { "name": "expires", @@ -34092,11 +34232,11 @@ }, { "name": "content-length", - "value": "259" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34107,14 +34247,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.672Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.665Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -34122,11 +34262,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "781feff853a97404af139878c570ebd9", + "_id": "c7057919e88985516083006a79a11ce5", "_order": 0, "cache": {}, "request": { @@ -34143,15 +34283,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34170,14 +34310,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" }, "response": { - "bodySize": 257, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -34195,7 +34335,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34211,7 +34351,7 @@ }, { "name": "etag", - "value": "\"502723459\"" + "value": "\"821878048\"" }, { "name": "expires", @@ -34227,11 +34367,11 @@ }, { "name": "content-length", - "value": "257" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34248,8 +34388,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.672Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.665Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -34257,11 +34397,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "08e5ec754bb94bc4c9768213caebf3e8", + "_id": "3e9f89c577065c1c977fa82e88b8314e", "_order": 0, "cache": {}, "request": { @@ -34278,15 +34418,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34301,18 +34441,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/push_registration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" }, "response": { - "bodySize": 1801, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1801, - "text": "{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true}" + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -34330,7 +34470,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34346,7 +34486,7 @@ }, { "name": "etag", - "value": "\"-250131000\"" + "value": "\"1140433090\"" }, { "name": "expires", @@ -34362,11 +34502,11 @@ }, { "name": "content-length", - "value": "1801" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34377,14 +34517,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.678Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:42.666Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -34392,11 +34532,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 2 } }, { - "_id": "70967fd5c2b40f15ef50562827ad51f3", + "_id": "f6e96a2576e2b55a1df1aafe6b90b410", "_order": 0, "cache": {}, "request": { @@ -34413,15 +34553,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34436,18 +34576,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 638, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/07bc635b-5a3f-461b-87ee-e76c9fa22738" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" }, "response": { - "bodySize": 465, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 465, - "text": "{\"_id\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"_rev\":\"-2057388206\",\"nodes\":[{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -34465,7 +34605,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34481,7 +34621,7 @@ }, { "name": "etag", - "value": "\"-2057388206\"" + "value": "\"-943748018\"" }, { "name": "expires", @@ -34497,11 +34637,11 @@ }, { "name": "content-length", - "value": "465" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34512,14 +34652,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.692Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.666Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -34527,11 +34667,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "1b2da9d36696fe0b48cd9876c5a90c3b", + "_id": "5003c2d23cb608db462278edfb1d2c88", "_order": 0, "cache": {}, "request": { @@ -34548,15 +34688,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34571,18 +34711,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 610, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/0e161d10-c2d1-4196-8b41-59f80be4a587" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/oath_registration" }, "response": { - "bodySize": 239, + "bodySize": 1299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"0e161d10-c2d1-4196-8b41-59f80be4a587\",\"_rev\":\"1313222188\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1299, + "text": "{\"_id\":\"oath_registration\",\"_rev\":\"-1908077864\",\"uiConfig\":{},\"entryNodeId\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"innerTreeOnly\":false,\"nodes\":{\"35ca2418-908d-4b92-9320-ef8576851abb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":416,\"y\":161},\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\"},\"displayName\":\"OATH Registration\",\"nodeType\":\"OathRegistrationNode\",\"x\":717,\"y\":290},\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"notRegisteredOutcome\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"successOutcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OATH Token Verifier\",\"nodeType\":\"OathTokenVerifierNode\",\"x\":689,\"y\":102},\"fc5481db-cbee-479f-915a-2b40c54ce04e\":{\"connections\":{\"outcome\":\"35ca2418-908d-4b92-9320-ef8576851abb\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":202,\"y\":139}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1103,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1100,\"y\":240},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -34600,7 +34740,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34616,7 +34756,7 @@ }, { "name": "etag", - "value": "\"1313222188\"" + "value": "\"-1908077864\"" }, { "name": "expires", @@ -34632,11 +34772,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34647,14 +34787,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.692Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.673Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -34662,11 +34802,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 1 } }, { - "_id": "d24dbc68a2e0dfb9ee0eb851ff02fc3b", + "_id": "cb7e4cde1f56a7b646e042adaabbe61d", "_order": 0, "cache": {}, "request": { @@ -34683,15 +34823,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34706,18 +34846,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushAuthenticationSenderNode/1323d24e-b9f8-4396-a9ce-4550fe3ac84f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/35ca2418-908d-4b92-9320-ef8576851abb" }, "response": { - "bodySize": 439, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 439, - "text": "{\"_id\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"_rev\":\"1886752343\",\"captureFailure\":false,\"contextInfo\":false,\"userMessage\":{},\"pushType\":\"DEFAULT\",\"customPayload\":[],\"mandatory\":false,\"messageTimeout\":120000,\"_type\":{\"_id\":\"PushAuthenticationSenderNode\",\"name\":\"Push Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"SENT\",\"displayName\":\"Sent\"},{\"id\":\"NOT_REGISTERED\",\"displayName\":\"Not Registered\"},{\"id\":\"SKIPPED\",\"displayName\":\"Skipped\"}]}" + "size": 239, + "text": "{\"_id\":\"35ca2418-908d-4b92-9320-ef8576851abb\",\"_rev\":\"1611669530\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -34735,7 +34875,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34751,7 +34891,7 @@ }, { "name": "etag", - "value": "\"1886752343\"" + "value": "\"1611669530\"" }, { "name": "expires", @@ -34767,11 +34907,11 @@ }, { "name": "content-length", - "value": "439" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34788,7 +34928,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.693Z", + "startedDateTime": "2024-11-06T16:35:42.679Z", "time": 2, "timings": { "blocked": -1, @@ -34801,7 +34941,7 @@ } }, { - "_id": "b5814fd777fe89e5c0738909a6508ee6", + "_id": "939860549cda52b4afa59c827001e1b5", "_order": 0, "cache": {}, "request": { @@ -34818,15 +34958,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34841,18 +34981,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 650, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushResultVerifierNode/527e6b31-01db-409c-8f52-01a5b7f48737" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathRegistrationNode/9bfb80e1-e05a-4b3c-90bd-7091c2839e28" }, "response": { - "bodySize": 333, + "bodySize": 585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 333, - "text": "{\"_id\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"_rev\":\"-693031123\",\"_type\":{\"_id\":\"PushResultVerifierNode\",\"name\":\"Push Result Verifier Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"Success\"},{\"id\":\"FALSE\",\"displayName\":\"Failure\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"},{\"id\":\"WAITING\",\"displayName\":\"Waiting\"}]}" + "size": 585, + "text": "{\"_id\":\"9bfb80e1-e05a-4b3c-90bd-7091c2839e28\",\"_rev\":\"623406650\",\"addChecksum\":false,\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"truncationOffset\":-1,\"algorithm\":\"TOTP\",\"postponeDeviceProfileStorage\":false,\"passwordLength\":\"SIX_DIGITS\",\"totpTimeInterval\":30,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"minSharedSecretLength\":32,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"_type\":{\"_id\":\"OathRegistrationNode\",\"name\":\"OATH Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"}]}" }, "cookies": [], "headers": [ @@ -34870,7 +35010,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -34886,7 +35026,7 @@ }, { "name": "etag", - "value": "\"-693031123\"" + "value": "\"623406650\"" }, { "name": "expires", @@ -34902,11 +35042,11 @@ }, { "name": "content-length", - "value": "333" + "value": "585" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -34917,13 +35057,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.693Z", + "startedDateTime": "2024-11-06T16:35:42.679Z", "time": 2, "timings": { "blocked": -1, @@ -34936,7 +35076,7 @@ } }, { - "_id": "891fb1de222148542206d80c8455c621", + "_id": "a21bb92ddfe6721146ce50dfdd12987d", "_order": 0, "cache": {}, "request": { @@ -34953,15 +35093,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -34976,18 +35116,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 650, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushRegistrationNode/c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/OathTokenVerifierNode/ab49ab43-4d09-46f2-a9ba-7330a6a7dce6" }, "response": { - "bodySize": 438, + "bodySize": 495, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 438, - "text": "{\"_id\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"_rev\":\"126603270\",\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"timeout\":60,\"_type\":{\"_id\":\"PushRegistrationNode\",\"name\":\"Push Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"timeoutOutcome\",\"displayName\":\"Time Out\"}]}" + "size": 495, + "text": "{\"_id\":\"ab49ab43-4d09-46f2-a9ba-7330a6a7dce6\",\"_rev\":\"-745017813\",\"totpTimeInterval\":30,\"maximumAllowedClockDrift\":5,\"totpTimeSteps\":2,\"totpHashAlgorithm\":\"HMAC_SHA1\",\"isRecoveryCodeAllowed\":false,\"algorithm\":\"TOTP\",\"hotpWindowSize\":100,\"_type\":{\"_id\":\"OathTokenVerifierNode\",\"name\":\"OATH Token Verifier\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"notRegisteredOutcome\",\"displayName\":\"Not registered\"}]}" }, "cookies": [], "headers": [ @@ -35005,7 +35145,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35021,7 +35161,7 @@ }, { "name": "etag", - "value": "\"126603270\"" + "value": "\"-745017813\"" }, { "name": "expires", @@ -35037,11 +35177,11 @@ }, { "name": "content-length", - "value": "438" + "value": "495" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35052,14 +35192,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.694Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.680Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -35067,11 +35207,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "64414d9108826f97c281f9ecc4b388fd", + "_id": "ab5fb701b86652a0ca74913f7d317f53", "_order": 0, "cache": {}, "request": { @@ -35088,15 +35228,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35111,18 +35251,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushWaitNode/ccb48486-0d8e-475d-a002-29d0bfa1177a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/fc5481db-cbee-479f-915a-2b40c54ce04e" }, "response": { - "bodySize": 302, + "bodySize": 463, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 302, - "text": "{\"_id\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"_rev\":\"1204164942\",\"challengeMessage\":{},\"exitMessage\":{},\"waitingMessage\":{},\"secondsToWait\":5,\"_type\":{\"_id\":\"PushWaitNode\",\"name\":\"Push Wait Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"DONE\",\"displayName\":\"Done\"},{\"id\":\"EXITED\",\"displayName\":\"Exit\"}]}" + "size": 463, + "text": "{\"_id\":\"fc5481db-cbee-479f-915a-2b40c54ce04e\",\"_rev\":\"478652641\",\"nodes\":[{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -35140,7 +35280,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35156,7 +35296,7 @@ }, { "name": "etag", - "value": "\"1204164942\"" + "value": "\"478652641\"" }, { "name": "expires", @@ -35172,11 +35312,11 @@ }, { "name": "content-length", - "value": "302" + "value": "463" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35187,14 +35327,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.694Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.680Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -35202,11 +35342,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "c30fecc22bf86d0ed55bd08e0ecc9cf5", + "_id": "38b1225ea7e528a71712906608ce6dca", "_order": 0, "cache": {}, "request": { @@ -35223,15 +35363,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35250,14 +35390,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/1eb148f2-82e0-49c6-a330-e6a6d1a9eea9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7d7c8acb-e39b-466c-bbaf-cc70a3bf247c" }, "response": { "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", "size": 258, - "text": "{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"_rev\":\"499818596\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"7d7c8acb-e39b-466c-bbaf-cc70a3bf247c\",\"_rev\":\"538550255\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -35275,7 +35415,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35291,7 +35431,7 @@ }, { "name": "etag", - "value": "\"499818596\"" + "value": "\"538550255\"" }, { "name": "expires", @@ -35311,7 +35451,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35328,7 +35468,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.700Z", + "startedDateTime": "2024-11-06T16:35:42.689Z", "time": 2, "timings": { "blocked": -1, @@ -35341,7 +35481,7 @@ } }, { - "_id": "0339a36d8cd2e6f592b6e94c5822e283", + "_id": "649b0ef8f7319b1c407321225580f9f0", "_order": 0, "cache": {}, "request": { @@ -35358,15 +35498,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35385,14 +35525,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7ab18633-6eb0-455d-97ff-40ff7db4862a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/a2f9aa81-fdea-403d-bcc8-a5342cc5d34f" }, "response": { "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", "size": 259, - "text": "{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"_rev\":\"1208874462\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"a2f9aa81-fdea-403d-bcc8-a5342cc5d34f\",\"_rev\":\"1283625433\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -35410,7 +35550,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35426,7 +35566,7 @@ }, { "name": "etag", - "value": "\"1208874462\"" + "value": "\"1283625433\"" }, { "name": "expires", @@ -35446,7 +35586,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35463,8 +35603,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.700Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.690Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -35472,11 +35612,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "ad1add3dc919dba7012fa842f369ab3b", + "_id": "ec8795e97e539750e4fe5ce5478ab166", "_order": 0, "cache": {}, "request": { @@ -35493,15 +35633,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35516,18 +35656,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 609, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PersistentCookie" }, "response": { - "bodySize": 1231, + "bodySize": 1258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -35545,7 +35685,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35561,7 +35701,7 @@ }, { "name": "etag", - "value": "\"-1417605028\"" + "value": "\"-1882065253\"" }, { "name": "expires", @@ -35577,11 +35717,11 @@ }, { "name": "content-length", - "value": "1231" + "value": "1258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35598,8 +35738,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.712Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.695Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -35607,11 +35747,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "62b8aea68448de894f05b7cc15aa9294", + "_id": "c1d0d05e6cd91d387279d4e53ab67fa3", "_order": 0, "cache": {}, "request": { @@ -35628,15 +35768,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35655,14 +35795,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" }, "response": { "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -35680,7 +35820,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35696,7 +35836,7 @@ }, { "name": "etag", - "value": "\"1991543646\"" + "value": "\"1365565913\"" }, { "name": "expires", @@ -35716,7 +35856,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35733,8 +35873,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.720Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.702Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -35742,11 +35882,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "700f8712bf9943d27f5c4340321399df", + "_id": "14b5a16b34b1cc1351f4e912333a510c", "_order": 0, "cache": {}, "request": { @@ -35763,15 +35903,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35786,18 +35926,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 652, + "headersSize": 653, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" }, "response": { - "bodySize": 298, + "bodySize": 348, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -35815,7 +35955,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35831,7 +35971,7 @@ }, { "name": "etag", - "value": "\"376925853\"" + "value": "\"1056905201\"" }, { "name": "expires", @@ -35847,11 +35987,11 @@ }, { "name": "content-length", - "value": "298" + "value": "348" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -35862,13 +36002,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.720Z", + "startedDateTime": "2024-11-06T16:35:42.703Z", "time": 2, "timings": { "blocked": -1, @@ -35881,7 +36021,7 @@ } }, { - "_id": "4a18bb1295115390e21f1d3323ae2d53", + "_id": "b5f8e0b4d452715cc94a05241260a913", "_order": 0, "cache": {}, "request": { @@ -35898,15 +36038,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -35921,18 +36061,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" }, "response": { - "bodySize": 207, + "bodySize": 401, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -35950,7 +36090,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -35966,7 +36106,7 @@ }, { "name": "etag", - "value": "\"1844311587\"" + "value": "\"2091792219\"" }, { "name": "expires", @@ -35982,11 +36122,11 @@ }, { "name": "content-length", - "value": "207" + "value": "401" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36003,8 +36143,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.721Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.703Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -36012,11 +36152,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "7d4e7ce5745725156daa0a42b329299a", + "_id": "f3347e597b592fdf58b1d2aab73e27bc", "_order": 0, "cache": {}, "request": { @@ -36033,15 +36173,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36060,14 +36200,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" }, "response": { - "bodySize": 239, + "bodySize": 205, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -36085,7 +36225,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36101,7 +36241,7 @@ }, { "name": "etag", - "value": "\"1366894111\"" + "value": "\"49533813\"" }, { "name": "expires", @@ -36117,11 +36257,11 @@ }, { "name": "content-length", - "value": "239" + "value": "205" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36132,14 +36272,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.721Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.704Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -36147,11 +36287,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "d929de4c4200fd162a9aa79944a48133", + "_id": "8e0add441703faaf8747c69765e7eef4", "_order": 0, "cache": {}, "request": { @@ -36168,15 +36308,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36191,18 +36331,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" }, "response": { - "bodySize": 221, + "bodySize": 240, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -36220,7 +36360,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36236,7 +36376,7 @@ }, { "name": "etag", - "value": "\"2057819892\"" + "value": "\"-1504299596\"" }, { "name": "expires", @@ -36252,11 +36392,11 @@ }, { "name": "content-length", - "value": "221" + "value": "240" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36267,13 +36407,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.721Z", + "startedDateTime": "2024-11-06T16:35:42.704Z", "time": 2, "timings": { "blocked": -1, @@ -36286,7 +36426,7 @@ } }, { - "_id": "65a20f9887ccb9065a06104420d14a49", + "_id": "cc68eba3eaeb0422c7a0cea11595c457", "_order": 0, "cache": {}, "request": { @@ -36303,15 +36443,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36326,18 +36466,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 596, + "headersSize": 618, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/six" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" }, "response": { - "bodySize": 1202, + "bodySize": 1052, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1202, - "text": "{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -36355,7 +36495,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36371,7 +36511,7 @@ }, { "name": "etag", - "value": "\"1231202898\"" + "value": "\"460502738\"" }, { "name": "expires", @@ -36387,11 +36527,11 @@ }, { "name": "content-length", - "value": "1202" + "value": "1052" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36402,14 +36542,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.727Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.710Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -36417,11 +36557,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "b9ee1f7116da2fd85af21cac06670161", + "_id": "de2361902b14ddb219d17034dcb9d4c8", "_order": 0, "cache": {}, "request": { @@ -36438,15 +36578,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36461,18 +36601,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/295a70ba-2b67-4a48-bf13-237ce0a55450" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" }, "response": { - "bodySize": 258, + "bodySize": 265, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"295a70ba-2b67-4a48-bf13-237ce0a55450\",\"_rev\":\"161778965\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -36490,7 +36630,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36506,7 +36646,7 @@ }, { "name": "etag", - "value": "\"161778965\"" + "value": "\"-1300278465\"" }, { "name": "expires", @@ -36522,11 +36662,11 @@ }, { "name": "content-length", - "value": "258" + "value": "265" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36537,14 +36677,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.734Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.717Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -36552,11 +36692,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "9639a85d9151a7e1ac0e6a5023e3e3ab", + "_id": "41a7fb4e7305b065b48e731d7f620c94", "_order": 0, "cache": {}, "request": { @@ -36573,15 +36713,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36596,18 +36736,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 646, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/4a77788d-d443-4646-ac52-5cb9f2207a8a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" }, "response": { - "bodySize": 259, + "bodySize": 437, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"4a77788d-d443-4646-ac52-5cb9f2207a8a\",\"_rev\":\"-745501524\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -36625,7 +36765,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36641,7 +36781,7 @@ }, { "name": "etag", - "value": "\"-745501524\"" + "value": "\"-1682915712\"" }, { "name": "expires", @@ -36657,11 +36797,11 @@ }, { "name": "content-length", - "value": "259" + "value": "437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36672,14 +36812,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.734Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.718Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -36687,11 +36827,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "6af13b3c256c3c0aaccd2429e3131215", + "_id": "307e77f88ad295ac9c29deba3da6fbb9", "_order": 0, "cache": {}, "request": { @@ -36708,15 +36848,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36731,18 +36871,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/5883ff1e-80dd-49f5-a609-120303e1b0cd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" }, "response": { - "bodySize": 259, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"5883ff1e-80dd-49f5-a609-120303e1b0cd\",\"_rev\":\"1326879436\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -36760,7 +36900,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36776,7 +36916,7 @@ }, { "name": "etag", - "value": "\"1326879436\"" + "value": "\"-1018162955\"" }, { "name": "expires", @@ -36792,11 +36932,11 @@ }, { "name": "content-length", - "value": "259" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36807,13 +36947,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.735Z", + "startedDateTime": "2024-11-06T16:35:42.718Z", "time": 2, "timings": { "blocked": -1, @@ -36826,7 +36966,7 @@ } }, { - "_id": "3d0fc8e8d2752f8dbb5227e155ff2631", + "_id": "f9f578e6f5836db8de99fe082c63d505", "_order": 0, "cache": {}, "request": { @@ -36843,15 +36983,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -36866,18 +37006,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 654, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/59129227-f192-4ff4-a7b4-bc7690b82d4f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" }, "response": { - "bodySize": 260, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"59129227-f192-4ff4-a7b4-bc7690b82d4f\",\"_rev\":\"-1475080074\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -36895,7 +37035,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -36911,7 +37051,7 @@ }, { "name": "etag", - "value": "\"-1475080074\"" + "value": "\"-1599353126\"" }, { "name": "expires", @@ -36927,11 +37067,11 @@ }, { "name": "content-length", - "value": "260" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -36948,7 +37088,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.735Z", + "startedDateTime": "2024-11-06T16:35:42.719Z", "time": 2, "timings": { "blocked": -1, @@ -36961,7 +37101,7 @@ } }, { - "_id": "932ac25bfe97ae2403eaa15c1edd2f87", + "_id": "e3f8cde78703d5d214b15df2803c9a59", "_order": 0, "cache": {}, "request": { @@ -36978,15 +37118,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37001,18 +37141,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/6a1aa88f-25f8-4d40-8008-bfc6684b2a58" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" }, "response": { - "bodySize": 259, + "bodySize": 305, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\",\"_rev\":\"1687799310\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37030,7 +37170,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37046,7 +37186,7 @@ }, { "name": "etag", - "value": "\"1687799310\"" + "value": "\"104930768\"" }, { "name": "expires", @@ -37062,11 +37202,11 @@ }, { "name": "content-length", - "value": "259" + "value": "305" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37077,14 +37217,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.736Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.725Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -37092,11 +37232,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "cff55c70988d655879dc2eba79c32bd9", + "_id": "4cf3d661cba37e823acd1be25b4c17f5", "_order": 0, "cache": {}, "request": { @@ -37113,15 +37253,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37136,18 +37276,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 606, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformLogin" }, "response": { - "bodySize": 259, + "bodySize": 1047, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\",\"_rev\":\"1681212105\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -37165,7 +37305,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37181,7 +37321,7 @@ }, { "name": "etag", - "value": "\"1681212105\"" + "value": "\"-2033523620\"" }, { "name": "expires", @@ -37197,11 +37337,11 @@ }, { "name": "content-length", - "value": "259" + "value": "1047" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37212,14 +37352,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.736Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.731Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -37227,11 +37367,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "810439ed432ba4aeca554d226f6261d3", + "_id": "24f98dad3fc890f31f9131f10e6761f2", "_order": 0, "cache": {}, "request": { @@ -37248,15 +37388,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37271,18 +37411,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 653, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/test" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" }, "response": { - "bodySize": 305, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37300,7 +37440,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37316,7 +37456,7 @@ }, { "name": "etag", - "value": "\"2111683877\"" + "value": "\"1707653179\"" }, { "name": "expires", @@ -37332,11 +37472,11 @@ }, { "name": "content-length", - "value": "305" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37353,7 +37493,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.743Z", + "startedDateTime": "2024-11-06T16:35:42.738Z", "time": 3, "timings": { "blocked": -1, @@ -37366,7 +37506,7 @@ } }, { - "_id": "c47d9894a4df7f96999c6b94182e8cfa", + "_id": "a92648e0e513ab2f9abb1797d4a1e2c0", "_order": 0, "cache": {}, "request": { @@ -37383,15 +37523,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37406,18 +37546,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/webauthn_registration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" }, "response": { - "bodySize": 1488, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1488, - "text": "{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}" + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -37435,7 +37575,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37451,7 +37591,7 @@ }, { "name": "etag", - "value": "\"1750078555\"" + "value": "\"-1613803341\"" }, { "name": "expires", @@ -37467,11 +37607,11 @@ }, { "name": "content-length", - "value": "1488" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37488,7 +37628,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.750Z", + "startedDateTime": "2024-11-06T16:35:42.739Z", "time": 2, "timings": { "blocked": -1, @@ -37501,7 +37641,7 @@ } }, { - "_id": "46ec9c11b0fe469befa1ad3b2e43646a", + "_id": "5f2eebbc97a437c2f163f80d12a6de9c", "_order": 0, "cache": {}, "request": { @@ -37518,15 +37658,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37541,18 +37681,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnRegistrationNode/72ef6e1d-930c-4bed-922a-850815d98ea1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" }, "response": { - "bodySize": 832, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 832, - "text": "{\"_id\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"_rev\":\"-990617448\",\"trustStoreAlias\":\"trustalias\",\"relyingPartyName\":\"ForgeRock\",\"maxSavedDevices\":0,\"generateRecoveryCodes\":true,\"storeAttestationDataInTransientState\":false,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"postponeDeviceProfileStorage\":false,\"excludeCredentials\":false,\"requiresResidentKey\":false,\"authenticatorAttachment\":\"UNSPECIFIED\",\"asScript\":true,\"acceptedSigningAlgorithms\":[\"ES256\",\"RS256\"],\"attestationPreference\":\"NONE\",\"enforceRevocationCheck\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnRegistrationNode\",\"name\":\"WebAuthn Registration Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -37570,7 +37710,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37586,7 +37726,7 @@ }, { "name": "etag", - "value": "\"-990617448\"" + "value": "\"1478640305\"" }, { "name": "expires", @@ -37602,11 +37742,11 @@ }, { "name": "content-length", - "value": "832" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37623,7 +37763,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.756Z", + "startedDateTime": "2024-11-06T16:35:42.739Z", "time": 2, "timings": { "blocked": -1, @@ -37636,7 +37776,7 @@ } }, { - "_id": "1b3569af4eff0544f9a5cc0ac1b9c9c6", + "_id": "75e57f4451a5151352a96b749257aa32", "_order": 0, "cache": {}, "request": { @@ -37653,15 +37793,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37680,14 +37820,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/807106ff-fb66-469e-93bb-4e0834f6c875" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" }, "response": { - "bodySize": 464, + "bodySize": 711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 464, - "text": "{\"_id\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"_rev\":\"-890592433\",\"nodes\":[{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37705,7 +37845,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37721,7 +37861,7 @@ }, { "name": "etag", - "value": "\"-890592433\"" + "value": "\"-202662309\"" }, { "name": "expires", @@ -37737,11 +37877,11 @@ }, { "name": "content-length", - "value": "464" + "value": "711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37758,8 +37898,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.757Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.739Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -37767,11 +37907,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "c4a09b17a05d7a5c66526f4172756e78", + "_id": "bc356676a43d6cd88c77db4d8db7d08f", "_order": 0, "cache": {}, "request": { @@ -37788,15 +37928,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37815,14 +37955,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/878eb28e-41b2-4bd7-9256-80ed427bd168" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" }, "response": { - "bodySize": 239, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\",\"_rev\":\"-398538787\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37840,7 +37980,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37856,7 +37996,7 @@ }, { "name": "etag", - "value": "\"-398538787\"" + "value": "\"-1790782773\"" }, { "name": "expires", @@ -37872,11 +38012,11 @@ }, { "name": "content-length", - "value": "239" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -37887,13 +38027,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.757Z", + "startedDateTime": "2024-11-06T16:35:42.746Z", "time": 2, "timings": { "blocked": -1, @@ -37906,7 +38046,7 @@ } }, { - "_id": "dc9f100de7fa4960a76386e258b57a4f", + "_id": "cbae75a29392c168b5169a3631a069dc", "_order": 0, "cache": {}, "request": { @@ -37923,15 +38063,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -37946,18 +38086,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnAuthenticationNode/9fce34fc-03f1-4fb1-8ce5-1feff34a403c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" }, "response": { - "bodySize": 553, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 553, - "text": "{\"_id\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"_rev\":\"1437065775\",\"requiresResidentKey\":false,\"asScript\":true,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"isRecoveryCodeAllowed\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnAuthenticationNode\",\"name\":\"WebAuthn Authentication Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"noDevice\",\"displayName\":\"No Device Registered\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -37975,7 +38115,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -37991,7 +38131,7 @@ }, { "name": "etag", - "value": "\"1437065775\"" + "value": "\"128653632\"" }, { "name": "expires", @@ -38007,11 +38147,11 @@ }, { "name": "content-length", - "value": "553" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38022,14 +38162,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.758Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.746Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -38037,11 +38177,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "45e2b86d47e4539b8333bfaa20dddbdf", + "_id": "8de752ffec9e3b3dd0aea8d9f48461ac", "_order": 0, "cache": {}, "request": { @@ -38058,15 +38198,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38081,18 +38221,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 619, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/08faa9c0-7c19-454a-a4e1-0692d94615f6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" }, "response": { - "bodySize": 259, + "bodySize": 1119, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"_rev\":\"1598789339\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -38110,7 +38250,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38126,7 +38266,7 @@ }, { "name": "etag", - "value": "\"1598789339\"" + "value": "\"-686533928\"" }, { "name": "expires", @@ -38142,11 +38282,11 @@ }, { "name": "content-length", - "value": "259" + "value": "1119" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38157,14 +38297,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.763Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.753Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -38172,11 +38312,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "d6bee6c1f5a266692b2baa233e9ffcc5", + "_id": "68043464f486d95bdae1f93943eaf345", "_order": 0, "cache": {}, "request": { @@ -38193,15 +38333,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38216,18 +38356,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 653, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3334a349-b2ea-42e0-86b8-9f6c39d43dad" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" }, "response": { - "bodySize": 259, + "bodySize": 376, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"_rev\":\"-492443345\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -38245,7 +38385,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38261,7 +38401,7 @@ }, { "name": "etag", - "value": "\"-492443345\"" + "value": "\"511839934\"" }, { "name": "expires", @@ -38277,11 +38417,11 @@ }, { "name": "content-length", - "value": "259" + "value": "376" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38292,13 +38432,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.763Z", + "startedDateTime": "2024-11-06T16:35:42.761Z", "time": 2, "timings": { "blocked": -1, @@ -38311,7 +38451,7 @@ } }, { - "_id": "f5c7700e8edbc874b9bd5326c4553103", + "_id": "a103b6cc9e80a9148faffd133107119b", "_order": 0, "cache": {}, "request": { @@ -38328,11 +38468,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -38351,23 +38491,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 588, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" }, "response": { - "bodySize": 138, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -38399,6 +38534,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1655043290\"" + }, { "name": "expires", "value": "0" @@ -38413,11 +38552,11 @@ }, { "name": "content-length", - "value": "138" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38428,13 +38567,13 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.769Z", + "startedDateTime": "2024-11-06T16:35:42.761Z", "time": 3, "timings": { "blocked": -1, @@ -38447,7 +38586,7 @@ } }, { - "_id": "7ded160b901f60130de1bce51c3c740f", + "_id": "ff4cde59b928bdfd379441f53fc20c64", "_order": 0, "cache": {}, "request": { @@ -38464,15 +38603,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38487,23 +38626,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 608, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" }, "response": { - "bodySize": 138, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -38521,7 +38655,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38535,6 +38669,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1735965231\"" + }, { "name": "expires", "value": "0" @@ -38549,11 +38687,11 @@ }, { "name": "content-length", - "value": "138" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38564,14 +38702,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.777Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.761Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -38579,11 +38717,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "818341d9484a860bf8907337a7351ad6", + "_id": "d76f02fc3facdeb9109fa3ba9ce67edc", "_order": 0, "cache": {}, "request": { @@ -38600,15 +38738,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38623,23 +38761,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 599, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" }, "response": { - "bodySize": 138, + "bodySize": 340, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -38657,7 +38790,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38671,6 +38804,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"712832963\"" + }, { "name": "expires", "value": "0" @@ -38685,11 +38822,11 @@ }, { "name": "content-length", - "value": "138" + "value": "340" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38700,14 +38837,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.787Z", - "time": 13, + "startedDateTime": "2024-11-06T16:35:42.762Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -38715,11 +38852,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 13 + "wait": 2 } }, { - "_id": "2571d4bdb2f6dae5612f05e84ac2c4a3", + "_id": "3f2a1abe64d10da7fbed71fd61254daf", "_order": 0, "cache": {}, "request": { @@ -38736,15 +38873,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38759,23 +38896,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 610, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" }, "response": { - "bodySize": 138, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -38793,7 +38925,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38807,6 +38939,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1799080778\"" + }, { "name": "expires", "value": "0" @@ -38821,11 +38957,11 @@ }, { "name": "content-length", - "value": "138" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38836,14 +38972,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.787Z", - "time": 15, + "startedDateTime": "2024-11-06T16:35:42.769Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -38851,11 +38987,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 15 + "wait": 2 } }, { - "_id": "64eea1f8fb94deddfe57842a9b3b416b", + "_id": "a87709ffdc21c7fefad0156bb1764988", "_order": 0, "cache": {}, "request": { @@ -38872,15 +39008,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -38895,23 +39031,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/WebAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" }, "response": { - "bodySize": 138, + "bodySize": 819, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -38929,7 +39060,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -38943,6 +39074,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1526211113\"" + }, { "name": "expires", "value": "0" @@ -38957,11 +39092,11 @@ }, { "name": "content-length", - "value": "138" + "value": "819" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -38972,14 +39107,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.788Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:42.775Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -38987,11 +39122,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 2 } }, { - "_id": "c142da088a6c43c09039e02bdaa2c8d3", + "_id": "230af9b4afa85d96accb2b7d7e0e998c", "_order": 0, "cache": {}, "request": { @@ -39008,15 +39143,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39031,18 +39166,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 584, + "headersSize": 646, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" }, "response": { - "bodySize": 8380, + "bodySize": 271, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -39060,7 +39195,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39076,7 +39211,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" + "value": "\"1895090878\"" }, { "name": "expires", @@ -39091,30 +39226,26 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "271" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "connection", - "value": "keep-alive" + "value": "close" } ], - "headersSize": 492, + "headersSize": 456, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.808Z", - "time": 8, + "startedDateTime": "2024-11-06T16:35:42.782Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -39122,11 +39253,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 8 + "wait": 3 } }, { - "_id": "4e6ef97ce006cc7ca671549040b654d4", + "_id": "51d4fc40951eea3fec7c284468f137af", "_order": 0, "cache": {}, "request": { @@ -39143,15 +39274,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39166,23 +39297,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 653, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" }, "response": { - "bodySize": 138, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39200,7 +39326,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39214,6 +39340,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1743893705\"" + }, { "name": "expires", "value": "0" @@ -39228,11 +39358,11 @@ }, { "name": "content-length", - "value": "138" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39243,14 +39373,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.820Z", - "time": 6, + "startedDateTime": "2024-11-06T16:35:42.782Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -39258,11 +39388,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 6 + "wait": 3 } }, { - "_id": "6b9e889c497065d6eecc03f0c15e8523", + "_id": "27838e48d2d84ec0169373525d6e1176", "_order": 0, "cache": {}, "request": { @@ -39279,15 +39409,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39302,18 +39432,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" }, "response": { - "bodySize": 1278, + "bodySize": 959, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1278, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39331,7 +39461,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39347,7 +39477,7 @@ }, { "name": "etag", - "value": "\"-2141370265\"" + "value": "\"-1037301643\"" }, { "name": "expires", @@ -39363,11 +39493,11 @@ }, { "name": "content-length", - "value": "1278" + "value": "959" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39378,14 +39508,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.830Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.783Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -39393,15 +39523,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "0f96581906dfee454d59e2c086278cd4", + "_id": "227865ce09d751927b597045b968a37c", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -39414,11 +39544,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -39428,10 +39558,6 @@ "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -39441,28 +39567,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 651, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" }, "response": { - "bodySize": 13, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39494,6 +39610,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1365755177\"" + }, { "name": "expires", "value": "0" @@ -39508,11 +39628,11 @@ }, { "name": "content-length", - "value": "13" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39523,14 +39643,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.839Z", - "time": 67, + "startedDateTime": "2024-11-06T16:35:42.791Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -39538,11 +39658,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 3 } }, { - "_id": "3589957470cb982886bc187fa01daa34", + "_id": "ef3c042d37501c2232538b7f383823d9", "_order": 0, "cache": {}, "request": { @@ -39559,15 +39679,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39582,23 +39702,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 565, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/policies?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" }, "response": { - "bodySize": 137, + "bodySize": 371, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39616,7 +39731,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39630,6 +39745,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"790804755\"" + }, { "name": "expires", "value": "0" @@ -39644,11 +39763,11 @@ }, { "name": "content-length", - "value": "137" + "value": "371" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39659,13 +39778,13 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.911Z", + "startedDateTime": "2024-11-06T16:35:42.792Z", "time": 2, "timings": { "blocked": -1, @@ -39678,7 +39797,7 @@ } }, { - "_id": "2865a4376c54371f09eb6676984ac794", + "_id": "7fcac09925e519944ee6c25a70f6d6ed", "_order": 0, "cache": {}, "request": { @@ -39695,15 +39814,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39718,27 +39837,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 655, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" }, "response": { - "bodySize": 1058, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1058, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788713,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39756,7 +39866,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39770,6 +39880,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-347683889\"" + }, { "name": "expires", "value": "0" @@ -39784,11 +39898,11 @@ }, { "name": "content-length", - "value": "1058" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39799,14 +39913,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.917Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.792Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -39814,11 +39928,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "8ec481d75bb7a0d54671964fc5d30f39", + "_id": "f7b11c90271c6cbb9d6005f68c2e664f", "_order": 0, "cache": {}, "request": { @@ -39835,15 +39949,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39858,27 +39972,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 654, + "headersSize": 643, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" }, "response": { - "bodySize": 996, + "bodySize": 275, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 996, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788670},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788692}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -39896,7 +40001,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39910,6 +40015,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1855541828\"" + }, { "name": "expires", "value": "0" @@ -39924,11 +40033,11 @@ }, { "name": "content-length", - "value": "996" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -39939,14 +40048,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.925Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.793Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -39954,11 +40063,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "ef0612496b038d8e7d11ebdcb47d0c7a", + "_id": "1067e3e8038721d641be47b9f1efcc9a", "_order": 0, "cache": {}, "request": { @@ -39975,15 +40084,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -39998,23 +40107,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 577, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/scripts?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" }, "response": { - "bodySize": 176322, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176322, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40032,7 +40136,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40046,6 +40150,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1310629925\"" + }, { "name": "expires", "value": "0" @@ -40059,12 +40167,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40075,14 +40183,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.934Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:42.793Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -40090,11 +40198,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 2 } }, { - "_id": "8c28c86ea2dc548d8f377f13e235adda", + "_id": "8688e83a3ca385e9a0f54b0985bc8612", "_order": 0, "cache": {}, "request": { @@ -40111,15 +40219,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40134,23 +40242,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 614, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" }, "response": { - "bodySize": 9585, + "bodySize": 1201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 9585, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -40168,7 +40271,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40182,6 +40285,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1171487776\"" + }, { "name": "expires", "value": "0" @@ -40195,12 +40302,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "1201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40211,14 +40318,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.945Z", - "time": 21, + "startedDateTime": "2024-11-06T16:35:42.799Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -40226,11 +40333,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 21 + "wait": 2 } }, { - "_id": "edf51fedd09100a6cc80b4059b2549e7", + "_id": "973bccd0bc94c86dda98da9b264aa6fb", "_order": 0, "cache": {}, "request": { @@ -40247,15 +40354,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40270,18 +40377,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 589, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" }, "response": { - "bodySize": 346, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40299,7 +40406,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40315,7 +40422,7 @@ }, { "name": "etag", - "value": "\"-1741783487\"" + "value": "\"-1578060484\"" }, { "name": "expires", @@ -40331,11 +40438,11 @@ }, { "name": "content-length", - "value": "346" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40352,8 +40459,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.972Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.805Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -40361,11 +40468,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 3 } }, { - "_id": "e5e9a36236b174ed5a6fe1c44dca8e7f", + "_id": "6cb256afdd70defeb71fa66e0988c42e", "_order": 0, "cache": {}, "request": { @@ -40382,15 +40489,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40405,18 +40512,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 654, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" }, "response": { - "bodySize": 708, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -40434,7 +40541,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40450,7 +40557,7 @@ }, { "name": "etag", - "value": "\"-52720779\"" + "value": "\"-77719538\"" }, { "name": "expires", @@ -40466,11 +40573,11 @@ }, { "name": "content-length", - "value": "708" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40487,8 +40594,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.973Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.806Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -40496,11 +40603,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 1 } }, { - "_id": "1ce634703753aa4931a5559e2e365dde", + "_id": "ad26c10af137095071e17202330e338f", "_order": 0, "cache": {}, "request": { @@ -40517,15 +40624,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40540,23 +40647,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 614, + "headersSize": 638, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" }, "response": { - "bodySize": 5109, + "bodySize": 469, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5109, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40574,7 +40676,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40588,6 +40690,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1522661276\"" + }, { "name": "expires", "value": "0" @@ -40602,11 +40708,11 @@ }, { "name": "content-length", - "value": "5109" + "value": "469" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40617,14 +40723,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.973Z", - "time": 10, + "startedDateTime": "2024-11-06T16:35:42.806Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -40632,11 +40738,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 10 + "wait": 2 } }, { - "_id": "b8167ce019d6d590dd02b1979d9bb24e", + "_id": "7143192540f24bf1a2121588f84ba903", "_order": 0, "cache": {}, "request": { @@ -40653,15 +40759,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40676,23 +40782,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 618, + "headersSize": 646, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" }, "response": { - "bodySize": 13, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40710,7 +40811,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40724,6 +40825,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1395544271\"" + }, { "name": "expires", "value": "0" @@ -40738,11 +40843,11 @@ }, { "name": "content-length", - "value": "13" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40753,14 +40858,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.974Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.806Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -40768,11 +40873,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "0032444f503cd7792d89b6d46389da6f", + "_id": "34a3d974162be880172c02f2212c5ff0", "_order": 0, "cache": {}, "request": { @@ -40789,15 +40894,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40812,18 +40917,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 597, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" }, "response": { - "bodySize": 148, + "bodySize": 336, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -40841,7 +40946,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40857,7 +40962,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"875182106\"" }, { "name": "expires", @@ -40873,11 +40978,11 @@ }, { "name": "content-length", - "value": "148" + "value": "336" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -40888,14 +40993,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.976Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.807Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -40903,11 +41008,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "ad849dc027dfa4349545492c88087a5e", + "_id": "692161e6670f557ca32ee9164ca7afad", "_order": 0, "cache": {}, "request": { @@ -40924,15 +41029,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -40947,23 +41052,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 609, + "headersSize": 651, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" }, "response": { - "bodySize": 13, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -40981,7 +41081,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -40996,140 +41096,8 @@ "value": "same-origin" }, { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "13" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 464, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:39.976Z", - "time": 7, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 7 - } - }, - { - "_id": "cf5d090e919d5ccbb347c90ec06f7977", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 622, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "etag", + "value": "\"1323058199\"" }, { "name": "expires", @@ -41145,11 +41113,11 @@ }, { "name": "content-length", - "value": "13" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41160,14 +41128,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.977Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:42.813Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -41175,11 +41143,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 2 } }, { - "_id": "9fb94d6e43d493e45aafb1a4abf80834", + "_id": "37a261d2df15af9f8fa1d4747c2c900c", "_order": 0, "cache": {}, "request": { @@ -41196,15 +41164,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41219,23 +41187,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 623, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" }, "response": { - "bodySize": 15921, + "bodySize": 306, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 15921, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}],\"resultCount\":14,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41253,7 +41216,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41267,6 +41230,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-415466582\"" + }, { "name": "expires", "value": "0" @@ -41280,12 +41247,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "306" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41296,14 +41263,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:39.993Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:42.814Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -41311,11 +41278,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 2 } }, { - "_id": "42c25f4cd8a096675a09067c1183a470", + "_id": "10622e01f510e68b50e6bf3655acfe82", "_order": 0, "cache": {}, "request": { @@ -41332,15 +41299,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41355,18 +41322,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 611, + "headersSize": 615, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Agent" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" }, "response": { - "bodySize": 676, + "bodySize": 1639, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -41384,7 +41351,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41400,7 +41367,7 @@ }, { "name": "etag", - "value": "\"-1016023191\"" + "value": "\"433260882\"" }, { "name": "expires", @@ -41416,11 +41383,11 @@ }, { "name": "content-length", - "value": "676" + "value": "1639" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41431,14 +41398,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.003Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.820Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -41446,11 +41413,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "83a21a6ba9ed171feb199bf6cbf1d38a", + "_id": "5eb31a46c0b1ab6671556567c7061cc4", "_order": 0, "cache": {}, "request": { @@ -41467,15 +41434,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41490,18 +41457,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 669, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" }, "response": { - "bodySize": 250, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41519,7 +41486,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41535,7 +41502,7 @@ }, { "name": "etag", - "value": "\"1036485453\"" + "value": "\"1309752765\"" }, { "name": "expires", @@ -41551,11 +41518,11 @@ }, { "name": "content-length", - "value": "250" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41572,8 +41539,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.009Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.827Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -41581,11 +41548,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "43c77b39909d199d473a5fe771332ee0", + "_id": "0e1e8fd1185929f93872dad007bc2e68", "_order": 0, "cache": {}, "request": { @@ -41602,15 +41569,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41625,18 +41592,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" }, "response": { - "bodySize": 384, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41654,7 +41621,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41670,7 +41637,7 @@ }, { "name": "etag", - "value": "\"482303273\"" + "value": "\"-1874082022\"" }, { "name": "expires", @@ -41686,11 +41653,11 @@ }, { "name": "content-length", - "value": "384" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41701,14 +41668,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.009Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.828Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -41716,11 +41683,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "dfec7bff4570e579c48b0d257b1e5d07", + "_id": "afd49cbf047aedc6213597e0b34e66d0", "_order": 0, "cache": {}, "request": { @@ -41737,15 +41704,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41760,18 +41727,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 646, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" }, "response": { - "bodySize": 1043, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41789,7 +41756,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41805,7 +41772,7 @@ }, { "name": "etag", - "value": "\"-536916143\"" + "value": "\"-529786920\"" }, { "name": "expires", @@ -41821,11 +41788,11 @@ }, { "name": "content-length", - "value": "1043" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41836,14 +41803,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.016Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.828Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -41851,11 +41818,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "5702f3b3baa1e5f7f59572801b53d4f0", + "_id": "250733b8a391b619033afa3793a588c6", "_order": 0, "cache": {}, "request": { @@ -41872,15 +41839,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -41895,18 +41862,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" }, "response": { - "bodySize": 208, + "bodySize": 422, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41924,7 +41891,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41940,7 +41907,7 @@ }, { "name": "etag", - "value": "\"-1271206475\"" + "value": "\"384347514\"" }, { "name": "expires", @@ -41956,11 +41923,11 @@ }, { "name": "content-length", - "value": "208" + "value": "422" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -41971,13 +41938,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.025Z", + "startedDateTime": "2024-11-06T16:35:42.829Z", "time": 3, "timings": { "blocked": -1, @@ -41990,7 +41957,7 @@ } }, { - "_id": "f51a426dc6daaf8d8eed4ba6d19fdc53", + "_id": "1dec51c74d5c0300f685e657ab6e888b", "_order": 0, "cache": {}, "request": { @@ -42007,15 +41974,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42030,18 +41997,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" }, "response": { - "bodySize": 239, + "bodySize": 349, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -42059,7 +42026,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42075,7 +42042,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"894949571\"" }, { "name": "expires", @@ -42091,11 +42058,11 @@ }, { "name": "content-length", - "value": "239" + "value": "349" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42106,13 +42073,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.027Z", + "startedDateTime": "2024-11-06T16:35:42.830Z", "time": 2, "timings": { "blocked": -1, @@ -42125,7 +42092,7 @@ } }, { - "_id": "76d458cab3399e4b733d1b494543f6d4", + "_id": "f94ebacf0b08dc66c26c615b07bb68fc", "_order": 0, "cache": {}, "request": { @@ -42142,15 +42109,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42165,18 +42132,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 645, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" }, "response": { - "bodySize": 208, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42194,7 +42161,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42210,7 +42177,7 @@ }, { "name": "etag", - "value": "\"-1588216686\"" + "value": "\"-852986593\"" }, { "name": "expires", @@ -42226,11 +42193,11 @@ }, { "name": "content-length", - "value": "208" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42241,13 +42208,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.027Z", + "startedDateTime": "2024-11-06T16:35:42.830Z", "time": 2, "timings": { "blocked": -1, @@ -42260,7 +42227,7 @@ } }, { - "_id": "89414e013782aafe5695d6ea1104c2d8", + "_id": "5476c57261c4d1bc5dd9d3225f7c4e4b", "_order": 0, "cache": {}, "request": { @@ -42277,15 +42244,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42300,18 +42267,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" }, "response": { - "bodySize": 385, + "bodySize": 410, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42329,7 +42296,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42345,7 +42312,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"-895759180\"" }, { "name": "expires", @@ -42361,11 +42328,11 @@ }, { "name": "content-length", - "value": "385" + "value": "410" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42382,8 +42349,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.028Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.830Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -42391,11 +42358,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "41b80df967f2710ad5be5dac0d1112f2", + "_id": "781feff853a97404af139878c570ebd9", "_order": 0, "cache": {}, "request": { @@ -42412,15 +42379,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42435,18 +42402,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 634, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" }, "response": { - "bodySize": 668, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42464,7 +42431,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42480,7 +42447,7 @@ }, { "name": "etag", - "value": "\"-152060055\"" + "value": "\"502723459\"" }, { "name": "expires", @@ -42496,11 +42463,11 @@ }, { "name": "content-length", - "value": "668" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42511,14 +42478,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.033Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.838Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -42526,11 +42493,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "3deabeecc4b76ff80d9dd33c1b4b9f24", + "_id": "6eb01df757bbe55ede27e5b79eb9bebc", "_order": 0, "cache": {}, "request": { @@ -42547,15 +42514,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42570,18 +42537,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" }, "response": { - "bodySize": 1332, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 259, + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42599,7 +42566,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42615,7 +42582,7 @@ }, { "name": "etag", - "value": "\"756891103\"" + "value": "\"-611727803\"" }, { "name": "expires", @@ -42631,11 +42598,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42652,8 +42619,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.039Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.838Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -42661,11 +42628,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "fbf57281b1e632d17ba994799d13d086", + "_id": "08e5ec754bb94bc4c9768213caebf3e8", "_order": 0, "cache": {}, "request": { @@ -42682,15 +42649,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42705,18 +42672,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 610, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/push_registration" }, "response": { - "bodySize": 318, + "bodySize": 1801, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1801, + "text": "{\"_id\":\"push_registration\",\"_rev\":\"-250131000\",\"uiConfig\":{},\"entryNodeId\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"innerTreeOnly\":false,\"nodes\":{\"07bc635b-5a3f-461b-87ee-e76c9fa22738\":{\"connections\":{},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":180,\"y\":133},\"0e161d10-c2d1-4196-8b41-59f80be4a587\":{\"connections\":{\"true\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":406,\"y\":126},\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\":{\"connections\":{\"NOT_REGISTERED\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"SENT\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"SKIPPED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Push Sender\",\"nodeType\":\"PushAuthenticationSenderNode\",\"x\":647,\"y\":79},\"527e6b31-01db-409c-8f52-01a5b7f48737\":{\"connections\":{\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"WAITING\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Push Result Verifier Node\",\"nodeType\":\"PushResultVerifierNode\",\"x\":1016,\"y\":122},\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\":{\"connections\":{\"failureOutcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"successOutcome\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"timeoutOutcome\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Registration\",\"nodeType\":\"PushRegistrationNode\",\"x\":639,\"y\":299},\"ccb48486-0d8e-475d-a002-29d0bfa1177a\":{\"connections\":{\"DONE\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"EXITED\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\"},\"displayName\":\"Push Wait Node\",\"nodeType\":\"PushWaitNode\",\"x\":823,\"y\":126}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1245,\"y\":35},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1292,\"y\":172},\"startNode\":{\"x\":57,\"y\":22}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -42734,7 +42701,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42750,7 +42717,7 @@ }, { "name": "etag", - "value": "\"264081780\"" + "value": "\"-250131000\"" }, { "name": "expires", @@ -42766,11 +42733,11 @@ }, { "name": "content-length", - "value": "318" + "value": "1801" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42781,14 +42748,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.039Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.844Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -42796,11 +42763,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "b121e9a9186f00e4322e052b953aa99e", + "_id": "70967fd5c2b40f15ef50562827ad51f3", "_order": 0, "cache": {}, "request": { @@ -42817,15 +42784,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42840,18 +42807,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 626, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/07bc635b-5a3f-461b-87ee-e76c9fa22738" }, "response": { - "bodySize": 831, + "bodySize": 465, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 465, + "text": "{\"_id\":\"07bc635b-5a3f-461b-87ee-e76c9fa22738\",\"_rev\":\"-2057388206\",\"nodes\":[{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42869,7 +42836,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -42885,7 +42852,7 @@ }, { "name": "etag", - "value": "\"1066064282\"" + "value": "\"-2057388206\"" }, { "name": "expires", @@ -42901,11 +42868,11 @@ }, { "name": "content-length", - "value": "831" + "value": "465" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -42916,14 +42883,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.044Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.851Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -42931,11 +42898,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "b3295e2c363d0a8431d17686b7e29530", + "_id": "1b2da9d36696fe0b48cd9876c5a90c3b", "_order": 0, "cache": {}, "request": { @@ -42952,15 +42919,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -42975,18 +42942,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/0e161d10-c2d1-4196-8b41-59f80be4a587" }, "response": { - "bodySize": 237, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 239, + "text": "{\"_id\":\"0e161d10-c2d1-4196-8b41-59f80be4a587\",\"_rev\":\"1313222188\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -43004,7 +42971,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43020,7 +42987,7 @@ }, { "name": "etag", - "value": "\"-85053235\"" + "value": "\"1313222188\"" }, { "name": "expires", @@ -43036,11 +43003,11 @@ }, { "name": "content-length", - "value": "237" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43051,14 +43018,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.052Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.851Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -43066,11 +43033,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "5b387d79bf8633d659e9967ba011772b", + "_id": "d24dbc68a2e0dfb9ee0eb851ff02fc3b", "_order": 0, "cache": {}, "request": { @@ -43087,15 +43054,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43110,18 +43077,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushAuthenticationSenderNode/1323d24e-b9f8-4396-a9ce-4550fe3ac84f" }, "response": { - "bodySize": 1284, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 439, + "text": "{\"_id\":\"1323d24e-b9f8-4396-a9ce-4550fe3ac84f\",\"_rev\":\"1886752343\",\"captureFailure\":false,\"contextInfo\":false,\"userMessage\":{},\"pushType\":\"DEFAULT\",\"customPayload\":[],\"mandatory\":false,\"messageTimeout\":120000,\"_type\":{\"_id\":\"PushAuthenticationSenderNode\",\"name\":\"Push Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"SENT\",\"displayName\":\"Sent\"},{\"id\":\"NOT_REGISTERED\",\"displayName\":\"Not Registered\"},{\"id\":\"SKIPPED\",\"displayName\":\"Skipped\"}]}" }, "cookies": [], "headers": [ @@ -43139,7 +43106,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43155,7 +43122,7 @@ }, { "name": "etag", - "value": "\"328700129\"" + "value": "\"1886752343\"" }, { "name": "expires", @@ -43171,11 +43138,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43192,7 +43159,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.052Z", + "startedDateTime": "2024-11-06T16:35:42.852Z", "time": 2, "timings": { "blocked": -1, @@ -43205,7 +43172,7 @@ } }, { - "_id": "f377dd58cb29bc8d3780090447890489", + "_id": "b5814fd777fe89e5c0738909a6508ee6", "_order": 0, "cache": {}, "request": { @@ -43222,15 +43189,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43245,18 +43212,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 660, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushResultVerifierNode/527e6b31-01db-409c-8f52-01a5b7f48737" }, "response": { - "bodySize": 239, + "bodySize": 333, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 333, + "text": "{\"_id\":\"527e6b31-01db-409c-8f52-01a5b7f48737\",\"_rev\":\"-693031123\",\"_type\":{\"_id\":\"PushResultVerifierNode\",\"name\":\"Push Result Verifier Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"Success\"},{\"id\":\"FALSE\",\"displayName\":\"Failure\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"},{\"id\":\"WAITING\",\"displayName\":\"Waiting\"}]}" }, "cookies": [], "headers": [ @@ -43274,7 +43241,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43290,7 +43257,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"-693031123\"" }, { "name": "expires", @@ -43306,11 +43273,11 @@ }, { "name": "content-length", - "value": "239" + "value": "333" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43327,7 +43294,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.053Z", + "startedDateTime": "2024-11-06T16:35:42.852Z", "time": 3, "timings": { "blocked": -1, @@ -43340,7 +43307,7 @@ } }, { - "_id": "a725cf9b7e3b49ab610d94509d017399", + "_id": "891fb1de222148542206d80c8455c621", "_order": 0, "cache": {}, "request": { @@ -43357,15 +43324,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43380,18 +43347,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 635, + "headersSize": 650, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushRegistrationNode/c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c" }, "response": { - "bodySize": 1729, + "bodySize": 438, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 438, + "text": "{\"_id\":\"c03b9d7b-3c91-4de4-9f6b-b9f7f7ce999c\",\"_rev\":\"126603270\",\"bgColor\":\"032b75\",\"generateRecoveryCodes\":true,\"scanQRCodeMessage\":{},\"accountName\":\"USERNAME\",\"issuer\":\"ForgeRock\",\"timeout\":60,\"_type\":{\"_id\":\"PushRegistrationNode\",\"name\":\"Push Registration\",\"collection\":true},\"_outcomes\":[{\"id\":\"successOutcome\",\"displayName\":\"Success\"},{\"id\":\"failureOutcome\",\"displayName\":\"Failure\"},{\"id\":\"timeoutOutcome\",\"displayName\":\"Time Out\"}]}" }, "cookies": [], "headers": [ @@ -43409,7 +43376,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43425,7 +43392,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"126603270\"" }, { "name": "expires", @@ -43441,11 +43408,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "438" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43456,13 +43423,13 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.059Z", + "startedDateTime": "2024-11-06T16:35:42.853Z", "time": 2, "timings": { "blocked": -1, @@ -43475,7 +43442,7 @@ } }, { - "_id": "ea36b763d8521688ca7cf0cf59d1f1ed", + "_id": "64414d9108826f97c281f9ecc4b388fd", "_order": 0, "cache": {}, "request": { @@ -43492,15 +43459,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43515,18 +43482,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 670, + "headersSize": 642, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PushWaitNode/ccb48486-0d8e-475d-a002-29d0bfa1177a" }, "response": { - "bodySize": 327, + "bodySize": 302, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 302, + "text": "{\"_id\":\"ccb48486-0d8e-475d-a002-29d0bfa1177a\",\"_rev\":\"1204164942\",\"challengeMessage\":{},\"exitMessage\":{},\"waitingMessage\":{},\"secondsToWait\":5,\"_type\":{\"_id\":\"PushWaitNode\",\"name\":\"Push Wait Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"DONE\",\"displayName\":\"Done\"},{\"id\":\"EXITED\",\"displayName\":\"Exit\"}]}" }, "cookies": [], "headers": [ @@ -43544,7 +43511,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43560,7 +43527,7 @@ }, { "name": "etag", - "value": "\"2002571022\"" + "value": "\"1204164942\"" }, { "name": "expires", @@ -43576,11 +43543,11 @@ }, { "name": "content-length", - "value": "327" + "value": "302" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43597,8 +43564,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.066Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.853Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -43606,11 +43573,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "042320d68eeb69a72e6f560aa0456a3f", + "_id": "c30fecc22bf86d0ed55bd08e0ecc9cf5", "_order": 0, "cache": {}, "request": { @@ -43627,15 +43594,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43650,18 +43617,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/1eb148f2-82e0-49c6-a330-e6a6d1a9eea9" }, "response": { - "bodySize": 224, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"1eb148f2-82e0-49c6-a330-e6a6d1a9eea9\",\"_rev\":\"499818596\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43679,7 +43646,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43695,7 +43662,7 @@ }, { "name": "etag", - "value": "\"-1210949842\"" + "value": "\"499818596\"" }, { "name": "expires", @@ -43711,11 +43678,11 @@ }, { "name": "content-length", - "value": "224" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43726,13 +43693,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.066Z", + "startedDateTime": "2024-11-06T16:35:42.861Z", "time": 3, "timings": { "blocked": -1, @@ -43745,7 +43712,7 @@ } }, { - "_id": "4dad7850e3b4aa1edf51845f2b99743d", + "_id": "0339a36d8cd2e6f592b6e94c5822e283", "_order": 0, "cache": {}, "request": { @@ -43762,15 +43729,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43785,18 +43752,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7ab18633-6eb0-455d-97ff-40ff7db4862a" }, "response": { - "bodySize": 1285, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 259, + "text": "{\"_id\":\"7ab18633-6eb0-455d-97ff-40ff7db4862a\",\"_rev\":\"1208874462\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43814,7 +43781,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43830,7 +43797,7 @@ }, { "name": "etag", - "value": "\"1821134736\"" + "value": "\"1208874462\"" }, { "name": "expires", @@ -43846,11 +43813,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43861,14 +43828,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.067Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.862Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -43876,11 +43843,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 1 } }, { - "_id": "6df6a9ddd5a60930d171a5d2e2534307", + "_id": "ad1add3dc919dba7012fa842f369ab3b", "_order": 0, "cache": {}, "request": { @@ -43897,15 +43864,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -43920,18 +43887,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 603, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/RetryLimit" }, "response": { - "bodySize": 659, + "bodySize": 1231, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -43949,7 +43916,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -43965,7 +43932,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"-1417605028\"" }, { "name": "expires", @@ -43981,11 +43948,11 @@ }, { "name": "content-length", - "value": "659" + "value": "1231" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -43996,14 +43963,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.067Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.868Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -44011,11 +43978,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "36f30a2663ee67816c417080f7f7281c", + "_id": "62b8aea68448de894f05b7cc15aa9294", "_order": 0, "cache": {}, "request": { @@ -44032,15 +43999,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44055,18 +44022,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" }, "response": { - "bodySize": 299, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 207, + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44084,7 +44051,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44100,7 +44067,7 @@ }, { "name": "etag", - "value": "\"-171890830\"" + "value": "\"1991543646\"" }, { "name": "expires", @@ -44116,11 +44083,11 @@ }, { "name": "content-length", - "value": "299" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44137,8 +44104,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.068Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.875Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -44146,11 +44113,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "1828f701e56214fb606de64c77bb633e", + "_id": "4a18bb1295115390e21f1d3323ae2d53", "_order": 0, "cache": {}, "request": { @@ -44167,15 +44134,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44190,18 +44157,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" }, "response": { - "bodySize": 222, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44219,7 +44186,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44235,7 +44202,7 @@ }, { "name": "etag", - "value": "\"-1709503699\"" + "value": "\"1844311587\"" }, { "name": "expires", @@ -44251,11 +44218,11 @@ }, { "name": "content-length", - "value": "222" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44266,13 +44233,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.068Z", + "startedDateTime": "2024-11-06T16:35:42.876Z", "time": 2, "timings": { "blocked": -1, @@ -44285,7 +44252,7 @@ } }, { - "_id": "1e63ed577c6a24cd6e3dc35a1ce2d923", + "_id": "700f8712bf9943d27f5c4340321399df", "_order": 0, "cache": {}, "request": { @@ -44302,15 +44269,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44325,18 +44292,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 652, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" }, "response": { - "bodySize": 279, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -44354,7 +44321,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44370,7 +44337,7 @@ }, { "name": "etag", - "value": "\"580379617\"" + "value": "\"376925853\"" }, { "name": "expires", @@ -44386,11 +44353,11 @@ }, { "name": "content-length", - "value": "279" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44407,7 +44374,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.068Z", + "startedDateTime": "2024-11-06T16:35:42.876Z", "time": 2, "timings": { "blocked": -1, @@ -44420,7 +44387,7 @@ } }, { - "_id": "3c37cb96a0bfe0f4c30ac363a2ad5902", + "_id": "7d4e7ce5745725156daa0a42b329299a", "_order": 0, "cache": {}, "request": { @@ -44437,15 +44404,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44460,18 +44427,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 625, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" }, "response": { - "bodySize": 1456, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1456, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -44489,7 +44456,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44505,7 +44472,7 @@ }, { "name": "etag", - "value": "\"-293280187\"" + "value": "\"1366894111\"" }, { "name": "expires", @@ -44521,11 +44488,11 @@ }, { "name": "content-length", - "value": "1456" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44536,13 +44503,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.074Z", + "startedDateTime": "2024-11-06T16:35:42.877Z", "time": 1, "timings": { "blocked": -1, @@ -44555,7 +44522,7 @@ } }, { - "_id": "7fa95a66a5ea8886b23677d440ddbe3c", + "_id": "d929de4c4200fd162a9aa79944a48133", "_order": 0, "cache": {}, "request": { @@ -44572,15 +44539,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44595,18 +44562,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 648, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" }, "response": { "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44624,7 +44591,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44640,7 +44607,7 @@ }, { "name": "etag", - "value": "\"1217170264\"" + "value": "\"2057819892\"" }, { "name": "expires", @@ -44660,7 +44627,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44677,8 +44644,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.080Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.877Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -44686,11 +44653,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "a614634e682b10c3c1e0dbde3e9903ee", + "_id": "65a20f9887ccb9065a06104420d14a49", "_order": 0, "cache": {}, "request": { @@ -44707,15 +44674,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44730,18 +44697,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 596, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/six" }, "response": { - "bodySize": 280, + "bodySize": 1202, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1202, + "text": "{\"_id\":\"six\",\"_rev\":\"1231202898\",\"uiConfig\":{},\"entryNodeId\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"innerTreeOnly\":false,\"nodes\":{\"295a70ba-2b67-4a48-bf13-237ce0a55450\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":488,\"y\":57.890625},\"4a77788d-d443-4646-ac52-5cb9f2207a8a\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":494,\"y\":458.890625},\"5883ff1e-80dd-49f5-a609-120303e1b0cd\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":446,\"y\":298.890625},\"59129227-f192-4ff4-a7b4-bc7690b82d4f\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":482,\"y\":220.890625},\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":461,\"y\":369.890625},\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\":{\"connections\":{},\"displayName\":\"Platform Username\",\"nodeType\":\"ValidatedUsernameNode\",\"x\":499,\"y\":139.890625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -44759,7 +44726,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44775,7 +44742,7 @@ }, { "name": "etag", - "value": "\"-567112083\"" + "value": "\"1231202898\"" }, { "name": "expires", @@ -44791,11 +44758,11 @@ }, { "name": "content-length", - "value": "280" + "value": "1202" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44806,14 +44773,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.080Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.882Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -44821,11 +44788,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "95f91270497ab866daa53975512ebb54", + "_id": "b9ee1f7116da2fd85af21cac06670161", "_order": 0, "cache": {}, "request": { @@ -44842,15 +44809,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -44865,18 +44832,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/295a70ba-2b67-4a48-bf13-237ce0a55450" }, "response": { - "bodySize": 238, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 258, + "text": "{\"_id\":\"295a70ba-2b67-4a48-bf13-237ce0a55450\",\"_rev\":\"161778965\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44894,7 +44861,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -44910,7 +44877,7 @@ }, { "name": "etag", - "value": "\"613466196\"" + "value": "\"161778965\"" }, { "name": "expires", @@ -44926,11 +44893,11 @@ }, { "name": "content-length", - "value": "238" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -44947,7 +44914,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.080Z", + "startedDateTime": "2024-11-06T16:35:42.889Z", "time": 4, "timings": { "blocked": -1, @@ -44960,7 +44927,7 @@ } }, { - "_id": "c0a8f47307f0e373ba5b06ef8f214a29", + "_id": "9639a85d9151a7e1ac0e6a5023e3e3ab", "_order": 0, "cache": {}, "request": { @@ -44977,15 +44944,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45000,18 +44967,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/4a77788d-d443-4646-ac52-5cb9f2207a8a" }, "response": { - "bodySize": 659, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"4a77788d-d443-4646-ac52-5cb9f2207a8a\",\"_rev\":\"-745501524\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45029,7 +44996,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45045,7 +45012,7 @@ }, { "name": "etag", - "value": "\"1140433090\"" + "value": "\"-745501524\"" }, { "name": "expires", @@ -45061,11 +45028,11 @@ }, { "name": "content-length", - "value": "659" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45082,7 +45049,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.081Z", + "startedDateTime": "2024-11-06T16:35:42.890Z", "time": 3, "timings": { "blocked": -1, @@ -45095,7 +45062,7 @@ } }, { - "_id": "e32b5cb194a2bca9e48d6984edb6e543", + "_id": "6af13b3c256c3c0aaccd2429e3131215", "_order": 0, "cache": {}, "request": { @@ -45112,15 +45079,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45135,18 +45102,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/5883ff1e-80dd-49f5-a609-120303e1b0cd" }, "response": { - "bodySize": 206, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"5883ff1e-80dd-49f5-a609-120303e1b0cd\",\"_rev\":\"1326879436\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45164,7 +45131,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45180,7 +45147,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"1326879436\"" }, { "name": "expires", @@ -45196,11 +45163,11 @@ }, { "name": "content-length", - "value": "206" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45211,14 +45178,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.081Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.891Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -45226,11 +45193,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "2057565926f53a5d316b28c80d846a29", + "_id": "3d0fc8e8d2752f8dbb5227e155ff2631", "_order": 0, "cache": {}, "request": { @@ -45247,15 +45214,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45270,18 +45237,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/59129227-f192-4ff4-a7b4-bc7690b82d4f" }, "response": { - "bodySize": 207, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 260, + "text": "{\"_id\":\"59129227-f192-4ff4-a7b4-bc7690b82d4f\",\"_rev\":\"-1475080074\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45299,7 +45266,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45315,7 +45282,7 @@ }, { "name": "etag", - "value": "\"-943748018\"" + "value": "\"-1475080074\"" }, { "name": "expires", @@ -45331,11 +45298,11 @@ }, { "name": "content-length", - "value": "207" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45346,14 +45313,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.083Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.891Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -45361,11 +45328,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "82fd58dac86d0be209d145f206a37a87", + "_id": "932ac25bfe97ae2403eaa15c1edd2f87", "_order": 0, "cache": {}, "request": { @@ -45382,15 +45349,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45405,18 +45372,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/6a1aa88f-25f8-4d40-8008-bfc6684b2a58" }, "response": { - "bodySize": 1258, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 259, + "text": "{\"_id\":\"6a1aa88f-25f8-4d40-8008-bfc6684b2a58\",\"_rev\":\"1687799310\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45434,7 +45401,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45450,7 +45417,7 @@ }, { "name": "etag", - "value": "\"-1882065253\"" + "value": "\"1687799310\"" }, { "name": "expires", @@ -45466,11 +45433,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45481,14 +45448,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.088Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.892Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -45496,11 +45463,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "ec986d6ece7088e09c0ccba2e36f74fc", + "_id": "cff55c70988d655879dc2eba79c32bd9", "_order": 0, "cache": {}, "request": { @@ -45517,15 +45484,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45540,18 +45507,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5" }, "response": { - "bodySize": 207, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"8b1a8dc8-338f-46af-a4c5-6fe7cf6a2cf5\",\"_rev\":\"1681212105\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -45569,7 +45536,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45585,7 +45552,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"1681212105\"" }, { "name": "expires", @@ -45601,11 +45568,11 @@ }, { "name": "content-length", - "value": "207" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45622,7 +45589,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.094Z", + "startedDateTime": "2024-11-06T16:35:42.892Z", "time": 2, "timings": { "blocked": -1, @@ -45635,7 +45602,7 @@ } }, { - "_id": "943738cff1ac85716e67ad3eb13d9450", + "_id": "810439ed432ba4aeca554d226f6261d3", "_order": 0, "cache": {}, "request": { @@ -45652,15 +45619,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45675,18 +45642,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 597, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/test" }, "response": { - "bodySize": 348, + "bodySize": 305, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 305, + "text": "{\"_id\":\"test\",\"_rev\":\"2111683877\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -45704,7 +45671,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45720,7 +45687,7 @@ }, { "name": "etag", - "value": "\"1056905201\"" + "value": "\"2111683877\"" }, { "name": "expires", @@ -45736,11 +45703,11 @@ }, { "name": "content-length", - "value": "348" + "value": "305" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45757,8 +45724,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.094Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.898Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -45766,11 +45733,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "96a53b23a19af66561e6720704097460", + "_id": "c47d9894a4df7f96999c6b94182e8cfa", "_order": 0, "cache": {}, "request": { @@ -45787,15 +45754,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45810,18 +45777,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 614, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/trees/webauthn_registration" }, "response": { - "bodySize": 205, + "bodySize": 1488, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1488, + "text": "{\"_id\":\"webauthn_registration\",\"_rev\":\"1750078555\",\"uiConfig\":{},\"entryNodeId\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"innerTreeOnly\":false,\"nodes\":{\"72ef6e1d-930c-4bed-922a-850815d98ea1\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"success\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Registration Node\",\"nodeType\":\"WebAuthnRegistrationNode\",\"x\":629,\"y\":266},\"807106ff-fb66-469e-93bb-4e0834f6c875\":{\"connections\":{\"outcome\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":192,\"y\":156},\"878eb28e-41b2-4bd7-9256-80ed427bd168\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":396,\"y\":157},\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\":{\"connections\":{\"error\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"failure\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"noDevice\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"success\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"unsupported\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"WebAuthn Authentication Node\",\"nodeType\":\"WebAuthnAuthenticationNode\",\"x\":608,\"y\":24}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1200,\"y\":34},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1206,\"y\":135},\"startNode\":{\"x\":76,\"y\":98}},\"enabled\":true}" }, "cookies": [], "headers": [ @@ -45839,7 +45806,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45855,7 +45822,7 @@ }, { "name": "etag", - "value": "\"49533813\"" + "value": "\"1750078555\"" }, { "name": "expires", @@ -45871,11 +45838,11 @@ }, { "name": "content-length", - "value": "205" + "value": "1488" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -45886,14 +45853,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.095Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.904Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -45901,11 +45868,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "141899f5311fcf46c0cb7bb11b6f6f6f", + "_id": "46ec9c11b0fe469befa1ad3b2e43646a", "_order": 0, "cache": {}, "request": { @@ -45922,15 +45889,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -45945,18 +45912,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 654, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnRegistrationNode/72ef6e1d-930c-4bed-922a-850815d98ea1" }, "response": { - "bodySize": 401, + "bodySize": 832, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 832, + "text": "{\"_id\":\"72ef6e1d-930c-4bed-922a-850815d98ea1\",\"_rev\":\"-990617448\",\"trustStoreAlias\":\"trustalias\",\"relyingPartyName\":\"ForgeRock\",\"maxSavedDevices\":0,\"generateRecoveryCodes\":true,\"storeAttestationDataInTransientState\":false,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"postponeDeviceProfileStorage\":false,\"excludeCredentials\":false,\"requiresResidentKey\":false,\"authenticatorAttachment\":\"UNSPECIFIED\",\"asScript\":true,\"acceptedSigningAlgorithms\":[\"ES256\",\"RS256\"],\"attestationPreference\":\"NONE\",\"enforceRevocationCheck\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnRegistrationNode\",\"name\":\"WebAuthn Registration Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" }, "cookies": [], "headers": [ @@ -45974,7 +45941,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -45990,7 +45957,7 @@ }, { "name": "etag", - "value": "\"2091792219\"" + "value": "\"-990617448\"" }, { "name": "expires", @@ -46006,11 +45973,11 @@ }, { "name": "content-length", - "value": "401" + "value": "832" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46027,7 +45994,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.095Z", + "startedDateTime": "2024-11-06T16:35:42.912Z", "time": 2, "timings": { "blocked": -1, @@ -46040,7 +46007,7 @@ } }, { - "_id": "786e50ce7e2a687378ad9f2e65aee710", + "_id": "1b3569af4eff0544f9a5cc0ac1b9c9c6", "_order": 0, "cache": {}, "request": { @@ -46057,15 +46024,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46080,18 +46047,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/PageNode/807106ff-fb66-469e-93bb-4e0834f6c875" }, "response": { - "bodySize": 240, + "bodySize": 464, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 464, + "text": "{\"_id\":\"807106ff-fb66-469e-93bb-4e0834f6c875\",\"_rev\":\"-890592433\",\"nodes\":[{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46109,7 +46076,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46125,7 +46092,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"-890592433\"" }, { "name": "expires", @@ -46141,11 +46108,11 @@ }, { "name": "content-length", - "value": "240" + "value": "464" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46156,14 +46123,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.096Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.912Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -46171,11 +46138,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "65d6ebed14802c9cb207a0c6892679a2", + "_id": "c4a09b17a05d7a5c66526f4172756e78", "_order": 0, "cache": {}, "request": { @@ -46192,15 +46159,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46215,18 +46182,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 631, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/878eb28e-41b2-4bd7-9256-80ed427bd168" }, "response": { - "bodySize": 1052, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "size": 239, + "text": "{\"_id\":\"878eb28e-41b2-4bd7-9256-80ed427bd168\",\"_rev\":\"-398538787\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -46244,7 +46211,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46260,7 +46227,7 @@ }, { "name": "etag", - "value": "\"460502738\"" + "value": "\"-398538787\"" }, { "name": "expires", @@ -46276,11 +46243,11 @@ }, { "name": "content-length", - "value": "1052" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46297,7 +46264,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.101Z", + "startedDateTime": "2024-11-06T16:35:42.913Z", "time": 1, "timings": { "blocked": -1, @@ -46310,7 +46277,7 @@ } }, { - "_id": "d73f5a1156e95d6a1082f1098008dc27", + "_id": "dc9f100de7fa4960a76386e258b57a4f", "_order": 0, "cache": {}, "request": { @@ -46327,15 +46294,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46350,18 +46317,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 656, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/WebAuthnAuthenticationNode/9fce34fc-03f1-4fb1-8ce5-1feff34a403c" }, "response": { - "bodySize": 265, + "bodySize": 553, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 553, + "text": "{\"_id\":\"9fce34fc-03f1-4fb1-8ce5-1feff34a403c\",\"_rev\":\"1437065775\",\"requiresResidentKey\":false,\"asScript\":true,\"origins\":[],\"userVerificationRequirement\":\"PREFERRED\",\"isRecoveryCodeAllowed\":false,\"timeout\":60,\"_type\":{\"_id\":\"WebAuthnAuthenticationNode\",\"name\":\"WebAuthn Authentication Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"unsupported\",\"displayName\":\"Unsupported\"},{\"id\":\"noDevice\",\"displayName\":\"No Device Registered\"},{\"id\":\"success\",\"displayName\":\"Success\"},{\"id\":\"failure\",\"displayName\":\"Failure\"},{\"id\":\"error\",\"displayName\":\"Client Error\"}]}" }, "cookies": [], "headers": [ @@ -46379,7 +46346,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46395,7 +46362,7 @@ }, { "name": "etag", - "value": "\"-1300278465\"" + "value": "\"1437065775\"" }, { "name": "expires", @@ -46411,11 +46378,11 @@ }, { "name": "content-length", - "value": "265" + "value": "553" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46426,14 +46393,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.106Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.913Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -46441,11 +46408,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "80731f7498eeb82808c1865b19e3ac4b", + "_id": "45e2b86d47e4539b8333bfaa20dddbdf", "_order": 0, "cache": {}, "request": { @@ -46462,15 +46429,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46485,18 +46452,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/08faa9c0-7c19-454a-a4e1-0692d94615f6" }, "response": { - "bodySize": 437, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"08faa9c0-7c19-454a-a4e1-0692d94615f6\",\"_rev\":\"1598789339\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46514,7 +46481,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46530,7 +46497,7 @@ }, { "name": "etag", - "value": "\"-1682915712\"" + "value": "\"1598789339\"" }, { "name": "expires", @@ -46546,11 +46513,11 @@ }, { "name": "content-length", - "value": "437" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46561,14 +46528,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.107Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:42.920Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -46576,11 +46543,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "52e3961c14f1ae5091ca4482778459be", + "_id": "d6bee6c1f5a266692b2baa233e9ffcc5", "_order": 0, "cache": {}, "request": { @@ -46597,15 +46564,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -46624,14 +46591,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3334a349-b2ea-42e0-86b8-9f6c39d43dad" }, "response": { - "bodySize": 474, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"3334a349-b2ea-42e0-86b8-9f6c39d43dad\",\"_rev\":\"-492443345\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46649,7 +46616,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -46665,7 +46632,7 @@ }, { "name": "etag", - "value": "\"-1018162955\"" + "value": "\"-492443345\"" }, { "name": "expires", @@ -46681,11 +46648,11 @@ }, { "name": "content-length", - "value": "474" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46696,13 +46663,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.107Z", + "startedDateTime": "2024-11-06T16:35:42.921Z", "time": 2, "timings": { "blocked": -1, @@ -46715,7 +46682,7 @@ } }, { - "_id": "8dbfb2445a2195e1f90cab62e3b7cfd8", + "_id": "0965f269fcda0ed0bd98dc281be677ad", "_order": 0, "cache": {}, "request": { @@ -46732,15 +46699,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "cookie", @@ -46755,18 +46722,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 667, + "headersSize": 552, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/policies?_queryFilter=true" }, "response": { - "bodySize": 273, + "bodySize": 743, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 743, + "text": "{\"result\":[{\"_id\":\"Test Policy\",\"_rev\":\"1728509786771\",\"name\":\"Test Policy\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*?*\"],\"applicationName\":\"iPlanetAMWebAgentService\",\"actionValues\":{},\"subject\":{\"type\":\"AND\",\"subjects\":[{\"type\":\"NONE\"},{\"type\":\"Identity\",\"subjectValues\":[\"id=phales,ou=user,dc=openam,dc=forgerock,dc=org\"]}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":\"2024-10-09T21:36:26.771Z\",\"createdBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":\"2024-06-27T17:07:04.220Z\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -46784,7 +46756,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -46798,10 +46770,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1599353126\"" - }, { "name": "expires", "value": "0" @@ -46816,11 +46784,11 @@ }, { "name": "content-length", - "value": "273" + "value": "743" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46831,14 +46799,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.107Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:42.927Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -46846,11 +46814,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "9d4ff766eebe043e4c81a44b3792ec4b", + "_id": "e2667422f2152dbbb72d90e735b523c4", "_order": 0, "cache": {}, "request": { @@ -46867,15 +46835,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "cookie", @@ -46890,18 +46858,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 642, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 305, + "bodySize": 1994, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1994, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"name\":\"iPlanetAMWebAgentService\",\"displayName\":\"Default Policy Set\",\"description\":\"The built-in Application used by OpenAM Policy Agents.\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1718897366825,\"lastModifiedDate\":1728509786744,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"},{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"AND\",\"OR\",\"NOT\",\"AMIdentityMembership\",\"AuthLevel\",\"LEAuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"OAuth2Scope\",\"ResourceEnvIP\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Script\",\"Transaction\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"subjects\":[\"AND\",\"OR\",\"NOT\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1718897366918,\"lastModifiedDate\":1728509786761,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -46919,7 +46896,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -46933,10 +46910,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"104930768\"" - }, { "name": "expires", "value": "0" @@ -46951,11 +46924,11 @@ }, { "name": "content-length", - "value": "305" + "value": "1994" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -46966,13 +46939,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.115Z", + "startedDateTime": "2024-11-06T16:35:42.936Z", "time": 3, "timings": { "blocked": -1, @@ -46985,7 +46958,7 @@ } }, { - "_id": "a62c818ecbcab5cfe863c81b25392058", + "_id": "cc4540aef38f68690fef36a5beb34aad", "_order": 0, "cache": {}, "request": { @@ -47002,15 +46975,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "cookie", @@ -47025,18 +46998,27 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 619, + "headersSize": 641, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 1047, + "bodySize": 1031, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 1031, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1517161800564,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786611},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1422892465848,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509786629}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -47054,7 +47036,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -47068,10 +47050,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2033523620\"" - }, { "name": "expires", "value": "0" @@ -47086,11 +47064,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "1031" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47101,14 +47079,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 493, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.121Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:42.943Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -47116,11 +47094,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "b30149cd3d16573fda235fef3691a22a", + "_id": "139b5e629e98bccba72c676d156cb3da", "_order": 0, "cache": {}, "request": { @@ -47137,15 +47115,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -47160,18 +47138,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 564, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/scripts?_queryFilter=true" }, "response": { - "bodySize": 243, + "bodySize": 198250, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 198250, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"description\":\"This is a test script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"description\":\"Test script description\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"name\":\"Legacy\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":41,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -47189,7 +47172,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -47203,10 +47186,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1707653179\"" - }, { "name": "expires", "value": "0" @@ -47220,12 +47199,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "243" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47236,14 +47215,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.129Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.950Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -47251,11 +47230,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "caefac325b890f48a5b3dc2636f2acb5", + "_id": "b6333952c3219c251f531046edd5767f", "_order": 0, "cache": {}, "request": { @@ -47272,15 +47251,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -47295,18 +47274,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 597, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"test script 2\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22test%20script%202%22" }, "response": { - "bodySize": 278, + "bodySize": 403, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 403, + "text": "{\"result\":[{\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"name\":\"test script 2\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -47324,7 +47308,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -47338,10 +47322,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1613803341\"" - }, { "name": "expires", "value": "0" @@ -47356,11 +47336,11 @@ }, { "name": "content-length", - "value": "278" + "value": "403" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47371,13 +47351,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.130Z", + "startedDateTime": "2024-11-06T16:35:42.962Z", "time": 2, "timings": { "blocked": -1, @@ -47390,7 +47370,7 @@ } }, { - "_id": "e96433862cd3432228364e6b01110540", + "_id": "f0cdb567881ce8f5aa24b16ffb8be086", "_order": 0, "cache": {}, "request": { @@ -47407,15 +47387,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -47430,18 +47410,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 593, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Test Script\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22Test%20Script%22" }, "response": { - "bodySize": 239, + "bodySize": 401, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 401, + "text": "{\"result\":[{\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"name\":\"Test Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -47459,7 +47444,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -47474,8 +47459,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"1478640305\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "401" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:42.969Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "d98fffca3283f12788b818f5cc7fb270", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 594, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"NextGeneration\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/libraries?_queryFilter=name%20eq%20%22NextGeneration%22" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"result\":[{\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"name\":\"NextGeneration\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -47491,11 +47608,11 @@ }, { "name": "content-length", - "value": "239" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47506,13 +47623,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.130Z", + "startedDateTime": "2024-11-06T16:35:42.975Z", "time": 2, "timings": { "blocked": -1, @@ -47525,7 +47642,7 @@ } }, { - "_id": "66ae48097d88f47b706212d511b67abc", + "_id": "6baad0bba4f335062a535223ebb6dd9f", "_order": 0, "cache": {}, "request": { @@ -47542,11 +47659,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -47565,18 +47682,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores?_action=nextdescendents" }, "response": { - "bodySize": 711, + "bodySize": 523, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -47608,10 +47730,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-202662309\"" - }, { "name": "expires", "value": "0" @@ -47626,11 +47744,11 @@ }, { "name": "content-length", - "value": "711" + "value": "523" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47641,14 +47759,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.131Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.980Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -47656,11 +47774,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 11 } }, { - "_id": "c462fdc881f127545e3681f59d8384c3", + "_id": "d91bb7cf030742d1b9d0813844a0e02e", "_order": 0, "cache": {}, "request": { @@ -47677,11 +47795,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -47700,18 +47818,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 630, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" }, "response": { - "bodySize": 260, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -47743,10 +47866,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1790782773\"" - }, { "name": "expires", "value": "0" @@ -47761,11 +47880,11 @@ }, { "name": "content-length", - "value": "260" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47776,14 +47895,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.140Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:42.995Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -47791,11 +47910,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "cb7543090267a9357fe2042d7886eda3", + "_id": "7006abd2fddea2b78aeb4ee10cb136b2", "_order": 0, "cache": {}, "request": { @@ -47812,11 +47931,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -47835,18 +47954,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 639, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 99, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" }, "cookies": [], "headers": [ @@ -47878,10 +48002,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"128653632\"" - }, { "name": "expires", "value": "0" @@ -47896,11 +48016,11 @@ }, { "name": "content-length", - "value": "258" + "value": "99" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -47911,14 +48031,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 404, + "statusText": "Not Found" }, - "startedDateTime": "2024-10-22T22:49:40.140Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.005Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -47926,11 +48046,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "d743479b541ad1cba5b72f4e1bd2ead4", + "_id": "4df62c6436b97a141e813d288a22f05f", "_order": 0, "cache": {}, "request": { @@ -47947,15 +48067,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -47970,18 +48090,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 632, + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 40637, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 40637, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_id\":\"user\",\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}},{\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_id\":\"security\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_id\":\"audit\",\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}},{\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_id\":\"authenticatorWebAuthnService\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}},{\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_id\":\"deviceIdService\",\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}},{\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceProfilesService\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}},{\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_id\":\"pushNotification\",\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}},{\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_id\":\"selfService\",\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}},{\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_id\":\"socialauthentication\",\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_id\":\"deviceBindingService\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Legacy\",\"_id\":\"1817cc25-fc84-4053-8f91-4ef130616e25\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"NextGeneration\",\"_id\":\"31bd2ae6-c929-4547-b636-84b874715d60\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"Test script description\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"Test Script\",\"_id\":\"59335cbd-de7d-4ebd-99b0-f0fb1fe7fede\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"description\":\"This is a test script\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test script 2\",\"_id\":\"9a7836ff-b597-4799-8a6f-306fdf40f238\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"validGotoDestinations\":[],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_id\":\"authenticatorOathService\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}},{\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_id\":\"iot\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"cacheDuration\":120,\"enable\":true,\"_id\":\"IdentityAssertionService\",\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_id\":\"authenticatorPushService\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_id\":\"amSessionPropertyWhitelist\",\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}},{\"timeToLive\":\"180\",\"_id\":\"transaction\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}},{\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_id\":\"RemoteConsentService\",\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 472, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.013Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "c835061aa51d2ff3a6c99a01dbd32adf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 576, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories" }, "response": { - "bodySize": 1119, + "bodySize": 346, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -47999,7 +48255,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48015,7 +48271,7 @@ }, { "name": "etag", - "value": "\"-686533928\"" + "value": "\"-1741783487\"" }, { "name": "expires", @@ -48031,11 +48287,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "346" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48052,8 +48308,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.147Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.044Z", + "time": 32, "timings": { "blocked": -1, "connect": -1, @@ -48061,11 +48317,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 32 } }, { - "_id": "0fc3b6af26d7907dd122cab8e340e9a1", + "_id": "e4fd6226302163812f6c018d87dd9efa", "_order": 0, "cache": {}, "request": { @@ -48082,15 +48338,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48105,18 +48361,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 580, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 376, + "bodySize": 708, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -48134,7 +48390,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48150,7 +48406,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"-52720779\"" }, { "name": "expires", @@ -48166,11 +48422,11 @@ }, { "name": "content-length", - "value": "376" + "value": "708" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48187,8 +48443,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.155Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.045Z", + "time": 31, "timings": { "blocked": -1, "connect": -1, @@ -48196,11 +48452,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 31 } }, { - "_id": "2bcdb8cfff8a8c5415260ff921903f30", + "_id": "9e81d6d06efd3e1a30e471868f1aaaf1", "_order": 0, "cache": {}, "request": { @@ -48217,15 +48473,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48240,18 +48496,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 404, + "bodySize": 5198, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 5198, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\",\"thingType\",\"thingKeys\",\"thingOAuth2ClientName\",\"thingConfig\",\"thingProperties\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\",\"fr-iot\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -48269,7 +48530,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48283,10 +48544,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1655043290\"" - }, { "name": "expires", "value": "0" @@ -48301,11 +48558,11 @@ }, { "name": "content-length", - "value": "404" + "value": "5198" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48316,14 +48573,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.155Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.045Z", + "time": 40, "timings": { "blocked": -1, "connect": -1, @@ -48331,11 +48588,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 40 } }, { - "_id": "5f5736e172d9b2f3465956e7bec53b13", + "_id": "f1b420258e0746d54f4488097587a065", "_order": 0, "cache": {}, "request": { @@ -48352,15 +48609,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48375,18 +48632,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 605, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 300, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -48404,7 +48666,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48418,10 +48680,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1735965231\"" - }, { "name": "expires", "value": "0" @@ -48436,11 +48694,11 @@ }, { "name": "content-length", - "value": "300" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48451,14 +48709,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.155Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.046Z", + "time": 31, "timings": { "blocked": -1, "connect": -1, @@ -48466,11 +48724,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 31 } }, { - "_id": "8fe2893c2ce7f34c5d881b4f753bafca", + "_id": "1b47f205acecc513d99d5cd5304b99d5", "_order": 0, "cache": {}, "request": { @@ -48487,15 +48745,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48510,18 +48768,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 565, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user" }, "response": { - "bodySize": 340, + "bodySize": 127, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 127, + "text": "{\"_id\":\"\",\"_rev\":\"1193526377\",\"dynamic\":{\"defaultUserStatus\":\"Active\"},\"_type\":{\"_id\":\"user\",\"name\":\"User\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -48539,7 +48797,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48555,7 +48813,7 @@ }, { "name": "etag", - "value": "\"712832963\"" + "value": "\"1193526377\"" }, { "name": "expires", @@ -48571,11 +48829,11 @@ }, { "name": "content-length", - "value": "340" + "value": "127" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48586,14 +48844,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.156Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.046Z", + "time": 31, "timings": { "blocked": -1, "connect": -1, @@ -48601,11 +48859,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 31 } }, { - "_id": "b02c393896237d2336488125448e35a6", + "_id": "db0880f24df03e679ed43477e28edc52", "_order": 0, "cache": {}, "request": { @@ -48622,15 +48880,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48645,18 +48903,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 590, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/user?_action=nextdescendents" }, "response": { - "bodySize": 351, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -48674,7 +48937,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48688,10 +48951,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1799080778\"" - }, { "name": "expires", "value": "0" @@ -48706,11 +48965,11 @@ }, { "name": "content-length", - "value": "351" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48721,14 +48980,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.161Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.047Z", + "time": 30, "timings": { "blocked": -1, "connect": -1, @@ -48736,11 +48995,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 30 } }, { - "_id": "d669e6a1ff56a1a13e7d5229b449ff73", + "_id": "e3979a5a68cef4cdea13543c717ab049", "_order": 0, "cache": {}, "request": { @@ -48757,15 +49016,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48780,18 +49039,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 626, + "headersSize": 569, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security" }, "response": { - "bodySize": 819, + "bodySize": 561, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 561, + "text": "{\"_id\":\"\",\"_rev\":\"1761890425\",\"forgotPasswordEnabled\":false,\"selfRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"userRegisteredDestination\":\"default\",\"protectedUserAttributes\":[],\"selfRegistrationTokenLifetime\":900,\"confirmationIdHmacKey\":\"YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=\",\"forgotPasswordTokenLifetime\":900,\"selfRegistrationEnabled\":false,\"selfServiceEnabled\":false,\"forgotPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/confirm.html\",\"_type\":{\"_id\":\"security\",\"name\":\"Legacy User Self Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -48809,7 +49068,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48825,7 +49084,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"1761890425\"" }, { "name": "expires", @@ -48841,11 +49100,11 @@ }, { "name": "content-length", - "value": "819" + "value": "561" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48862,8 +49121,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.166Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.047Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -48871,11 +49130,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 38 } }, { - "_id": "90594581e99b14d80bd96b7884a0098c", + "_id": "b8489f59b6efddbca5cfb0f4f96e05cb", "_order": 0, "cache": {}, "request": { @@ -48892,15 +49151,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -48915,18 +49174,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 666, + "headersSize": 594, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/security?_action=nextdescendents" }, "response": { - "bodySize": 243, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -48944,7 +49208,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -48958,10 +49222,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1743893705\"" - }, { "name": "expires", "value": "0" @@ -48976,11 +49236,11 @@ }, { "name": "content-length", - "value": "243" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -48991,14 +49251,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.172Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.048Z", + "time": 36, "timings": { "blocked": -1, "connect": -1, @@ -49006,11 +49266,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 36 } }, { - "_id": "b178e1c07f88e1d2b690c161fc85bf7a", + "_id": "d9656d86fe0a18485a2fcf0f25aa2f6f", "_order": 0, "cache": {}, "request": { @@ -49027,15 +49287,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49050,18 +49310,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 568, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl" }, "response": { - "bodySize": 271, + "bodySize": 147, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 147, + "text": "{\"_id\":\"\",\"_rev\":\"-1480957299\",\"source\":\"REQUEST_VALUES\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -49079,7 +49339,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49095,7 +49355,7 @@ }, { "name": "etag", - "value": "\"1895090878\"" + "value": "\"-1480957299\"" }, { "name": "expires", @@ -49111,11 +49371,11 @@ }, { "name": "content-length", - "value": "271" + "value": "147" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49126,14 +49386,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.172Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.048Z", + "time": 41, "timings": { "blocked": -1, "connect": -1, @@ -49141,11 +49401,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 41 } }, { - "_id": "6422a2ef61d2d2e3e01c4ff1ed87af04", + "_id": "421a860e6e98f6efc3e6e2a5be1b8ae9", "_order": 0, "cache": {}, "request": { @@ -49162,15 +49422,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49185,18 +49445,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 593, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/baseurl?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.049Z", + "time": 43, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 43 + } + }, + { + "_id": "191767a516a73c4d4c46182ca5276c88", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit" }, "response": { - "bodySize": 959, + "bodySize": 171, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 171, + "text": "{\"_id\":\"\",\"_rev\":\"-1113197065\",\"auditEnabled\":true,\"whitelistFieldFilters\":[],\"blacklistFieldFilters\":[],\"_type\":{\"_id\":\"audit\",\"name\":\"Audit Logging\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -49214,7 +49610,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49230,7 +49626,7 @@ }, { "name": "etag", - "value": "\"-1037301643\"" + "value": "\"-1113197065\"" }, { "name": "expires", @@ -49246,11 +49642,11 @@ }, { "name": "content-length", - "value": "959" + "value": "171" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49267,8 +49663,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.172Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.050Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -49276,11 +49672,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 39 } }, { - "_id": "71b1a537a9c37508e265d35bad4e0830", + "_id": "f0390d7ed17168e299f3bc3d021322bb", "_order": 0, "cache": {}, "request": { @@ -49297,15 +49693,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49320,18 +49716,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/audit?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -49349,7 +49750,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49363,10 +49764,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1365755177\"" - }, { "name": "expires", "value": "0" @@ -49381,11 +49778,11 @@ }, { "name": "content-length", - "value": "259" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49396,14 +49793,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.178Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.052Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -49411,11 +49808,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 64 } }, { - "_id": "74e4ee1442b16e999cda3f40f4b7688f", + "_id": "fb67247c7a37d2a2d7b03beda72e35f8", "_order": 0, "cache": {}, "request": { @@ -49432,15 +49829,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49455,18 +49852,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService" }, "response": { - "bodySize": 258, + "bodySize": 497, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 497, + "text": "{\"_id\":\"\",\"_rev\":\"2036666814\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"authenticatorWebAuthnDeviceSettingsEncryptionScheme\":\"NONE\",\"webauthnAttrName\":\"webauthnDeviceProfiles\",\"authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType\":\"JCEKS\",\"_type\":{\"_id\":\"authenticatorWebAuthnService\",\"name\":\"WebAuthn Profile Encryption Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -49484,7 +49881,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49500,7 +49897,7 @@ }, { "name": "etag", - "value": "\"-347683889\"" + "value": "\"2036666814\"" }, { "name": "expires", @@ -49516,11 +49913,11 @@ }, { "name": "content-length", - "value": "258" + "value": "497" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49537,8 +49934,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.179Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.053Z", + "time": 37, "timings": { "blocked": -1, "connect": -1, @@ -49546,11 +49943,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 37 } }, { - "_id": "30d00d5eb8415b5bf68ee7368a9a3a37", + "_id": "457c05c391a373a722561d7b0b5d379f", "_order": 0, "cache": {}, "request": { @@ -49567,15 +49964,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49590,18 +49987,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 614, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorWebAuthnService?_action=nextdescendents" }, "response": { - "bodySize": 371, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -49619,7 +50021,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49633,10 +50035,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"790804755\"" - }, { "name": "expires", "value": "0" @@ -49651,11 +50049,11 @@ }, { "name": "content-length", - "value": "371" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49666,14 +50064,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.179Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.054Z", + "time": 35, "timings": { "blocked": -1, "connect": -1, @@ -49681,11 +50079,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 35 } }, { - "_id": "a1557c0e3191e550931383a163ba7080", + "_id": "5dfbdef3ae936bb829f2bbd20d566cb1", "_order": 0, "cache": {}, "request": { @@ -49702,15 +50100,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49725,18 +50123,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 576, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService" }, "response": { - "bodySize": 224, + "bodySize": 382, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 382, + "text": "{\"_id\":\"\",\"_rev\":\"367752594\",\"deviceIdSettingsEncryptionKeystoreType\":\"JKS\",\"deviceIdSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"deviceIdAttrName\":\"devicePrintProfiles\",\"deviceIdSettingsEncryptionScheme\":\"NONE\",\"deviceIdSettingsEncryptionKeystorePassword\":null,\"_type\":{\"_id\":\"deviceIdService\",\"name\":\"Device ID Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -49754,7 +50152,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49770,7 +50168,7 @@ }, { "name": "etag", - "value": "\"-1310629925\"" + "value": "\"367752594\"" }, { "name": "expires", @@ -49786,11 +50184,11 @@ }, { "name": "content-length", - "value": "224" + "value": "382" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49801,14 +50199,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.180Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.055Z", + "time": 35, "timings": { "blocked": -1, "connect": -1, @@ -49816,11 +50214,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 35 } }, { - "_id": "5ba978fc7d7f3ad64ed5a2ab85e311af", + "_id": "6d05cca113763d4cb93ecbee29572277", "_order": 0, "cache": {}, "request": { @@ -49837,15 +50235,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49860,18 +50258,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 656, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceIdService?_action=nextdescendents" }, "response": { - "bodySize": 275, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -49889,7 +50292,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -49903,10 +50306,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1855541828\"" - }, { "name": "expires", "value": "0" @@ -49921,11 +50320,11 @@ }, { "name": "content-length", - "value": "275" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -49936,14 +50335,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.180Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.055Z", + "time": 52, "timings": { "blocked": -1, "connect": -1, @@ -49951,11 +50350,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 52 } }, { - "_id": "0b0f7377af263ef0d3ced5c89b5f57aa", + "_id": "74be39b9f5542dd22304f83ed644ba7b", "_order": 0, "cache": {}, "request": { @@ -49972,15 +50371,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -49995,18 +50394,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 627, + "headersSize": 582, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService" }, "response": { - "bodySize": 1201, + "bodySize": 418, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 418, + "text": "{\"_id\":\"\",\"_rev\":\"20313748\",\"deviceProfilesSettingsEncryptionScheme\":\"NONE\",\"deviceProfilesSettingsEncryptionKeystoreType\":\"JKS\",\"deviceProfilesAttrName\":\"deviceProfiles\",\"deviceProfilesSettingsEncryptionKeystorePassword\":null,\"deviceProfilesSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceProfilesService\",\"name\":\"Device Profiles Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50024,7 +50423,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50040,7 +50439,7 @@ }, { "name": "etag", - "value": "\"1171487776\"" + "value": "\"20313748\"" }, { "name": "expires", @@ -50056,11 +50455,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "418" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50071,14 +50470,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.187Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.056Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -50086,11 +50485,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 57 } }, { - "_id": "a5ee15257ae08776cb4344a8e3680ad6", + "_id": "449f0c492be068f57d41333093576359", "_order": 0, "cache": {}, "request": { @@ -50107,15 +50506,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50130,18 +50529,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 607, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceProfilesService?_action=nextdescendents" }, "response": { - "bodySize": 407, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -50159,7 +50563,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50173,10 +50577,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1578060484\"" - }, { "name": "expires", "value": "0" @@ -50191,11 +50591,11 @@ }, { "name": "content-length", - "value": "407" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50206,14 +50606,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.194Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.057Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -50221,11 +50621,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 47 } }, { - "_id": "4c29ff6b56efbbcf462e401ef462f9a0", + "_id": "8b53385cd1503252aa712c2f9435e417", "_order": 0, "cache": {}, "request": { @@ -50242,15 +50642,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50265,18 +50665,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 667, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification" }, "response": { - "bodySize": 295, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 278, + "text": "{\"_id\":\"\",\"_rev\":\"-112617302\",\"delegateFactory\":\"org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory\",\"mdCacheSize\":10000,\"region\":\"us-east-1\",\"mdConcurrency\":16,\"mdDuration\":120,\"_type\":{\"_id\":\"pushNotification\",\"name\":\"Push Notification Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50294,7 +50694,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50310,7 +50710,7 @@ }, { "name": "etag", - "value": "\"-77719538\"" + "value": "\"-112617302\"" }, { "name": "expires", @@ -50326,11 +50726,11 @@ }, { "name": "content-length", - "value": "295" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50341,14 +50741,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.195Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.057Z", + "time": 50, "timings": { "blocked": -1, "connect": -1, @@ -50356,11 +50756,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 50 } }, { - "_id": "8ebc74a56a3900fae230596ff1246ba8", + "_id": "f6684ab69515501ebd83fb00c696566f", "_order": 0, "cache": {}, "request": { @@ -50377,15 +50777,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50400,18 +50800,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 572, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService" }, "response": { - "bodySize": 469, + "bodySize": 2733, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 2733, + "text": "{\"_id\":\"\",\"_rev\":\"201010615\",\"advancedConfig\":{\"userRegistrationConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#register/\",\"forgottenPasswordConfirmationUrl\":\"http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/\",\"forgottenPasswordServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider\",\"userRegistrationServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider\",\"forgottenUsernameServiceConfigClass\":\"org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider\"},\"forgottenUsername\":{\"forgottenUsernameCaptchaEnabled\":false,\"forgottenUsernameEnabled\":false,\"forgottenUsernameTokenTTL\":300,\"forgottenUsernameKbaEnabled\":false,\"forgottenUsernameEmailUsernameEnabled\":true,\"forgottenUsernameEmailBody\":[\"en|

Your username is %username%.

\"],\"forgottenUsernameEmailSubject\":[\"en|Forgotten username email\"],\"forgottenUsernameShowUsernameEnabled\":false},\"userRegistration\":{\"userRegistrationTokenTTL\":300,\"userRegistrationValidUserAttributes\":[\"userPassword\",\"mail\",\"givenName\",\"kbaInfo\",\"inetUserStatus\",\"sn\",\"username\"],\"userRegistrationEnabled\":false,\"userRegistrationEmailVerificationEnabled\":true,\"userRegistrationEmailBody\":[\"en|

Click on this link to register.

\"],\"userRegistrationEmailVerificationFirstEnabled\":false,\"userRegistrationEmailSubject\":[\"en|Registration email\"],\"userRegisteredDestination\":\"default\",\"userRegistrationCaptchaEnabled\":false,\"userRegistrationKbaEnabled\":false},\"forgottenPassword\":{\"forgottenPasswordEmailSubject\":[\"en|Forgotten password email\"],\"forgottenPasswordTokenTTL\":300,\"forgottenPasswordEnabled\":false,\"forgottenPasswordEmailBody\":[\"en|

Click on this link to reset your password.

\"],\"forgottenPasswordTokenPaddingLength\":450,\"forgottenPasswordEmailVerificationEnabled\":true,\"numberOfAllowedAttempts\":1,\"forgottenPasswordKbaEnabled\":false,\"forgottenPasswordCaptchaEnabled\":false,\"numberOfAttemptsEnforced\":false},\"generalConfig\":{\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"kbaQuestions\":[\"4|en|What is your mother's maiden name?\",\"3|en|What was the name of your childhood pet?\",\"2|en|What was the model of your first car?\",\"1|en|What is the name of your favourite restaurant?\"],\"validQueryAttributes\":[\"uid\",\"mail\",\"givenName\",\"sn\"],\"captchaVerificationUrl\":\"https://www.google.com/recaptcha/api/siteverify\"},\"profileManagement\":{\"profileAttributeWhitelist\":[\"uid\",\"telephoneNumber\",\"mail\",\"kbaInfo\",\"givenName\",\"sn\",\"cn\"],\"profileProtectedUserAttributes\":[\"telephoneNumber\",\"mail\"]},\"_type\":{\"_id\":\"selfService\",\"name\":\"User Self-Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50429,7 +50829,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50445,7 +50845,7 @@ }, { "name": "etag", - "value": "\"1522661276\"" + "value": "\"201010615\"" }, { "name": "expires", @@ -50461,11 +50861,11 @@ }, { "name": "content-length", - "value": "469" + "value": "2733" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50482,8 +50882,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.195Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.058Z", + "time": 52, "timings": { "blocked": -1, "connect": -1, @@ -50491,11 +50891,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 52 } }, { - "_id": "1e2ad84d748dd87df22002ce23285747", + "_id": "bef89b3deeb87a4b272ea7021cc64d5d", "_order": 0, "cache": {}, "request": { @@ -50512,15 +50912,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50535,18 +50935,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pushNotification?_action=nextdescendents" }, "response": { - "bodySize": 433, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -50564,7 +50969,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50578,10 +50983,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1395544271\"" - }, { "name": "expires", "value": "0" @@ -50596,11 +50997,11 @@ }, { "name": "content-length", - "value": "433" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50611,14 +51012,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.195Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.058Z", + "time": 53, "timings": { "blocked": -1, "connect": -1, @@ -50626,11 +51027,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 53 } }, { - "_id": "e078d511ccbfe0e79afbdc4a7488d9f7", + "_id": "825d45dc6c426d5de01c8147a8fe7fcf", "_order": 0, "cache": {}, "request": { @@ -50647,15 +51048,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50670,18 +51071,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication" }, "response": { - "bodySize": 336, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 206, + "text": "{\"_id\":\"\",\"_rev\":\"-49730604\",\"displayNames\":{},\"enabledKeys\":[],\"authenticationChains\":{},\"icons\":{},\"_type\":{\"_id\":\"socialauthentication\",\"name\":\"Social Authentication Implementations\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -50699,7 +51100,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50715,7 +51116,7 @@ }, { "name": "etag", - "value": "\"875182106\"" + "value": "\"-49730604\"" }, { "name": "expires", @@ -50731,11 +51132,11 @@ }, { "name": "content-length", - "value": "336" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -50752,8 +51153,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.196Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.059Z", + "time": 48, "timings": { "blocked": -1, "connect": -1, @@ -50761,11 +51162,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 48 } }, { - "_id": "b3eefb4122378336dbb40ec539af61c8", + "_id": "52fe39a17d36834f1a9407d0c8aba640", "_order": 0, "cache": {}, "request": { @@ -50782,15 +51183,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -50805,153 +51206,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" - }, - "response": { - "bodySize": 258, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1323058199\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "258" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 485, + "headersSize": 597, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:40.201Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "07f319f7c8e7cf662a719206e8c1ecbd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 665, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfService?_action=nextdescendents" }, "response": { - "bodySize": 306, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -50969,7 +51240,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -50983,10 +51254,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-415466582\"" - }, { "name": "expires", "value": "0" @@ -51001,11 +51268,11 @@ }, { "name": "content-length", - "value": "306" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51016,14 +51283,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.201Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.059Z", + "time": 51, "timings": { "blocked": -1, "connect": -1, @@ -51031,11 +51298,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 51 } }, { - "_id": "4dff3f2674bf22e7fce4eedd1abe356b", + "_id": "fc798ceeeff5e890a2045a3c9ebacc9b", "_order": 0, "cache": {}, "request": { @@ -51052,15 +51319,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51075,18 +51342,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/socialauthentication?_action=nextdescendents" }, "response": { - "bodySize": 1639, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51104,7 +51376,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51118,10 +51390,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"433260882\"" - }, { "name": "expires", "value": "0" @@ -51136,11 +51404,11 @@ }, { "name": "content-length", - "value": "1639" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51151,14 +51419,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.207Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.060Z", + "time": 45, "timings": { "blocked": -1, "connect": -1, @@ -51166,11 +51434,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 45 } }, { - "_id": "d615f6570735349e761a99ec55198f66", + "_id": "6b3dbf30096a9640340d1c797a084fb7", "_order": 0, "cache": {}, "request": { @@ -51187,15 +51455,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51210,18 +51478,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 671, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService" }, "response": { - "bodySize": 315, + "bodySize": 411, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 411, + "text": "{\"_id\":\"\",\"_rev\":\"1502014682\",\"deviceBindingSettingsEncryptionKeystorePassword\":null,\"deviceBindingAttrName\":\"boundDevices\",\"deviceBindingSettingsEncryptionScheme\":\"NONE\",\"deviceBindingSettingsEncryptionKeystoreType\":\"JKS\",\"deviceBindingSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"_type\":{\"_id\":\"deviceBindingService\",\"name\":\"Device Binding Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -51239,7 +51507,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51255,7 +51523,7 @@ }, { "name": "etag", - "value": "\"-1874082022\"" + "value": "\"1502014682\"" }, { "name": "expires", @@ -51271,11 +51539,11 @@ }, { "name": "content-length", - "value": "315" + "value": "411" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51286,14 +51554,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.213Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.061Z", + "time": 43, "timings": { "blocked": -1, "connect": -1, @@ -51301,11 +51569,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 43 } }, { - "_id": "d1448394c85d7ecd50ea10b33c4f3c77", + "_id": "982835aa7637cc6112f387c76ecd5789", "_order": 0, "cache": {}, "request": { @@ -51322,15 +51590,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51345,18 +51613,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51374,7 +51647,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51388,10 +51661,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1309752765\"" - }, { "name": "expires", "value": "0" @@ -51406,25 +51675,29 @@ }, { "name": "content-length", - "value": "239" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" }, { "name": "connection", - "value": "close" + "value": "keep-alive" } ], - "headersSize": 456, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.213Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.061Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -51432,11 +51705,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 54 } }, { - "_id": "39c678828a3b6356ae0b2bd2c9663d38", + "_id": "ab7693d00ead91cd99a4f6513942048d", "_order": 0, "cache": {}, "request": { @@ -51453,15 +51726,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51476,18 +51749,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 659, + "headersSize": 596, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 485, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51505,7 +51783,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51519,10 +51797,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-529786920\"" - }, { "name": "expires", "value": "0" @@ -51537,11 +51811,11 @@ }, { "name": "content-length", - "value": "485" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51552,14 +51826,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.214Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.062Z", + "time": 35, "timings": { "blocked": -1, "connect": -1, @@ -51567,11 +51841,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 35 } }, { - "_id": "4ee276c46e89a87d31a75db8dc68daaa", + "_id": "af1a3426bf3079f9fc075f35d546a11e", "_order": 0, "cache": {}, "request": { @@ -51588,15 +51862,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51611,18 +51885,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 571, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/validation" }, "response": { - "bodySize": 422, + "bodySize": 132, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 132, + "text": "{\"_id\":\"\",\"_rev\":\"280113261\",\"validGotoDestinations\":[],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -51640,7 +51914,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51656,7 +51930,7 @@ }, { "name": "etag", - "value": "\"384347514\"" + "value": "\"280113261\"" }, { "name": "expires", @@ -51672,11 +51946,11 @@ }, { "name": "content-length", - "value": "422" + "value": "132" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51693,8 +51967,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.214Z", - "time": 5, + "startedDateTime": "2024-11-06T16:35:43.062Z", + "time": 36, "timings": { "blocked": -1, "connect": -1, @@ -51702,11 +51976,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5 + "wait": 36 } }, { - "_id": "4e369d894edaf1d5c3218fa24a7e95b2", + "_id": "22ed054250235a8178254373c88b5c18", "_order": 0, "cache": {}, "request": { @@ -51723,15 +51997,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51746,18 +52020,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/deviceBindingService?_action=nextdescendents" }, "response": { - "bodySize": 349, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51775,7 +52054,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51789,10 +52068,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"894949571\"" - }, { "name": "expires", "value": "0" @@ -51807,11 +52082,11 @@ }, { "name": "content-length", - "value": "349" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51822,14 +52097,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.215Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.062Z", + "time": 37, "timings": { "blocked": -1, "connect": -1, @@ -51837,11 +52112,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 37 } }, { - "_id": "a40e9402741d2edbb08a31d5e96ffc2b", + "_id": "745904e84f2af7b29d9e02e5d91c618d", "_order": 0, "cache": {}, "request": { @@ -51858,15 +52133,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -51881,18 +52156,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 651, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService?_action=nextdescendents" }, "response": { - "bodySize": 410, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -51910,7 +52190,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -51924,10 +52204,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-895759180\"" - }, { "name": "expires", "value": "0" @@ -51942,11 +52218,11 @@ }, { "name": "content-length", - "value": "410" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -51957,14 +52233,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.215Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.063Z", + "time": 36, "timings": { "blocked": -1, "connect": -1, @@ -51972,11 +52248,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 36 } }, { - "_id": "2d1e4c57e08142cd762f20836ee70377", + "_id": "c5a98618a302e070efaf94ae01cec32b", "_order": 0, "cache": {}, "request": { @@ -51993,15 +52269,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52016,18 +52292,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 658, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorOathService" }, "response": { - "bodySize": 256, + "bodySize": 603, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 603, + "text": "{\"_id\":\"\",\"_rev\":\"1219218586\",\"oathAttrName\":\"oathDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorOATHDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorOATHDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias\":\"pushDeviceProfiles\",\"authenticatorOATHDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"authenticatorOATHSkippableName\":\"oath2faEnabled\",\"_type\":{\"_id\":\"authenticatorOathService\",\"name\":\"ForgeRock Authenticator (OATH) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -52045,7 +52321,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52061,7 +52337,7 @@ }, { "name": "etag", - "value": "\"-852986593\"" + "value": "\"1219218586\"" }, { "name": "expires", @@ -52077,11 +52353,11 @@ }, { "name": "content-length", - "value": "256" + "value": "603" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52098,8 +52374,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.216Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.063Z", + "time": 43, "timings": { "blocked": -1, "connect": -1, @@ -52107,11 +52383,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 43 } }, { - "_id": "c965fb495a5d351fe926f41c394a0d33", + "_id": "0327c0ae958eb1a5656a40d63eb9b627", "_order": 0, "cache": {}, "request": { @@ -52128,15 +52404,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52151,18 +52427,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 589, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -52180,7 +52461,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52194,10 +52475,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-611727803\"" - }, { "name": "expires", "value": "0" @@ -52212,11 +52489,11 @@ }, { "name": "content-length", - "value": "259" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52227,14 +52504,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.223Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.064Z", + "time": 30, "timings": { "blocked": -1, "connect": -1, @@ -52242,11 +52519,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 30 } }, { - "_id": "75fe9aa2a84ce8cfe0c67d14fbc400b9", + "_id": "e0248057f4174a562cc019a60994ff19", "_order": 0, "cache": {}, "request": { @@ -52263,15 +52540,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52286,18 +52563,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 564, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/iot" }, "response": { - "bodySize": 257, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 280, + "text": "{\"_id\":\"\",\"_rev\":\"1395311902\",\"oauthJwtIssuerName\":\"forgerock-iot-jwt-issuer\",\"attributeAllowlist\":[\"thingConfig\"],\"createOAuthJwtIssuer\":false,\"createOAuthClient\":false,\"oauthClientName\":\"forgerock-iot-oauth2-client\",\"_type\":{\"_id\":\"iot\",\"name\":\"IoT Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -52315,7 +52592,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52331,7 +52608,7 @@ }, { "name": "etag", - "value": "\"502723459\"" + "value": "\"1395311902\"" }, { "name": "expires", @@ -52347,11 +52624,11 @@ }, { "name": "content-length", - "value": "257" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52362,14 +52639,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.224Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.064Z", + "time": 38, "timings": { "blocked": -1, "connect": -1, @@ -52377,11 +52654,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 38 } }, { - "_id": "753f2021c64ffb849cff618b73a3f0e2", + "_id": "24a792bb847d11d38e4f9d3a48182b97", "_order": 0, "cache": {}, "request": { @@ -52398,15 +52675,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52421,18 +52698,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 616, + "headersSize": 570, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard" }, "response": { - "bodySize": 1231, + "bodySize": 116, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 116, + "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -52450,7 +52727,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52466,7 +52743,7 @@ }, { "name": "etag", - "value": "\"-1417605028\"" + "value": "\"6506753\"" }, { "name": "expires", @@ -52482,11 +52759,11 @@ }, { "name": "content-length", - "value": "1231" + "value": "116" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52497,14 +52774,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 482, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.230Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.065Z", + "time": 41, "timings": { "blocked": -1, "connect": -1, @@ -52512,11 +52789,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 41 } }, { - "_id": "bff3c7f8bd567bb4e400dc59817f6343", + "_id": "2ae9d3f0193abc57b04ab28a9b0a5a71", "_order": 0, "cache": {}, "request": { @@ -52533,15 +52810,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52556,18 +52833,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 595, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 207, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -52585,7 +52867,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52599,10 +52881,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1991543646\"" - }, { "name": "expires", "value": "0" @@ -52617,11 +52895,11 @@ }, { "name": "content-length", - "value": "207" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52632,14 +52910,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.237Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.065Z", + "time": 47, "timings": { "blocked": -1, "connect": -1, @@ -52647,11 +52925,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 47 } }, { - "_id": "968db9e0d6179f49120f2bfc3d5704e3", + "_id": "0269a7655f6d7f47ade837af6e23e712", "_order": 0, "cache": {}, "request": { @@ -52668,15 +52946,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52691,18 +52969,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService" }, "response": { - "bodySize": 298, + "bodySize": 161, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 161, + "text": "{\"_id\":\"\",\"_rev\":\"403540704\",\"cacheDuration\":120,\"enable\":true,\"_type\":{\"_id\":\"IdentityAssertionService\",\"name\":\"Identity Assertion Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -52720,7 +52998,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52736,7 +53014,7 @@ }, { "name": "etag", - "value": "\"376925853\"" + "value": "\"403540704\"" }, { "name": "expires", @@ -52752,11 +53030,11 @@ }, { "name": "content-length", - "value": "298" + "value": "161" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52773,8 +53051,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.238Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.066Z", + "time": 48, "timings": { "blocked": -1, "connect": -1, @@ -52782,11 +53060,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 48 } }, { - "_id": "b2f41c3d63d02eefe1c577ce9135a13f", + "_id": "3fb1c8765200cf2ab0ce6eb3853b16af", "_order": 0, "cache": {}, "request": { @@ -52803,15 +53081,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52826,18 +53104,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/IdentityAssertionService?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.066Z", + "time": 49, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 49 + } + }, + { + "_id": "9cfd08b19c65f94bedb476341a0fae7b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 207, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -52855,7 +53269,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -52871,7 +53285,7 @@ }, { "name": "etag", - "value": "\"1844311587\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -52887,11 +53301,11 @@ }, { "name": "content-length", - "value": "207" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -52908,8 +53322,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.238Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.068Z", + "time": 26, "timings": { "blocked": -1, "connect": -1, @@ -52917,11 +53331,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 26 } }, { - "_id": "ab8edf19086f911ab858ca63ed21b9fa", + "_id": "0a7071871adcba0d0c495016dc8565ac", "_order": 0, "cache": {}, "request": { @@ -52938,15 +53352,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -52961,18 +53375,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 664, + "headersSize": 609, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 239, + "bodySize": 1460, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1460, + "text": "{\"result\":[{\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"clientId\":\"test\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonClass\":\"\",\"buttonImage\":\"images/g-logo.png\",\"buttonDisplayName\":\"Google\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"iconClass\":\"fa-google\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://testurl.com\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"useCustomTrustStore\":false,\"responseMode\":\"DEFAULT\",\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"Google Test\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -52990,7 +53409,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53004,10 +53423,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1366894111\"" - }, { "name": "expires", "value": "0" @@ -53022,11 +53437,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1460" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53037,14 +53452,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 466, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.239Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.068Z", + "time": 51, "timings": { "blocked": -1, "connect": -1, @@ -53052,11 +53467,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 51 } }, { - "_id": "d34afdd3ee64c3cd04763f479d195fc2", + "_id": "8589c4e6a5336d67836695038afe5d10", "_order": 0, "cache": {}, "request": { @@ -53073,15 +53488,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53096,18 +53511,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 661, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService?_action=nextdescendents" }, "response": { - "bodySize": 221, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -53125,7 +53545,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53139,10 +53559,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2057819892\"" - }, { "name": "expires", "value": "0" @@ -53157,11 +53573,11 @@ }, { "name": "content-length", - "value": "221" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53172,14 +53588,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.239Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.069Z", + "time": 39, "timings": { "blocked": -1, "connect": -1, @@ -53187,11 +53603,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 39 } }, { - "_id": "a9cd24a6d32075673ec9d693a7d37e4d", + "_id": "e8ba39997d71771de355e4d1b103ce9a", "_order": 0, "cache": {}, "request": { @@ -53208,15 +53624,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53231,23 +53647,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 602, + "headersSize": 585, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/authenticatorPushService" }, "response": { - "bodySize": 138, + "bodySize": 518, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 518, + "text": "{\"_id\":\"\",\"_rev\":\"-683259715\",\"authenticatorPushDeviceSettingsEncryptionKeystorePassword\":null,\"authenticatorPushDeviceSettingsEncryptionKeystore\":\"/home/prestonhales/am/security/keystores/keystore.jks\",\"authenticatorPushDeviceSettingsEncryptionScheme\":\"NONE\",\"authenticatorPushDeviceSettingsEncryptionKeystoreType\":\"JKS\",\"pushAttrName\":\"pushDeviceProfiles\",\"authenticatorPushSkippableName\":\"push2faEnabled\",\"_type\":{\"_id\":\"authenticatorPushService\",\"name\":\"ForgeRock Authenticator (Push) Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53279,6 +53690,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-683259715\"" + }, { "name": "expires", "value": "0" @@ -53293,11 +53708,11 @@ }, { "name": "content-length", - "value": "138" + "value": "518" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53308,14 +53723,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.247Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.069Z", + "time": 42, "timings": { "blocked": -1, "connect": -1, @@ -53323,11 +53738,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 42 } }, { - "_id": "9921972dc1fb9bef47d3efc03bb24ce7", + "_id": "db283448bf6cdee228903090828365ae", "_order": 0, "cache": {}, "request": { @@ -53344,15 +53759,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53367,23 +53782,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 622, + "headersSize": 577, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 138, + "bodySize": 310, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 310, + "text": "{\"_id\":\"\",\"_rev\":\"435870150\",\"treeMapping\":{\"forgottenUsername\":\"PlatformForgottenUsername\",\"registration\":\"PlatformRegistration\",\"resetPassword\":\"PlatformResetPassword\",\"updatePassword\":\"PlatformUpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53401,7 +53811,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53415,6 +53825,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"435870150\"" + }, { "name": "expires", "value": "0" @@ -53429,11 +53843,11 @@ }, { "name": "content-length", - "value": "138" + "value": "310" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53444,14 +53858,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.256Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:43.070Z", + "time": 23, "timings": { "blocked": -1, "connect": -1, @@ -53459,11 +53873,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 23 } }, { - "_id": "b46bfd4428b2bba30fa190fe0c6499ea", + "_id": "70d3cbe5f7f279bb37ee8755c88b6dd8", "_order": 0, "cache": {}, "request": { @@ -53480,15 +53894,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53503,23 +53917,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 613, + "headersSize": 602, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_queryFilter", - "value": "true" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/J2EEAgent?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 138, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -53537,7 +53951,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53565,11 +53979,11 @@ }, { "name": "content-length", - "value": "138" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53580,14 +53994,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.268Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.070Z", + "time": 28, "timings": { "blocked": -1, "connect": -1, @@ -53595,11 +54009,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 28 } }, { - "_id": "c8b0817c09ba786c15acd8cb1eb6c67a", + "_id": "5540588b22e9de6505fdb0ff45c3062e", "_order": 0, "cache": {}, "request": { @@ -53616,15 +54030,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53639,23 +54053,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 624, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 138, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53673,7 +54082,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53687,6 +54096,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-945038405\"" + }, { "name": "expires", "value": "0" @@ -53701,11 +54114,11 @@ }, { "name": "content-length", - "value": "138" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53716,14 +54129,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.268Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.071Z", + "time": 25, "timings": { "blocked": -1, "connect": -1, @@ -53731,11 +54144,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 25 } }, { - "_id": "76a4459aed0f6d9c3ceff144984344e7", + "_id": "9fd4853b17067e9df88d210680a0e1e9", "_order": 0, "cache": {}, "request": { @@ -53752,15 +54165,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53775,23 +54188,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_queryFilter", - "value": "true" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/WebAgent?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 138, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -53809,7 +54222,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53837,11 +54250,11 @@ }, { "name": "content-length", - "value": "138" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53852,14 +54265,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.269Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.071Z", + "time": 44, "timings": { "blocked": -1, "connect": -1, @@ -53867,11 +54280,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 44 } }, { - "_id": "c832ddd497d3b281e137e3349edb1353", + "_id": "b2c486a37af8cb96e303d0a0eafdb8d2", "_order": 0, "cache": {}, "request": { @@ -53888,15 +54301,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -53911,18 +54324,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 598, + "headersSize": 566, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email" }, "response": { - "bodySize": 8380, + "bodySize": 255, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8380, - "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 255, + "text": "{\"_id\":\"\",\"_rev\":\"-876042057\",\"emailAddressAttribute\":\"mail\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -53940,7 +54353,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -53956,7 +54369,7 @@ }, { "name": "etag", - "value": "\"2117196426\"" + "value": "\"-876042057\"" }, { "name": "expires", @@ -53971,12 +54384,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "255" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -53987,14 +54400,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.276Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.072Z", + "time": 40, "timings": { "blocked": -1, "connect": -1, @@ -54002,11 +54415,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 40 } }, { - "_id": "01c412e5b10531038f5f7410d1c6c203", + "_id": "7f528072ac9e7ae4572e8df09c9ceb91", "_order": 0, "cache": {}, "request": { @@ -54023,15 +54436,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -54046,23 +54459,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 616, + "headersSize": 591, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_queryFilter", - "value": "true" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Client?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 138, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -54080,7 +54493,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54108,11 +54521,11 @@ }, { "name": "content-length", - "value": "138" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54123,14 +54536,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.284Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.072Z", + "time": 44, "timings": { "blocked": -1, "connect": -1, @@ -54138,11 +54551,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 44 } }, { - "_id": "06fff1b14ebebe62d9df67d37c5159ba", + "_id": "3043040cf5119d83953cc35e1c9c22a7", "_order": 0, "cache": {}, "request": { @@ -54159,15 +54572,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -54182,18 +54595,154 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 593, + "headersSize": 612, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.073Z", + "time": 35, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 35 + } + }, + { + "_id": "24896809b7e36d9888300a4a337f401c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 587, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/amSessionPropertyWhitelist" }, "response": { - "bodySize": 1277, + "bodySize": 209, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1277, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":true,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 209, + "text": "{\"_id\":\"\",\"_rev\":\"-736760492\",\"sessionPropertyWhitelist\":[\"AMCtxId\"],\"whitelistedQueryProperties\":[],\"_type\":{\"_id\":\"amSessionPropertyWhitelist\",\"name\":\"Session Property Whitelist Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -54211,7 +54760,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54227,7 +54776,7 @@ }, { "name": "etag", - "value": "\"-2141370275\"" + "value": "\"-736760492\"" }, { "name": "expires", @@ -54243,11 +54792,11 @@ }, { "name": "content-length", - "value": "1277" + "value": "209" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54258,14 +54807,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.292Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.073Z", + "time": 36, "timings": { "blocked": -1, "connect": -1, @@ -54273,15 +54822,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 36 } }, { - "_id": "10541f997b63e7fdab4ff20e3dd94a3f", + "_id": "09437f0fea64aa3ddc222ce6881e86cc", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -54294,24 +54843,20 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -54321,28 +54866,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 655, + "headersSize": 572, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction" }, "response": { - "bodySize": 13, + "bodySize": 142, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 142, + "text": "{\"_id\":\"\",\"_rev\":\"1386279405\",\"timeToLive\":\"180\",\"_type\":{\"_id\":\"transaction\",\"name\":\"Transaction Authentication Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -54374,6 +54909,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1386279405\"" + }, { "name": "expires", "value": "0" @@ -54388,11 +54927,11 @@ }, { "name": "content-length", - "value": "13" + "value": "142" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54403,14 +54942,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.298Z", - "time": 13, + "startedDateTime": "2024-11-06T16:35:43.074Z", + "time": 21, "timings": { "blocked": -1, "connect": -1, @@ -54418,11 +54957,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 13 + "wait": 21 } }, { - "_id": "0861dc086f5c5bee16b6181e8f017819", + "_id": "538722666560d57ccd03d3844ff58865", "_order": 0, "cache": {}, "request": { @@ -54439,15 +54978,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -54462,23 +55001,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 579, + "headersSize": 597, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_queryFilter", - "value": "true" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/policies?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/transaction?_action=nextdescendents" }, "response": { - "bodySize": 137, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -54496,7 +55035,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54524,11 +55063,11 @@ }, { "name": "content-length", - "value": "137" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54539,14 +55078,14 @@ "value": "keep-alive" } ], - "headersSize": 465, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.316Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.075Z", + "time": 31, "timings": { "blocked": -1, "connect": -1, @@ -54554,11 +55093,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 31 } }, { - "_id": "e6620028102bee7851caf52454436e91", + "_id": "32cbd08c7c2d3963e74629b44f6d2eca", "_order": 0, "cache": {}, "request": { @@ -54575,15 +55114,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -54598,27 +55137,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 669, + "headersSize": 581, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService" }, "response": { - "bodySize": 1058, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1058, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790191,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 206, + "text": "{\"_id\":\"\",\"_rev\":\"-1039295581\",\"consentResponseTimeLimit\":2,\"jwkStoreCacheMissCacheTime\":1,\"jwkStoreCacheTimeout\":5,\"_type\":{\"_id\":\"RemoteConsentService\",\"name\":\"Remote Consent Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -54636,7 +55166,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54650,6 +55180,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1039295581\"" + }, { "name": "expires", "value": "0" @@ -54664,11 +55198,11 @@ }, { "name": "content-length", - "value": "1058" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54679,14 +55213,14 @@ "value": "keep-alive" } ], - "headersSize": 493, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.321Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.075Z", + "time": 33, "timings": { "blocked": -1, "connect": -1, @@ -54694,11 +55228,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 33 } }, { - "_id": "26039f1e4e2d0a1253dca583cff9a80a", + "_id": "bf9e771ba74d5b31b4e107c6a67c7cbb", "_order": 0, "cache": {}, "request": { @@ -54715,15 +55249,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "cookie", @@ -54738,27 +55272,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 668, + "headersSize": 606, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", "queryString": [ { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" + "name": "_action", + "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/services/RemoteConsentService?_action=nextdescendents" }, "response": { - "bodySize": 996, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 996, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790156},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790171}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -54776,7 +55306,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -54804,11 +55334,11 @@ }, { "name": "content-length", - "value": "996" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54819,14 +55349,14 @@ "value": "keep-alive" } ], - "headersSize": 492, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.329Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.076Z", + "time": 24, "timings": { "blocked": -1, "connect": -1, @@ -54834,11 +55364,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 24 } }, { - "_id": "c96e209b06c3940c674889c174e176c5", + "_id": "993b0786dc65c07a643a5e597f01db6c", "_order": 0, "cache": {}, "request": { @@ -54855,11 +55385,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", @@ -54878,7 +55408,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 591, + "headersSize": 593, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -54887,14 +55417,14 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/scripts?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 176322, + "bodySize": 824, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176322, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 824, + "text": "{\"result\":[{\"_id\":\"test-jwt-issuer\",\"_rev\":\"-1634408477\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":\"hello\",\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}},{\"_id\":\"trusted jwt\",\"_rev\":\"671391925\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":null,\"consentedScopesClaim\":\"scope\",\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -54912,7 +55442,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -54939,12 +55469,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "824" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -54955,14 +55485,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.335Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.124Z", + "time": 7, "timings": { "blocked": -1, "connect": -1, @@ -54970,11 +55500,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 7 } }, { - "_id": "c2c1abc8ef1ee952641c2981da6dd6a0", + "_id": "f5c7700e8edbc874b9bd5326c4553103", "_order": 0, "cache": {}, "request": { @@ -54991,15 +55521,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55014,23 +55544,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 612, + "headersSize": 588, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 9585, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 9585, - "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55048,7 +55578,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55075,12 +55605,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55091,14 +55621,14 @@ "value": "keep-alive" } ], - "headersSize": 472, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.343Z", - "time": 19, + "startedDateTime": "2024-11-06T16:35:43.136Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -55106,11 +55636,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 19 + "wait": 5 } }, { - "_id": "8ce993874189334475c3c81bc166186e", + "_id": "7ded160b901f60130de1bce51c3c740f", "_order": 0, "cache": {}, "request": { @@ -55127,15 +55657,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55150,18 +55680,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 603, + "headersSize": 608, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 346, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55179,7 +55714,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55193,10 +55728,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1741783487\"" - }, { "name": "expires", "value": "0" @@ -55211,11 +55742,11 @@ }, { "name": "content-length", - "value": "346" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55226,14 +55757,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.368Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.146Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -55241,15 +55772,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "b07a84b7bb5cb6654530a34df9c2e81f", + "_id": "ea802003ad1a38bb44910a3bc43bfe0b", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -55262,20 +55793,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -55285,23 +55820,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 628, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { "name": "_action", "value": "nextdescendents" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 5109, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 5109, - "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -55319,7 +55859,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55347,11 +55887,11 @@ }, { "name": "content-length", - "value": "5109" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55362,14 +55902,14 @@ "value": "keep-alive" } ], - "headersSize": 466, + "headersSize": 464, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.368Z", - "time": 7, + "startedDateTime": "2024-11-06T16:35:43.156Z", + "time": 12, "timings": { "blocked": -1, "connect": -1, @@ -55377,11 +55917,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 7 + "wait": 12 } }, { - "_id": "f74cb1ce51070a07c9fdc9be61c7fc04", + "_id": "7974bc5ba570b4ad14331d7f5a0a8ce1", "_order": 0, "cache": {}, "request": { @@ -55398,15 +55938,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55421,18 +55961,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 607, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 708, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 708, - "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55450,7 +55995,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55464,10 +56009,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-52720779\"" - }, { "name": "expires", "value": "0" @@ -55482,11 +56023,11 @@ }, { "name": "content-length", - "value": "708" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55497,14 +56038,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.369Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.173Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -55512,11 +56053,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "719cb3d85965a12f9a98ae2ae47ba906", + "_id": "2571d4bdb2f6dae5612f05e84ac2c4a3", "_order": 0, "cache": {}, "request": { @@ -55533,15 +56074,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55556,23 +56097,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 632, + "headersSize": 610, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55590,7 +56131,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55618,11 +56159,11 @@ }, { "name": "content-length", - "value": "13" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55633,14 +56174,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.369Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.174Z", + "time": 6, "timings": { "blocked": -1, "connect": -1, @@ -55648,11 +56189,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 6 } }, { - "_id": "749250274d4ac9bd2f5289fd767c4aea", + "_id": "b90ce151d22ea80c1d6fceafab4ab7a7", "_order": 0, "cache": {}, "request": { @@ -55669,15 +56210,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55692,23 +56233,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 623, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 87, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ @@ -55726,7 +56267,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55754,28 +56295,24 @@ }, { "name": "content-length", - "value": "13" + "value": "87" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "connection", - "value": "keep-alive" + "value": "close" } ], - "headersSize": 464, + "headersSize": 435, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 501, + "statusText": "Not Implemented" }, - "startedDateTime": "2024-10-22T22:49:40.370Z", + "startedDateTime": "2024-11-06T16:35:43.175Z", "time": 3, "timings": { "blocked": -1, @@ -55788,7 +56325,7 @@ } }, { - "_id": "a039d32358e11ad4bd8e8623b15f60cc", + "_id": "818341d9484a860bf8907337a7351ad6", "_order": 0, "cache": {}, "request": { @@ -55805,15 +56342,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55828,18 +56365,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 611, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { - "bodySize": 148, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55857,7 +56399,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -55871,10 +56413,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1077208638\"" - }, { "name": "expires", "value": "0" @@ -55889,11 +56427,11 @@ }, { "name": "content-length", - "value": "148" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -55904,14 +56442,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.371Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.175Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -55919,11 +56457,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "14f7cf6fdc855992d18dc7ddca3394a2", + "_id": "1661cf876d70d23e363733ce59bca919", "_order": 0, "cache": {}, "request": { @@ -55940,15 +56478,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -55963,23 +56501,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 636, + "headersSize": 601, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -55997,7 +56535,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56025,11 +56563,11 @@ }, { "name": "content-length", - "value": "13" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56040,14 +56578,14 @@ "value": "keep-alive" } ], - "headersSize": 464, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.371Z", - "time": 12, + "startedDateTime": "2024-11-06T16:35:43.176Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -56055,11 +56593,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 12 + "wait": 4 } }, { - "_id": "903b1fd9371653aa3f662465d574ebc5", + "_id": "2c2ac1abf74db092cd6fcc968923b345", "_order": 0, "cache": {}, "request": { @@ -56076,15 +56614,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56099,7 +56637,7 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 637, + "headersSize": 608, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -56108,14 +56646,14 @@ "value": "true" } ], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { - "bodySize": 16422, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 16422, - "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}],\"resultCount\":15,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -56133,7 +56671,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56160,12 +56698,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-length", + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56176,14 +56714,14 @@ "value": "keep-alive" } ], - "headersSize": 499, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.387Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.176Z", + "time": 5, "timings": { "blocked": -1, "connect": -1, @@ -56191,11 +56729,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 5 } }, { - "_id": "09bd8d23cb70de1aa684e476cd0616d1", + "_id": "39f41b2d3aa1ca41b7a06365123c3fcb", "_order": 0, "cache": {}, "request": { @@ -56212,15 +56750,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56235,18 +56773,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 625, + "headersSize": 602, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Agent" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SoapSTSAgent?_queryFilter=true" }, "response": { - "bodySize": 676, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 676, - "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -56264,7 +56807,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56278,10 +56821,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1016023191\"" - }, { "name": "expires", "value": "0" @@ -56296,11 +56835,11 @@ }, { "name": "content-length", - "value": "676" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56311,14 +56850,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.396Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.177Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -56326,11 +56865,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "553e19f23c6c9a75a743231bf71fc70b", + "_id": "9f5acd59d3225049964bc5a97574d4ac", "_order": 0, "cache": {}, "request": { @@ -56347,15 +56886,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56370,18 +56909,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 683, + "headersSize": 607, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { - "bodySize": 250, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 250, - "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -56399,7 +56943,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56413,10 +56957,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1036485453\"" - }, { "name": "expires", "value": "0" @@ -56431,11 +56971,11 @@ }, { "name": "content-length", - "value": "250" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56446,13 +56986,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.401Z", + "startedDateTime": "2024-11-06T16:35:43.177Z", "time": 4, "timings": { "blocked": -1, @@ -56465,7 +57005,7 @@ } }, { - "_id": "7e4d67487054b9824f2f5f0dc9aa5134", + "_id": "64eea1f8fb94deddfe57842a9b3b416b", "_order": 0, "cache": {}, "request": { @@ -56482,15 +57022,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56505,18 +57045,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { - "bodySize": 384, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 384, - "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -56534,7 +57079,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56548,10 +57093,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"482303273\"" - }, { "name": "expires", "value": "0" @@ -56566,11 +57107,11 @@ }, { "name": "content-length", - "value": "384" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56581,14 +57122,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.402Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.178Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -56596,11 +57137,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "1a1fb51bd02699e8f2feeeaae6f6fcac", + "_id": "c142da088a6c43c09039e02bdaa2c8d3", "_order": 0, "cache": {}, "request": { @@ -56617,15 +57158,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56640,18 +57181,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 627, + "headersSize": 584, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Example" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc" }, "response": { - "bodySize": 1043, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1043, - "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -56669,7 +57210,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56685,7 +57226,7 @@ }, { "name": "etag", - "value": "\"-536916143\"" + "value": "\"2117196426\"" }, { "name": "expires", @@ -56700,12 +57241,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "1043" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56716,14 +57257,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 492, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.409Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.186Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -56731,11 +57272,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "d7d9df3837bc67417cc9d5cf0185a648", + "_id": "4e6ef97ce006cc7ca671549040b654d4", "_order": 0, "cache": {}, "request": { @@ -56752,15 +57293,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56775,18 +57316,23 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 602, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 208, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -56804,7 +57350,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56818,10 +57364,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1271206475\"" - }, { "name": "expires", "value": "0" @@ -56836,11 +57378,11 @@ }, { "name": "content-length", - "value": "208" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56851,14 +57393,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 465, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.415Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.193Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -56866,11 +57408,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "0768a4505fd70b71d9a59007547f0dd4", + "_id": "6b9e889c497065d6eecc03f0c15e8523", "_order": 0, "cache": {}, "request": { @@ -56887,15 +57429,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -56910,18 +57452,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 579, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication" }, "response": { - "bodySize": 239, + "bodySize": 1299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1299, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370265\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -56939,7 +57481,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -56955,7 +57497,7 @@ }, { "name": "etag", - "value": "\"1201833788\"" + "value": "\"-2141370265\"" }, { "name": "expires", @@ -56971,11 +57513,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -56986,14 +57528,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.415Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.201Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -57001,15 +57543,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "0d0fdbea615e782b51c0a70594f299ed", + "_id": "0f96581906dfee454d59e2c086278cd4", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -57022,20 +57564,24 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", "value": "iPlanetDirectoryPro=" }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -57045,18 +57591,28 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 641, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 208, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 208, - "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -57074,7 +57630,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57089,8 +57645,140 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"-1588216686\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.209Z", + "time": 16, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 16 + } + }, + { + "_id": "9fb94d6e43d493e45aafb1a4abf80834", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 623, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + }, + "response": { + "bodySize": 15921, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15921, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}],\"resultCount\":14,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -57105,12 +57793,12 @@ "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "208" + "name": "transfer-encoding", + "value": "chunked" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57121,14 +57809,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 499, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.416Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.231Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -57136,11 +57824,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 4 } }, { - "_id": "bb85356b5eb0687693996868fd57020f", + "_id": "42c25f4cd8a096675a09067c1183a470", "_order": 0, "cache": {}, "request": { @@ -57157,15 +57845,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57180,18 +57868,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 611, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Agent" }, "response": { - "bodySize": 385, + "bodySize": 676, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -57209,7 +57897,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57225,7 +57913,7 @@ }, { "name": "etag", - "value": "\"1517053596\"" + "value": "\"-1016023191\"" }, { "name": "expires", @@ -57241,11 +57929,11 @@ }, { "name": "content-length", - "value": "385" + "value": "676" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57256,13 +57944,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.416Z", + "startedDateTime": "2024-11-06T16:35:43.240Z", "time": 2, "timings": { "blocked": -1, @@ -57275,7 +57963,7 @@ } }, { - "_id": "6a767287c1aaf949ac03cc8561f95fd2", + "_id": "83a21a6ba9ed171feb199bf6cbf1d38a", "_order": 0, "cache": {}, "request": { @@ -57292,15 +57980,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57315,18 +58003,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 648, + "headersSize": 669, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" }, "response": { - "bodySize": 668, + "bodySize": 250, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 668, - "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -57344,7 +58032,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57360,7 +58048,7 @@ }, { "name": "etag", - "value": "\"-152060055\"" + "value": "\"1036485453\"" }, { "name": "expires", @@ -57376,11 +58064,11 @@ }, { "name": "content-length", - "value": "668" + "value": "250" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57397,8 +58085,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.424Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.247Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -57406,11 +58094,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "9803dda703d6e0795240c7ec7f1ac8b2", + "_id": "43c77b39909d199d473a5fe771332ee0", "_order": 0, "cache": {}, "request": { @@ -57427,15 +58115,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57450,18 +58138,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" }, "response": { - "bodySize": 1332, + "bodySize": 384, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1332, - "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -57479,7 +58167,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57495,7 +58183,7 @@ }, { "name": "etag", - "value": "\"756891103\"" + "value": "\"482303273\"" }, { "name": "expires", @@ -57511,11 +58199,11 @@ }, { "name": "content-length", - "value": "1332" + "value": "384" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57526,13 +58214,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.430Z", + "startedDateTime": "2024-11-06T16:35:43.248Z", "time": 2, "timings": { "blocked": -1, @@ -57545,7 +58233,7 @@ } }, { - "_id": "9382fc020480ded847631d75f1820def", + "_id": "dfec7bff4570e579c48b0d257b1e5d07", "_order": 0, "cache": {}, "request": { @@ -57562,150 +58250,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 680, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" - }, - "response": { - "bodySize": 318, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 318, - "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"264081780\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "318" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:40.430Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "d3dd6b9c45f930831b4e0ee250ed9716", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57720,18 +58273,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 640, + "headersSize": 613, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Example" }, "response": { - "bodySize": 831, + "bodySize": 1043, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -57749,7 +58302,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57765,7 +58318,7 @@ }, { "name": "etag", - "value": "\"1066064282\"" + "value": "\"-536916143\"" }, { "name": "expires", @@ -57781,11 +58334,11 @@ }, { "name": "content-length", - "value": "831" + "value": "1043" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57796,14 +58349,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.436Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.255Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -57811,11 +58364,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "56c5921ed6c177c4a7d117343b77c55f", + "_id": "5702f3b3baa1e5f7f59572801b53d4f0", "_order": 0, "cache": {}, "request": { @@ -57832,15 +58385,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57855,18 +58408,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" }, "response": { - "bodySize": 237, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 237, - "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57884,7 +58437,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -57900,7 +58453,7 @@ }, { "name": "etag", - "value": "\"-85053235\"" + "value": "\"-1271206475\"" }, { "name": "expires", @@ -57916,11 +58469,11 @@ }, { "name": "content-length", - "value": "237" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -57931,14 +58484,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.443Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.266Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -57946,11 +58499,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "213c076fab6bb3a5a77585311055f189", + "_id": "f51a426dc6daaf8d8eed4ba6d19fdc53", "_order": 0, "cache": {}, "request": { @@ -57967,15 +58520,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -57990,18 +58543,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 674, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" }, "response": { "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", "size": 239, - "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58019,7 +58572,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58035,7 +58588,7 @@ }, { "name": "etag", - "value": "\"1739808917\"" + "value": "\"1201833788\"" }, { "name": "expires", @@ -58055,7 +58608,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58072,8 +58625,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.444Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.267Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -58081,11 +58634,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "c533f620aa13cf9862d047659141ee5d", + "_id": "76d458cab3399e4b733d1b494543f6d4", "_order": 0, "cache": {}, "request": { @@ -58102,15 +58655,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58125,18 +58678,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" }, "response": { - "bodySize": 1284, + "bodySize": 208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1284, - "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58154,7 +58707,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58170,7 +58723,7 @@ }, { "name": "etag", - "value": "\"328700129\"" + "value": "\"-1588216686\"" }, { "name": "expires", @@ -58186,11 +58739,11 @@ }, { "name": "content-length", - "value": "1284" + "value": "208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58201,14 +58754,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.444Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.267Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -58216,11 +58769,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "99dba9c3ad59c0de19527bd78369baca", + "_id": "89414e013782aafe5695d6ea1104c2d8", "_order": 0, "cache": {}, "request": { @@ -58237,15 +58790,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58260,18 +58813,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 649, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" }, "response": { - "bodySize": 1729, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1729, - "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" }, "cookies": [], "headers": [ @@ -58289,7 +58842,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58305,7 +58858,7 @@ }, { "name": "etag", - "value": "\"-1048135735\"" + "value": "\"1517053596\"" }, { "name": "expires", @@ -58321,11 +58874,11 @@ }, { "name": "content-length", - "value": "1729" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58336,14 +58889,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.449Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.268Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -58351,11 +58904,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "bc5ce74fce114ed4d62f7e8d6c41ea73", + "_id": "41b80df967f2710ad5be5dac0d1112f2", "_order": 0, "cache": {}, "request": { @@ -58372,15 +58925,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58395,18 +58948,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 684, + "headersSize": 634, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" }, "response": { - "bodySize": 327, + "bodySize": 668, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 327, - "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -58424,7 +58977,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58440,7 +58993,7 @@ }, { "name": "etag", - "value": "\"2002571022\"" + "value": "\"-152060055\"" }, { "name": "expires", @@ -58456,11 +59009,11 @@ }, { "name": "content-length", - "value": "327" + "value": "668" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58477,7 +59030,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.458Z", + "startedDateTime": "2024-11-06T16:35:43.276Z", "time": 3, "timings": { "blocked": -1, @@ -58490,7 +59043,7 @@ } }, { - "_id": "5f3c483d1c95412b2b9654784c9b569f", + "_id": "3deabeecc4b76ff80d9dd33c1b4b9f24", "_order": 0, "cache": {}, "request": { @@ -58507,15 +59060,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58530,18 +59083,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 661, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" }, "response": { - "bodySize": 224, + "bodySize": 1332, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -58559,7 +59112,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58575,7 +59128,7 @@ }, { "name": "etag", - "value": "\"-1210949842\"" + "value": "\"756891103\"" }, { "name": "expires", @@ -58591,11 +59144,11 @@ }, { "name": "content-length", - "value": "224" + "value": "1332" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58606,13 +59159,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.458Z", + "startedDateTime": "2024-11-06T16:35:43.283Z", "time": 3, "timings": { "blocked": -1, @@ -58625,7 +59178,7 @@ } }, { - "_id": "3d991f5d9a6adc396c8a42ce98c9c4e6", + "_id": "fbf57281b1e632d17ba994799d13d086", "_order": 0, "cache": {}, "request": { @@ -58642,15 +59195,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58665,18 +59218,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" }, "response": { - "bodySize": 1285, + "bodySize": 318, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1285, - "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58694,7 +59247,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58710,7 +59263,7 @@ }, { "name": "etag", - "value": "\"1821134736\"" + "value": "\"264081780\"" }, { "name": "expires", @@ -58726,11 +59279,11 @@ }, { "name": "content-length", - "value": "1285" + "value": "318" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58741,14 +59294,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.459Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.284Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -58756,11 +59309,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "e5eaec0a9b84c1cd061ac11b6553adeb", + "_id": "b121e9a9186f00e4322e052b953aa99e", "_order": 0, "cache": {}, "request": { @@ -58777,15 +59330,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58800,18 +59353,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 686, + "headersSize": 626, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" }, "response": { - "bodySize": 659, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -58829,7 +59382,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58845,7 +59398,7 @@ }, { "name": "etag", - "value": "\"-470328822\"" + "value": "\"1066064282\"" }, { "name": "expires", @@ -58861,11 +59414,11 @@ }, { "name": "content-length", - "value": "659" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -58882,8 +59435,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.459Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.291Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -58891,11 +59444,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "a98a613c7d72e149ce836dd058f9ec0e", + "_id": "b3295e2c363d0a8431d17686b7e29530", "_order": 0, "cache": {}, "request": { @@ -58912,15 +59465,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -58935,18 +59488,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" }, "response": { - "bodySize": 299, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58964,7 +59517,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -58980,7 +59533,7 @@ }, { "name": "etag", - "value": "\"-171890830\"" + "value": "\"-85053235\"" }, { "name": "expires", @@ -58996,11 +59549,11 @@ }, { "name": "content-length", - "value": "299" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59011,13 +59564,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.460Z", + "startedDateTime": "2024-11-06T16:35:43.299Z", "time": 3, "timings": { "blocked": -1, @@ -59030,7 +59583,7 @@ } }, { - "_id": "3928fc0e1d6271800319928bc7253fdd", + "_id": "5b387d79bf8633d659e9967ba011772b", "_order": 0, "cache": {}, "request": { @@ -59047,15 +59600,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59070,18 +59623,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" }, "response": { - "bodySize": 222, + "bodySize": 1284, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -59099,7 +59652,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59115,7 +59668,7 @@ }, { "name": "etag", - "value": "\"-1709503699\"" + "value": "\"328700129\"" }, { "name": "expires", @@ -59131,11 +59684,11 @@ }, { "name": "content-length", - "value": "222" + "value": "1284" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59146,14 +59699,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.460Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.300Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -59161,11 +59714,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "a3bdae47c9df16fa450f23b28098f504", + "_id": "f377dd58cb29bc8d3780090447890489", "_order": 0, "cache": {}, "request": { @@ -59182,15 +59735,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59205,18 +59758,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 693, + "headersSize": 660, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" }, "response": { - "bodySize": 279, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59234,7 +59787,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59250,7 +59803,7 @@ }, { "name": "etag", - "value": "\"580379617\"" + "value": "\"1739808917\"" }, { "name": "expires", @@ -59266,11 +59819,11 @@ }, { "name": "content-length", - "value": "279" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59281,14 +59834,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.461Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.300Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -59296,11 +59849,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "088953f074ae742b0a7c2e284a39861b", + "_id": "a725cf9b7e3b49ab610d94509d017399", "_order": 0, "cache": {}, "request": { @@ -59317,15 +59870,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59340,18 +59893,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 639, + "headersSize": 635, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" }, "response": { - "bodySize": 1456, + "bodySize": 1729, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1456, - "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -59369,7 +59922,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59385,7 +59938,7 @@ }, { "name": "etag", - "value": "\"-293280187\"" + "value": "\"-1048135735\"" }, { "name": "expires", @@ -59401,11 +59954,11 @@ }, { "name": "content-length", - "value": "1456" + "value": "1729" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59416,13 +59969,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.469Z", + "startedDateTime": "2024-11-06T16:35:43.307Z", "time": 2, "timings": { "blocked": -1, @@ -59435,7 +59988,7 @@ } }, { - "_id": "73ba0e8cfcf0a9c516fdef841341cc5e", + "_id": "ea36b763d8521688ca7cf0cf59d1f1ed", "_order": 0, "cache": {}, "request": { @@ -59452,15 +60005,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59475,18 +60028,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 670, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" }, "response": { - "bodySize": 221, + "bodySize": 327, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59504,7 +60057,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59520,7 +60073,7 @@ }, { "name": "etag", - "value": "\"1217170264\"" + "value": "\"2002571022\"" }, { "name": "expires", @@ -59536,11 +60089,11 @@ }, { "name": "content-length", - "value": "221" + "value": "327" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59557,8 +60110,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.476Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.315Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -59566,11 +60119,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 4 } }, { - "_id": "b6d0253fbb07c98e90e2ced88bbc30ff", + "_id": "042320d68eeb69a72e6f560aa0456a3f", "_order": 0, "cache": {}, "request": { @@ -59587,15 +60140,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59610,18 +60163,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 693, + "headersSize": 661, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" }, "response": { - "bodySize": 280, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 280, - "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59639,7 +60192,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59655,7 +60208,7 @@ }, { "name": "etag", - "value": "\"-567112083\"" + "value": "\"-1210949842\"" }, { "name": "expires", @@ -59671,11 +60224,11 @@ }, { "name": "content-length", - "value": "280" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59686,14 +60239,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.477Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.316Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -59701,11 +60254,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "e0de5e25c83b8345ad65d1b5d97e66b3", + "_id": "4dad7850e3b4aa1edf51845f2b99743d", "_order": 0, "cache": {}, "request": { @@ -59722,15 +60275,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59745,18 +60298,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" }, "response": { - "bodySize": 238, + "bodySize": 1285, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -59774,7 +60327,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59790,7 +60343,7 @@ }, { "name": "etag", - "value": "\"613466196\"" + "value": "\"1821134736\"" }, { "name": "expires", @@ -59806,11 +60359,11 @@ }, { "name": "content-length", - "value": "238" + "value": "1285" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59821,13 +60374,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.477Z", + "startedDateTime": "2024-11-06T16:35:43.316Z", "time": 3, "timings": { "blocked": -1, @@ -59840,7 +60393,7 @@ } }, { - "_id": "6e11d74da63eff4e542bb251dab86520", + "_id": "6df6a9ddd5a60930d171a5d2e2534307", "_order": 0, "cache": {}, "request": { @@ -59857,15 +60410,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -59880,18 +60433,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" }, "response": { - "bodySize": 206, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 206, - "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59909,7 +60462,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -59925,7 +60478,7 @@ }, { "name": "etag", - "value": "\"821878048\"" + "value": "\"-470328822\"" }, { "name": "expires", @@ -59941,11 +60494,11 @@ }, { "name": "content-length", - "value": "206" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -59956,14 +60509,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.478Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.317Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -59971,11 +60524,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "a80b62ed18554f9e03019f23ae29d00e", + "_id": "36f30a2663ee67816c417080f7f7281c", "_order": 0, "cache": {}, "request": { @@ -59992,15 +60545,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60015,18 +60568,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 686, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" }, "response": { - "bodySize": 659, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 659, - "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -60044,7 +60597,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60060,7 +60613,7 @@ }, { "name": "etag", - "value": "\"1140433090\"" + "value": "\"-171890830\"" }, { "name": "expires", @@ -60076,11 +60629,11 @@ }, { "name": "content-length", - "value": "659" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60097,7 +60650,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.478Z", + "startedDateTime": "2024-11-06T16:35:43.317Z", "time": 3, "timings": { "blocked": -1, @@ -60110,7 +60663,7 @@ } }, { - "_id": "cee06165733bf62eec5f307cb9ebfb42", + "_id": "1828f701e56214fb606de64c77bb633e", "_order": 0, "cache": {}, "request": { @@ -60127,15 +60680,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60150,18 +60703,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" }, "response": { - "bodySize": 207, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60179,7 +60732,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60195,7 +60748,7 @@ }, { "name": "etag", - "value": "\"-943748018\"" + "value": "\"-1709503699\"" }, { "name": "expires", @@ -60211,11 +60764,11 @@ }, { "name": "content-length", - "value": "207" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60226,14 +60779,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.479Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.318Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -60241,11 +60794,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "9121d8923d35f7c1fdcfa821a445b661", + "_id": "1e63ed577c6a24cd6e3dc35a1ce2d923", "_order": 0, "cache": {}, "request": { @@ -60262,15 +60815,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60285,18 +60838,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 636, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" }, "response": { - "bodySize": 1258, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1258, - "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60314,7 +60867,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60330,7 +60883,7 @@ }, { "name": "etag", - "value": "\"-1882065253\"" + "value": "\"580379617\"" }, { "name": "expires", @@ -60346,11 +60899,11 @@ }, { "name": "content-length", - "value": "1258" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60361,13 +60914,13 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.485Z", + "startedDateTime": "2024-11-06T16:35:43.318Z", "time": 2, "timings": { "blocked": -1, @@ -60380,7 +60933,7 @@ } }, { - "_id": "5dbd320c4d4b9f5bb9819a42737efe11", + "_id": "3c37cb96a0bfe0f4c30ac363a2ad5902", "_order": 0, "cache": {}, "request": { @@ -60397,15 +60950,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60420,18 +60973,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 625, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" }, "response": { - "bodySize": 207, + "bodySize": 1456, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1456, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -60449,7 +61002,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60465,7 +61018,7 @@ }, { "name": "etag", - "value": "\"1365565913\"" + "value": "\"-293280187\"" }, { "name": "expires", @@ -60481,11 +61034,11 @@ }, { "name": "content-length", - "value": "207" + "value": "1456" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60496,14 +61049,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.492Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.325Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -60511,11 +61064,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "f6e17f46044f33f9615b9ea0a304261e", + "_id": "7fa95a66a5ea8886b23677d440ddbe3c", "_order": 0, "cache": {}, "request": { @@ -60532,15 +61085,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60555,18 +61108,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" }, "response": { - "bodySize": 348, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 348, - "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60584,7 +61137,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60600,7 +61153,7 @@ }, { "name": "etag", - "value": "\"1056905201\"" + "value": "\"1217170264\"" }, { "name": "expires", @@ -60616,11 +61169,11 @@ }, { "name": "content-length", - "value": "348" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60637,8 +61190,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.492Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.333Z", + "time": 4, "timings": { "blocked": -1, "connect": -1, @@ -60646,11 +61199,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 4 } }, { - "_id": "fd812db4990ebbbb4af3e2b83c264d03", + "_id": "a614634e682b10c3c1e0dbde3e9903ee", "_order": 0, "cache": {}, "request": { @@ -60667,15 +61220,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60690,18 +61243,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 679, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" }, "response": { - "bodySize": 401, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 401, - "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60719,7 +61272,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60735,7 +61288,7 @@ }, { "name": "etag", - "value": "\"2091792219\"" + "value": "\"-567112083\"" }, { "name": "expires", @@ -60751,11 +61304,11 @@ }, { "name": "content-length", - "value": "401" + "value": "280" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60772,7 +61325,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.493Z", + "startedDateTime": "2024-11-06T16:35:43.334Z", "time": 2, "timings": { "blocked": -1, @@ -60785,7 +61338,7 @@ } }, { - "_id": "9df3a128b9403ce978e84ac878167ed5", + "_id": "95f91270497ab866daa53975512ebb54", "_order": 0, "cache": {}, "request": { @@ -60802,15 +61355,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60825,18 +61378,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" }, "response": { - "bodySize": 205, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 205, - "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60854,7 +61407,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -60870,7 +61423,7 @@ }, { "name": "etag", - "value": "\"49533813\"" + "value": "\"613466196\"" }, { "name": "expires", @@ -60886,11 +61439,11 @@ }, { "name": "content-length", - "value": "205" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -60901,14 +61454,14 @@ "value": "keep-alive" } ], - "headersSize": 483, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.493Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.334Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -60916,11 +61469,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "2e7851535db7cbdac7d5015411e88ba8", + "_id": "e32b5cb194a2bca9e48d6984edb6e543", "_order": 0, "cache": {}, "request": { @@ -60937,15 +61490,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -60960,18 +61513,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" }, "response": { - "bodySize": 240, + "bodySize": 206, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 240, - "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60989,7 +61542,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61005,7 +61558,7 @@ }, { "name": "etag", - "value": "\"-1504299596\"" + "value": "\"821878048\"" }, { "name": "expires", @@ -61021,11 +61574,11 @@ }, { "name": "content-length", - "value": "240" + "value": "206" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:39 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61036,14 +61589,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.494Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.335Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -61051,11 +61604,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "e3f96be7fa1550419e4ee51b4f96d908", + "_id": "c0a8f47307f0e373ba5b06ef8f214a29", "_order": 0, "cache": {}, "request": { @@ -61072,15 +61625,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61095,18 +61648,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 645, + "headersSize": 672, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" }, "response": { - "bodySize": 1052, + "bodySize": 659, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1052, - "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61124,7 +61677,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61140,7 +61693,7 @@ }, { "name": "etag", - "value": "\"460502738\"" + "value": "\"1140433090\"" }, { "name": "expires", @@ -61156,11 +61709,11 @@ }, { "name": "content-length", - "value": "1052" + "value": "659" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61177,7 +61730,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.500Z", + "startedDateTime": "2024-11-06T16:35:43.335Z", "time": 2, "timings": { "blocked": -1, @@ -61190,7 +61743,7 @@ } }, { - "_id": "f08f80726c138a95dc8e265f4b734b97", + "_id": "2057565926f53a5d316b28c80d846a29", "_order": 0, "cache": {}, "request": { @@ -61207,15 +61760,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61230,18 +61783,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" }, "response": { - "bodySize": 265, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 265, - "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61259,7 +61812,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61275,7 +61828,7 @@ }, { "name": "etag", - "value": "\"-1300278465\"" + "value": "\"-943748018\"" }, { "name": "expires", @@ -61291,11 +61844,11 @@ }, { "name": "content-length", - "value": "265" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61306,14 +61859,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.507Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.336Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -61321,11 +61874,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 1 } }, { - "_id": "b225b286d95603a7b14b303c2ea27b56", + "_id": "82fd58dac86d0be209d145f206a37a87", "_order": 0, "cache": {}, "request": { @@ -61342,15 +61895,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61365,18 +61918,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PersistentCookie" }, "response": { - "bodySize": 437, + "bodySize": 1258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 437, - "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -61394,7 +61947,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61410,7 +61963,7 @@ }, { "name": "etag", - "value": "\"-1682915712\"" + "value": "\"-1882065253\"" }, { "name": "expires", @@ -61426,11 +61979,11 @@ }, { "name": "content-length", - "value": "437" + "value": "1258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61441,14 +61994,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.507Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.343Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -61456,11 +62009,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "a2cc64d8942b5e349b1acd41bff8c9d9", + "_id": "ec986d6ece7088e09c0ccba2e36f74fc", "_order": 0, "cache": {}, "request": { @@ -61477,146 +62030,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 681, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" - }, - "response": { - "bodySize": 273, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 273, - "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1599353126\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "273" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 457, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:40.508Z", - "time": 2, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 2 - } - }, - { - "_id": "27e431b1e5d779299b08c33f90bbc75e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61631,18 +62053,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" }, "response": { - "bodySize": 474, + "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 207, + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61660,7 +62082,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61676,7 +62098,7 @@ }, { "name": "etag", - "value": "\"-1018162955\"" + "value": "\"1365565913\"" }, { "name": "expires", @@ -61692,11 +62114,11 @@ }, { "name": "content-length", - "value": "474" + "value": "207" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61707,13 +62129,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.508Z", + "startedDateTime": "2024-11-06T16:35:43.351Z", "time": 2, "timings": { "blocked": -1, @@ -61726,7 +62148,7 @@ } }, { - "_id": "da4df766acc84b133512cbe770581742", + "_id": "943738cff1ac85716e67ad3eb13d9450", "_order": 0, "cache": {}, "request": { @@ -61743,15 +62165,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61766,18 +62188,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" }, "response": { - "bodySize": 305, + "bodySize": 348, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 305, - "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -61795,7 +62217,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61811,7 +62233,7 @@ }, { "name": "etag", - "value": "\"104930768\"" + "value": "\"1056905201\"" }, { "name": "expires", @@ -61827,11 +62249,11 @@ }, { "name": "content-length", - "value": "305" + "value": "348" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61842,13 +62264,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.516Z", + "startedDateTime": "2024-11-06T16:35:43.352Z", "time": 2, "timings": { "blocked": -1, @@ -61861,7 +62283,7 @@ } }, { - "_id": "d1c5ed587ba74dbe65750c7e79f6664d", + "_id": "141899f5311fcf46c0cb7bb11b6f6f6f", "_order": 0, "cache": {}, "request": { @@ -61878,15 +62300,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -61901,18 +62323,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 633, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" }, "response": { - "bodySize": 1047, + "bodySize": 401, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1047, - "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -61930,7 +62352,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -61946,7 +62368,7 @@ }, { "name": "etag", - "value": "\"-2033523620\"" + "value": "\"2091792219\"" }, { "name": "expires", @@ -61962,11 +62384,11 @@ }, { "name": "content-length", - "value": "1047" + "value": "401" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -61977,14 +62399,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.522Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.352Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -61992,11 +62414,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 2 } }, { - "_id": "c968c1f4f138b130d6afde1d7c690088", + "_id": "96a53b23a19af66561e6720704097460", "_order": 0, "cache": {}, "request": { @@ -62013,15 +62435,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62036,18 +62458,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" }, "response": { - "bodySize": 243, + "bodySize": 205, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62065,7 +62487,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62081,7 +62503,7 @@ }, { "name": "etag", - "value": "\"1707653179\"" + "value": "\"49533813\"" }, { "name": "expires", @@ -62097,11 +62519,11 @@ }, { "name": "content-length", - "value": "243" + "value": "205" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62112,14 +62534,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 483, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.529Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.353Z", + "time": 1, "timings": { "blocked": -1, "connect": -1, @@ -62127,11 +62549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 1 } }, { - "_id": "6bb59e0ac1a7c109603b26e29bf52ac1", + "_id": "786e50ce7e2a687378ad9f2e65aee710", "_order": 0, "cache": {}, "request": { @@ -62148,15 +62570,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62171,18 +62593,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" }, "response": { - "bodySize": 278, + "bodySize": 240, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -62200,7 +62622,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62216,7 +62638,7 @@ }, { "name": "etag", - "value": "\"-1613803341\"" + "value": "\"-1504299596\"" }, { "name": "expires", @@ -62232,11 +62654,11 @@ }, { "name": "content-length", - "value": "278" + "value": "240" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62253,7 +62675,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.529Z", + "startedDateTime": "2024-11-06T16:35:43.353Z", "time": 2, "timings": { "blocked": -1, @@ -62266,7 +62688,7 @@ } }, { - "_id": "5a1f859044d5ab1cf29f1c4aea97c424", + "_id": "65d6ebed14802c9cb207a0c6892679a2", "_order": 0, "cache": {}, "request": { @@ -62283,15 +62705,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62306,18 +62728,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 631, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" }, "response": { - "bodySize": 239, + "bodySize": 1052, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -62335,7 +62757,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62351,7 +62773,7 @@ }, { "name": "etag", - "value": "\"1478640305\"" + "value": "\"460502738\"" }, { "name": "expires", @@ -62367,11 +62789,11 @@ }, { "name": "content-length", - "value": "239" + "value": "1052" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62388,7 +62810,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.530Z", + "startedDateTime": "2024-11-06T16:35:43.360Z", "time": 2, "timings": { "blocked": -1, @@ -62401,7 +62823,7 @@ } }, { - "_id": "248098d0b2d5a0d71474eea0f9bff734", + "_id": "d73f5a1156e95d6a1082f1098008dc27", "_order": 0, "cache": {}, "request": { @@ -62418,15 +62840,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62445,14 +62867,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" }, "response": { - "bodySize": 711, + "bodySize": 265, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 711, - "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -62470,7 +62892,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62486,7 +62908,7 @@ }, { "name": "etag", - "value": "\"-202662309\"" + "value": "\"-1300278465\"" }, { "name": "expires", @@ -62502,11 +62924,11 @@ }, { "name": "content-length", - "value": "711" + "value": "265" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62517,13 +62939,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.530Z", + "startedDateTime": "2024-11-06T16:35:43.367Z", "time": 3, "timings": { "blocked": -1, @@ -62536,7 +62958,7 @@ } }, { - "_id": "d42ea564d9bf407bfa32546f448ee555", + "_id": "80731f7498eeb82808c1865b19e3ac4b", "_order": 0, "cache": {}, "request": { @@ -62553,15 +62975,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62576,18 +62998,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" }, "response": { - "bodySize": 258, + "bodySize": 437, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62605,7 +63027,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62621,7 +63043,7 @@ }, { "name": "etag", - "value": "\"128653632\"" + "value": "\"-1682915712\"" }, { "name": "expires", @@ -62637,11 +63059,11 @@ }, { "name": "content-length", - "value": "258" + "value": "437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62652,13 +63074,148 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.539Z", + "startedDateTime": "2024-11-06T16:35:43.368Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "52e3961c14f1ae5091ca4482778459be", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 651, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + }, + "response": { + "bodySize": 474, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1018162955\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "474" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:42 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.369Z", "time": 2, "timings": { "blocked": -1, @@ -62671,7 +63228,7 @@ } }, { - "_id": "e79bb6e4db3a5c2ec1249075a2ab51d3", + "_id": "8dbfb2445a2195e1f90cab62e3b7cfd8", "_order": 0, "cache": {}, "request": { @@ -62688,15 +63245,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62711,18 +63268,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 667, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" }, "response": { - "bodySize": 260, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -62740,7 +63297,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62756,7 +63313,7 @@ }, { "name": "etag", - "value": "\"-1790782773\"" + "value": "\"-1599353126\"" }, { "name": "expires", @@ -62772,11 +63329,11 @@ }, { "name": "content-length", - "value": "260" + "value": "273" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62793,7 +63350,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.539Z", + "startedDateTime": "2024-11-06T16:35:43.369Z", "time": 2, "timings": { "blocked": -1, @@ -62806,7 +63363,7 @@ } }, { - "_id": "6f0bb9456d686b254a8fd6ccdfd2028a", + "_id": "9d4ff766eebe043e4c81a44b3792ec4b", "_order": 0, "cache": {}, "request": { @@ -62823,15 +63380,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62846,18 +63403,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 646, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" }, "response": { - "bodySize": 1119, + "bodySize": 305, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1119, - "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -62875,7 +63432,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -62891,7 +63448,7 @@ }, { "name": "etag", - "value": "\"-686533928\"" + "value": "\"104930768\"" }, { "name": "expires", @@ -62907,11 +63464,11 @@ }, { "name": "content-length", - "value": "1119" + "value": "305" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:42 GMT" }, { "name": "keep-alive", @@ -62922,13 +63479,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.545Z", + "startedDateTime": "2024-11-06T16:35:43.376Z", "time": 3, "timings": { "blocked": -1, @@ -62941,7 +63498,7 @@ } }, { - "_id": "aa129614713fc11b13775ab701e2cac1", + "_id": "a62c818ecbcab5cfe863c81b25392058", "_order": 0, "cache": {}, "request": { @@ -62958,15 +63515,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -62981,18 +63538,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 619, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformLogin" }, "response": { - "bodySize": 376, + "bodySize": 1047, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 376, - "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -63010,7 +63567,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63026,7 +63583,7 @@ }, { "name": "etag", - "value": "\"511839934\"" + "value": "\"-2033523620\"" }, { "name": "expires", @@ -63042,11 +63599,11 @@ }, { "name": "content-length", - "value": "376" + "value": "1047" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63057,14 +63614,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 487, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.552Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.385Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -63072,11 +63629,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "3d1421f93663d440136e81643cbd2389", + "_id": "caefac325b890f48a5b3dc2636f2acb5", "_order": 0, "cache": {}, "request": { @@ -63093,15 +63650,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63120,14 +63677,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" }, "response": { - "bodySize": 404, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 404, - "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -63145,7 +63702,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63161,7 +63718,7 @@ }, { "name": "etag", - "value": "\"-1655043290\"" + "value": "\"-1613803341\"" }, { "name": "expires", @@ -63177,11 +63734,11 @@ }, { "name": "content-length", - "value": "404" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63198,7 +63755,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.552Z", + "startedDateTime": "2024-11-06T16:35:43.393Z", "time": 2, "timings": { "blocked": -1, @@ -63211,7 +63768,7 @@ } }, { - "_id": "1ba2c27779385fcb9e3beb284e0e49bc", + "_id": "b30149cd3d16573fda235fef3691a22a", "_order": 0, "cache": {}, "request": { @@ -63228,15 +63785,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63251,18 +63808,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" }, "response": { - "bodySize": 300, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63280,7 +63837,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63296,7 +63853,7 @@ }, { "name": "etag", - "value": "\"-1735965231\"" + "value": "\"1707653179\"" }, { "name": "expires", @@ -63312,11 +63869,11 @@ }, { "name": "content-length", - "value": "300" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63327,13 +63884,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.552Z", + "startedDateTime": "2024-11-06T16:35:43.393Z", "time": 2, "timings": { "blocked": -1, @@ -63346,7 +63903,7 @@ } }, { - "_id": "307e64c580ecd37e03506e639659aaa8", + "_id": "e96433862cd3432228364e6b01110540", "_order": 0, "cache": {}, "request": { @@ -63363,15 +63920,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63386,18 +63943,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" }, "response": { - "bodySize": 340, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 340, - "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -63415,7 +63972,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63431,7 +63988,7 @@ }, { "name": "etag", - "value": "\"712832963\"" + "value": "\"1478640305\"" }, { "name": "expires", @@ -63447,11 +64004,11 @@ }, { "name": "content-length", - "value": "340" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63462,13 +64019,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.553Z", + "startedDateTime": "2024-11-06T16:35:43.394Z", "time": 2, "timings": { "blocked": -1, @@ -63481,7 +64038,7 @@ } }, { - "_id": "fba81180f9b581cea03770e6f9de04e5", + "_id": "66ae48097d88f47b706212d511b67abc", "_order": 0, "cache": {}, "request": { @@ -63498,15 +64055,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63521,18 +64078,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" }, "response": { - "bodySize": 351, + "bodySize": 711, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63550,7 +64107,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63566,7 +64123,7 @@ }, { "name": "etag", - "value": "\"-1799080778\"" + "value": "\"-202662309\"" }, { "name": "expires", @@ -63582,11 +64139,11 @@ }, { "name": "content-length", - "value": "351" + "value": "711" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63597,14 +64154,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.558Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.394Z", + "time": 11, "timings": { "blocked": -1, "connect": -1, @@ -63612,11 +64169,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 11 } }, { - "_id": "b7be51430c052151da7a50827977cb0c", + "_id": "cb7543090267a9357fe2042d7886eda3", "_order": 0, "cache": {}, "request": { @@ -63633,15 +64190,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63656,18 +64213,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 640, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" }, "response": { - "bodySize": 819, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 819, - "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63685,7 +64242,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63701,7 +64258,7 @@ }, { "name": "etag", - "value": "\"1526211113\"" + "value": "\"128653632\"" }, { "name": "expires", @@ -63717,11 +64274,11 @@ }, { "name": "content-length", - "value": "819" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63732,14 +64289,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.564Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.411Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -63747,11 +64304,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "9950ed10f15360083cafa67a901615c1", + "_id": "c462fdc881f127545e3681f59d8384c3", "_order": 0, "cache": {}, "request": { @@ -63768,15 +64325,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63791,18 +64348,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 680, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" }, "response": { - "bodySize": 243, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -63820,7 +64377,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63836,7 +64393,7 @@ }, { "name": "etag", - "value": "\"1743893705\"" + "value": "\"-1790782773\"" }, { "name": "expires", @@ -63852,11 +64409,11 @@ }, { "name": "content-length", - "value": "243" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -63867,14 +64424,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.569Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.411Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -63882,11 +64439,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "3c31e8e0cebc9abd0757a15e48bb71f3", + "_id": "d743479b541ad1cba5b72f4e1bd2ead4", "_order": 0, "cache": {}, "request": { @@ -63903,15 +64460,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -63926,18 +64483,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 632, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" }, "response": { - "bodySize": 271, + "bodySize": 1119, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 271, - "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -63955,7 +64512,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -63971,7 +64528,7 @@ }, { "name": "etag", - "value": "\"1895090878\"" + "value": "\"-686533928\"" }, { "name": "expires", @@ -63987,11 +64544,11 @@ }, { "name": "content-length", - "value": "271" + "value": "1119" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64002,14 +64559,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.570Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.418Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64017,11 +64574,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "bfa8061976dd2c61aa7355802b64a2af", + "_id": "0fc3b6af26d7907dd122cab8e340e9a1", "_order": 0, "cache": {}, "request": { @@ -64038,15 +64595,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64061,18 +64618,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" }, "response": { - "bodySize": 959, + "bodySize": 376, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 959, - "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -64090,7 +64647,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64106,7 +64663,7 @@ }, { "name": "etag", - "value": "\"-1037301643\"" + "value": "\"511839934\"" }, { "name": "expires", @@ -64122,11 +64679,11 @@ }, { "name": "content-length", - "value": "959" + "value": "376" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64137,14 +64694,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.570Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.430Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64152,11 +64709,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "a1cf1e8dcf795ae2018229b61fe7e95f", + "_id": "2bcdb8cfff8a8c5415260ff921903f30", "_order": 0, "cache": {}, "request": { @@ -64173,15 +64730,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64196,18 +64753,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" }, "response": { - "bodySize": 259, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64225,7 +64782,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64241,7 +64798,7 @@ }, { "name": "etag", - "value": "\"-1365755177\"" + "value": "\"-1655043290\"" }, { "name": "expires", @@ -64257,11 +64814,11 @@ }, { "name": "content-length", - "value": "259" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64278,7 +64835,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.576Z", + "startedDateTime": "2024-11-06T16:35:43.431Z", "time": 2, "timings": { "blocked": -1, @@ -64291,7 +64848,7 @@ } }, { - "_id": "7f794598a08d975051dc8e0c00794674", + "_id": "5f5736e172d9b2f3465956e7bec53b13", "_order": 0, "cache": {}, "request": { @@ -64308,15 +64865,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64331,18 +64888,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" }, "response": { - "bodySize": 371, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 371, - "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -64360,7 +64917,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64376,7 +64933,7 @@ }, { "name": "etag", - "value": "\"790804755\"" + "value": "\"-1735965231\"" }, { "name": "expires", @@ -64392,11 +64949,11 @@ }, { "name": "content-length", - "value": "371" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64407,14 +64964,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.577Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.431Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -64422,11 +64979,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "c1b3a1f611fd40698634288945a8531a", + "_id": "8fe2893c2ce7f34c5d881b4f753bafca", "_order": 0, "cache": {}, "request": { @@ -64443,15 +65000,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64466,18 +65023,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" }, "response": { - "bodySize": 258, + "bodySize": 340, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -64495,7 +65052,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64511,7 +65068,7 @@ }, { "name": "etag", - "value": "\"-347683889\"" + "value": "\"712832963\"" }, { "name": "expires", @@ -64527,11 +65084,11 @@ }, { "name": "content-length", - "value": "258" + "value": "340" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64542,14 +65099,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.577Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.432Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -64557,11 +65114,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "a06cc957ce7be1b39c3c73b83e298508", + "_id": "b02c393896237d2336488125448e35a6", "_order": 0, "cache": {}, "request": { @@ -64578,15 +65135,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64601,18 +65158,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 670, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" }, "response": { - "bodySize": 275, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64630,7 +65187,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64646,7 +65203,7 @@ }, { "name": "etag", - "value": "\"-1855541828\"" + "value": "\"-1799080778\"" }, { "name": "expires", @@ -64662,11 +65219,11 @@ }, { "name": "content-length", - "value": "275" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64683,8 +65240,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.577Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.438Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64692,11 +65249,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 3 } }, { - "_id": "255a77f3817bf5b850c02b1c7822e498", + "_id": "d669e6a1ff56a1a13e7d5229b449ff73", "_order": 0, "cache": {}, "request": { @@ -64713,15 +65270,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64736,18 +65293,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 626, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" }, "response": { - "bodySize": 224, + "bodySize": 819, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 224, - "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -64765,7 +65322,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64781,7 +65338,7 @@ }, { "name": "etag", - "value": "\"-1310629925\"" + "value": "\"1526211113\"" }, { "name": "expires", @@ -64797,11 +65354,11 @@ }, { "name": "content-length", - "value": "224" + "value": "819" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64812,14 +65369,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.578Z", - "time": 4, + "startedDateTime": "2024-11-06T16:35:43.446Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -64827,11 +65384,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 4 + "wait": 2 } }, { - "_id": "5cfbcdaf97990a66929900d3b5be3a60", + "_id": "90594581e99b14d80bd96b7884a0098c", "_order": 0, "cache": {}, "request": { @@ -64848,15 +65405,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -64871,18 +65428,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 641, + "headersSize": 666, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" }, "response": { - "bodySize": 1201, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1201, - "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -64900,7 +65457,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -64916,7 +65473,7 @@ }, { "name": "etag", - "value": "\"1171487776\"" + "value": "\"1743893705\"" }, { "name": "expires", @@ -64932,11 +65489,11 @@ }, { "name": "content-length", - "value": "1201" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -64947,14 +65504,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.586Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.453Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -64962,11 +65519,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "a1e27df60480f4a0b76959a21b7448e2", + "_id": "b178e1c07f88e1d2b690c161fc85bf7a", "_order": 0, "cache": {}, "request": { @@ -64983,15 +65540,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65006,18 +65563,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" }, "response": { - "bodySize": 407, + "bodySize": 271, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -65035,7 +65592,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65051,7 +65608,7 @@ }, { "name": "etag", - "value": "\"-1578060484\"" + "value": "\"1895090878\"" }, { "name": "expires", @@ -65067,11 +65624,11 @@ }, { "name": "content-length", - "value": "407" + "value": "271" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65082,13 +65639,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.592Z", + "startedDateTime": "2024-11-06T16:35:43.454Z", "time": 2, "timings": { "blocked": -1, @@ -65101,7 +65658,7 @@ } }, { - "_id": "2dadef18cac1a52b14b601c90649823a", + "_id": "6422a2ef61d2d2e3e01c4ff1ed87af04", "_order": 0, "cache": {}, "request": { @@ -65118,15 +65675,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65141,18 +65698,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 681, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" }, "response": { - "bodySize": 295, + "bodySize": 959, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65170,7 +65727,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65186,7 +65743,7 @@ }, { "name": "etag", - "value": "\"-77719538\"" + "value": "\"-1037301643\"" }, { "name": "expires", @@ -65202,11 +65759,11 @@ }, { "name": "content-length", - "value": "295" + "value": "959" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65217,13 +65774,13 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.592Z", + "startedDateTime": "2024-11-06T16:35:43.454Z", "time": 3, "timings": { "blocked": -1, @@ -65236,7 +65793,7 @@ } }, { - "_id": "759e0d16ec3b6557c6aaeca2ab9acae2", + "_id": "71b1a537a9c37508e265d35bad4e0830", "_order": 0, "cache": {}, "request": { @@ -65253,15 +65810,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65276,18 +65833,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" }, "response": { - "bodySize": 469, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 469, - "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65305,7 +65862,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65321,7 +65878,7 @@ }, { "name": "etag", - "value": "\"1522661276\"" + "value": "\"-1365755177\"" }, { "name": "expires", @@ -65337,11 +65894,11 @@ }, { "name": "content-length", - "value": "469" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65352,14 +65909,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.593Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.461Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -65367,11 +65924,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "061246a49d110e8d3fefde05adb34ca2", + "_id": "30d00d5eb8415b5bf68ee7368a9a3a37", "_order": 0, "cache": {}, "request": { @@ -65388,15 +65945,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65411,18 +65968,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 665, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" }, "response": { - "bodySize": 433, + "bodySize": 371, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65440,7 +65997,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65456,7 +66013,7 @@ }, { "name": "etag", - "value": "\"-1395544271\"" + "value": "\"790804755\"" }, { "name": "expires", @@ -65472,11 +66029,11 @@ }, { "name": "content-length", - "value": "433" + "value": "371" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65487,13 +66044,13 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.593Z", + "startedDateTime": "2024-11-06T16:35:43.462Z", "time": 2, "timings": { "blocked": -1, @@ -65506,7 +66063,7 @@ } }, { - "_id": "8e1d9c600ae0e454e10b87948b32cba6", + "_id": "74e4ee1442b16e999cda3f40f4b7688f", "_order": 0, "cache": {}, "request": { @@ -65523,15 +66080,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65546,18 +66103,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" }, "response": { - "bodySize": 336, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 336, - "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65575,7 +66132,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65591,7 +66148,7 @@ }, { "name": "etag", - "value": "\"875182106\"" + "value": "\"-347683889\"" }, { "name": "expires", @@ -65607,11 +66164,11 @@ }, { "name": "content-length", - "value": "336" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65622,14 +66179,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.594Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.462Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -65637,11 +66194,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "afa893c9862ea88975a77036f7c1ec15", + "_id": "a1557c0e3191e550931383a163ba7080", "_order": 0, "cache": {}, "request": { @@ -65658,15 +66215,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65681,18 +66238,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" }, "response": { - "bodySize": 258, + "bodySize": 224, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65710,7 +66267,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65726,7 +66283,7 @@ }, { "name": "etag", - "value": "\"1323058199\"" + "value": "\"-1310629925\"" }, { "name": "expires", @@ -65742,11 +66299,11 @@ }, { "name": "content-length", - "value": "258" + "value": "224" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65757,13 +66314,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.599Z", + "startedDateTime": "2024-11-06T16:35:43.463Z", "time": 2, "timings": { "blocked": -1, @@ -65776,7 +66333,7 @@ } }, { - "_id": "2573af8394010afccff10cdb360fec89", + "_id": "5ba978fc7d7f3ad64ed5a2ab85e311af", "_order": 0, "cache": {}, "request": { @@ -65793,15 +66350,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65816,18 +66373,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 656, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" }, "response": { - "bodySize": 306, + "bodySize": 275, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 306, - "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -65845,7 +66402,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65861,7 +66418,7 @@ }, { "name": "etag", - "value": "\"-415466582\"" + "value": "\"-1855541828\"" }, { "name": "expires", @@ -65877,11 +66434,11 @@ }, { "name": "content-length", - "value": "306" + "value": "275" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -65892,14 +66449,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.600Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.463Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -65907,11 +66464,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "ed01f4c89c40f0bee2ffd9b34f78e998", + "_id": "0b0f7377af263ef0d3ced5c89b5f57aa", "_order": 0, "cache": {}, "request": { @@ -65928,15 +66485,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -65951,18 +66508,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 642, + "headersSize": 627, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" }, "response": { - "bodySize": 1639, + "bodySize": 1201, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1639, - "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -65980,7 +66537,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -65996,7 +66553,7 @@ }, { "name": "etag", - "value": "\"433260882\"" + "value": "\"1171487776\"" }, { "name": "expires", @@ -66012,11 +66569,11 @@ }, { "name": "content-length", - "value": "1639" + "value": "1201" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66027,13 +66584,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.605Z", + "startedDateTime": "2024-11-06T16:35:43.470Z", "time": 2, "timings": { "blocked": -1, @@ -66046,7 +66603,7 @@ } }, { - "_id": "9a3b97d1b3f2810bf4ad0691e5b98ab6", + "_id": "a5ee15257ae08776cb4344a8e3680ad6", "_order": 0, "cache": {}, "request": { @@ -66063,15 +66620,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66086,18 +66643,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" }, "response": { - "bodySize": 239, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -66115,7 +66672,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66131,7 +66688,7 @@ }, { "name": "etag", - "value": "\"1309752765\"" + "value": "\"-1578060484\"" }, { "name": "expires", @@ -66147,11 +66704,11 @@ }, { "name": "content-length", - "value": "239" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66162,14 +66719,14 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.612Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.477Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -66177,11 +66734,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 10 } }, { - "_id": "874153f3059f3a46725de179b6218f2d", + "_id": "4c29ff6b56efbbcf462e401ef462f9a0", "_order": 0, "cache": {}, "request": { @@ -66198,15 +66755,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66221,18 +66778,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 685, + "headersSize": 667, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" }, "response": { - "bodySize": 315, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -66250,7 +66807,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66266,7 +66823,7 @@ }, { "name": "etag", - "value": "\"-1874082022\"" + "value": "\"-77719538\"" }, { "name": "expires", @@ -66282,11 +66839,11 @@ }, { "name": "content-length", - "value": "315" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66297,14 +66854,14 @@ "value": "keep-alive" } ], - "headersSize": 486, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.612Z", - "time": 3, + "startedDateTime": "2024-11-06T16:35:43.478Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -66312,11 +66869,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 3 + "wait": 9 } }, { - "_id": "97e33389e1a76fff08f06c9abb659dee", + "_id": "8ebc74a56a3900fae230596ff1246ba8", "_order": 0, "cache": {}, "request": { @@ -66333,15 +66890,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66356,18 +66913,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 673, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" }, "response": { - "bodySize": 485, + "bodySize": 469, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -66385,7 +66942,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66401,7 +66958,7 @@ }, { "name": "etag", - "value": "\"-529786920\"" + "value": "\"1522661276\"" }, { "name": "expires", @@ -66417,25 +66974,29 @@ }, { "name": "content-length", - "value": "485" + "value": "469" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" }, { "name": "connection", - "value": "close" + "value": "keep-alive" } ], - "headersSize": 456, + "headersSize": 485, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.613Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.478Z", + "time": 10, "timings": { "blocked": -1, "connect": -1, @@ -66443,11 +67004,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 10 } }, { - "_id": "3d0d7bbf12a3ea219c3108207a97822f", + "_id": "e078d511ccbfe0e79afbdc4a7488d9f7", "_order": 0, "cache": {}, "request": { @@ -66464,15 +67025,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66487,18 +67048,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 665, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" }, "response": { - "bodySize": 422, + "bodySize": 336, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 422, - "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -66516,7 +67077,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66532,7 +67093,7 @@ }, { "name": "etag", - "value": "\"384347514\"" + "value": "\"875182106\"" }, { "name": "expires", @@ -66548,11 +67109,11 @@ }, { "name": "content-length", - "value": "422" + "value": "336" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66569,8 +67130,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.613Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.479Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -66578,11 +67139,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "8f276abe20e77f0b5d254f3f8aaa1521", + "_id": "1e2ad84d748dd87df22002ce23285747", "_order": 0, "cache": {}, "request": { @@ -66599,15 +67160,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66622,18 +67183,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" }, "response": { - "bodySize": 349, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -66651,7 +67212,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66667,7 +67228,7 @@ }, { "name": "etag", - "value": "\"894949571\"" + "value": "\"-1395544271\"" }, { "name": "expires", @@ -66683,11 +67244,11 @@ }, { "name": "content-length", - "value": "349" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66698,14 +67259,14 @@ "value": "keep-alive" } ], - "headersSize": 484, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.613Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.479Z", + "time": 9, "timings": { "blocked": -1, "connect": -1, @@ -66713,11 +67274,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 9 } }, { - "_id": "e188e492a9ffc8368f8ada56bb3fa694", + "_id": "b3eefb4122378336dbb40ec539af61c8", "_order": 0, "cache": {}, "request": { @@ -66734,15 +67295,150 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1323058199\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.491Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "07f319f7c8e7cf662a719206e8c1ecbd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66761,14 +67457,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" }, "response": { - "bodySize": 410, + "bodySize": 306, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 410, - "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -66786,7 +67482,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66802,7 +67498,7 @@ }, { "name": "etag", - "value": "\"-895759180\"" + "value": "\"-415466582\"" }, { "name": "expires", @@ -66818,11 +67514,11 @@ }, { "name": "content-length", - "value": "410" + "value": "306" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66839,7 +67535,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.614Z", + "startedDateTime": "2024-11-06T16:35:43.492Z", "time": 2, "timings": { "blocked": -1, @@ -66852,7 +67548,7 @@ } }, { - "_id": "f4e18f6cfa3a29ad4d90a1369e5be701", + "_id": "4dff3f2674bf22e7fce4eedd1abe356b", "_order": 0, "cache": {}, "request": { @@ -66869,15 +67565,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -66892,18 +67588,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 672, + "headersSize": 628, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" }, "response": { - "bodySize": 256, + "bodySize": 1639, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" }, "cookies": [], "headers": [ @@ -66921,7 +67617,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -66937,7 +67633,7 @@ }, { "name": "etag", - "value": "\"-852986593\"" + "value": "\"433260882\"" }, { "name": "expires", @@ -66953,11 +67649,11 @@ }, { "name": "content-length", - "value": "256" + "value": "1639" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -66974,7 +67670,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.614Z", + "startedDateTime": "2024-11-06T16:35:43.499Z", "time": 2, "timings": { "blocked": -1, @@ -66987,7 +67683,7 @@ } }, { - "_id": "d6247990720cee63ca442194f133ee42", + "_id": "d1448394c85d7ecd50ea10b33c4f3c77", "_order": 0, "cache": {}, "request": { @@ -67004,15 +67700,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67027,18 +67723,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" }, "response": { - "bodySize": 259, + "bodySize": 239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -67056,7 +67752,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67072,7 +67768,7 @@ }, { "name": "etag", - "value": "\"-611727803\"" + "value": "\"1309752765\"" }, { "name": "expires", @@ -67088,11 +67784,11 @@ }, { "name": "content-length", - "value": "259" + "value": "239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67109,143 +67805,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.620Z", - "time": 1, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 1 - } - }, - { - "_id": "470698a5c6e03a254958c563676f499c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "cookie", - "value": "iPlanetDirectoryPro=" - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.classic.com:8080" - } - ], - "headersSize": 678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" - }, - "response": { - "bodySize": 257, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"502723459\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "257" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" - }, - { - "name": "keep-alive", - "value": "timeout=20" - }, - { - "name": "connection", - "value": "keep-alive" - } - ], - "headersSize": 484, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:49:40.620Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.506Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -67253,11 +67814,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "2f6cc4a6820bd184162b0835933b33bb", + "_id": "d615f6570735349e761a99ec55198f66", "_order": 0, "cache": {}, "request": { @@ -67274,15 +67835,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67297,18 +67858,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 630, + "headersSize": 671, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/RetryLimit" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" }, "response": { - "bodySize": 1231, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1231, - "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -67326,7 +67887,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67342,7 +67903,7 @@ }, { "name": "etag", - "value": "\"-1417605028\"" + "value": "\"-1874082022\"" }, { "name": "expires", @@ -67358,11 +67919,11 @@ }, { "name": "content-length", - "value": "1231" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67373,14 +67934,14 @@ "value": "keep-alive" } ], - "headersSize": 487, + "headersSize": 486, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.625Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.507Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -67388,11 +67949,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "8dfa49e1b937e70797cf4659a005ef3b", + "_id": "39c678828a3b6356ae0b2bd2c9663d38", "_order": 0, "cache": {}, "request": { @@ -67409,15 +67970,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67432,18 +67993,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 659, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" }, "response": { - "bodySize": 207, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -67461,7 +68022,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67477,7 +68038,7 @@ }, { "name": "etag", - "value": "\"1991543646\"" + "value": "\"-529786920\"" }, { "name": "expires", @@ -67493,11 +68054,11 @@ }, { "name": "content-length", - "value": "207" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67514,8 +68075,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.631Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.507Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -67523,11 +68084,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "fef02e0d0bd281883adc03ba67a0f65a", + "_id": "4ee276c46e89a87d31a75db8dc68daaa", "_order": 0, "cache": {}, "request": { @@ -67544,15 +68105,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67567,18 +68128,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 679, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" }, "response": { - "bodySize": 298, + "bodySize": 422, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -67596,7 +68157,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67612,7 +68173,7 @@ }, { "name": "etag", - "value": "\"376925853\"" + "value": "\"384347514\"" }, { "name": "expires", @@ -67628,11 +68189,11 @@ }, { "name": "content-length", - "value": "298" + "value": "422" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67649,8 +68210,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.631Z", - "time": 2, + "startedDateTime": "2024-11-06T16:35:43.507Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -67658,11 +68219,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2 + "wait": 3 } }, { - "_id": "f08abf7b53c9d27d0a40139d7ac0326f", + "_id": "4e369d894edaf1d5c3218fa24a7e95b2", "_order": 0, "cache": {}, "request": { @@ -67679,15 +68240,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67702,18 +68263,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" }, "response": { - "bodySize": 207, + "bodySize": 349, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 207, - "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -67731,7 +68292,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67747,7 +68308,7 @@ }, { "name": "etag", - "value": "\"1844311587\"" + "value": "\"894949571\"" }, { "name": "expires", @@ -67763,11 +68324,11 @@ }, { "name": "content-length", - "value": "207" + "value": "349" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67778,13 +68339,13 @@ "value": "keep-alive" } ], - "headersSize": 485, + "headersSize": 484, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.631Z", + "startedDateTime": "2024-11-06T16:35:43.508Z", "time": 2, "timings": { "blocked": -1, @@ -67797,7 +68358,7 @@ } }, { - "_id": "c3a46fc9185bcfd7ec33a65a50971526", + "_id": "a40e9402741d2edbb08a31d5e96ffc2b", "_order": 0, "cache": {}, "request": { @@ -67814,15 +68375,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67837,18 +68398,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 651, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" }, "response": { - "bodySize": 239, + "bodySize": 410, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 239, - "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -67866,7 +68427,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -67882,7 +68443,7 @@ }, { "name": "etag", - "value": "\"1366894111\"" + "value": "\"-895759180\"" }, { "name": "expires", @@ -67898,11 +68459,11 @@ }, { "name": "content-length", - "value": "239" + "value": "410" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -67919,8 +68480,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.632Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.508Z", + "time": 2, "timings": { "blocked": -1, "connect": -1, @@ -67928,11 +68489,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 2 } }, { - "_id": "337794ee44e0c7447afb92e5b30aa977", + "_id": "2d1e4c57e08142cd762f20836ee70377", "_order": 0, "cache": {}, "request": { @@ -67949,15 +68510,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -67972,18 +68533,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 675, + "headersSize": 658, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" }, "response": { - "bodySize": 221, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -68001,7 +68562,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68017,7 +68578,7 @@ }, { "name": "etag", - "value": "\"2057819892\"" + "value": "\"-852986593\"" }, { "name": "expires", @@ -68033,11 +68594,11 @@ }, { "name": "content-length", - "value": "221" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -68054,7 +68615,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.632Z", + "startedDateTime": "2024-11-06T16:35:43.509Z", "time": 1, "timings": { "blocked": -1, @@ -68067,7 +68628,7 @@ } }, { - "_id": "4eed5fa28710f528e622f01568a1d121", + "_id": "75fe9aa2a84ce8cfe0c67d14fbc400b9", "_order": 0, "cache": {}, "request": { @@ -68084,15 +68645,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -68107,18 +68668,18 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 631, + "headersSize": 664, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Test%20Tree" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" }, "response": { - "bodySize": 500, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 500, - "text": "{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -68136,7 +68697,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68152,7 +68713,7 @@ }, { "name": "etag", - "value": "\"-701879303\"" + "value": "\"502723459\"" }, { "name": "expires", @@ -68168,11 +68729,146 @@ }, { "name": "content-length", - "value": "500" + "value": "257" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.515Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "c965fb495a5d351fe926f41c394a0d33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-611727803\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -68189,8 +68885,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.638Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.515Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -68198,11 +68894,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 } }, { - "_id": "c11d76825f99f502d91867a213b5c086", + "_id": "753f2021c64ffb849cff618b73a3f0e2", "_order": 0, "cache": {}, "request": { @@ -68219,15 +68915,15 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "value": "@rockcarver/frodo-lib/3.0.0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-2a92c772-1b93-49c5-86c3-fd7bccd802de" + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "cookie", @@ -68242,18 +68938,153 @@ "value": "openam-frodo-dev.classic.com:8080" } ], - "headersSize": 678, + "headersSize": 616, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/0254ab35-daea-40db-9a53-44fc06715e48" + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/trees/RetryLimit" + }, + "response": { + "bodySize": 1231, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1417605028\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1231" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.522Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "bff3c7f8bd567bb4e400dc59817f6343", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" }, "response": { "bodySize": 207, "content": { "mimeType": "application/json;charset=UTF-8", "size": 207, - "text": "{\"_id\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"_rev\":\"-286173771\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -68271,7 +69102,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -68287,7 +69118,7 @@ }, { "name": "etag", - "value": "\"-286173771\"" + "value": "\"1991543646\"" }, { "name": "expires", @@ -68307,7 +69138,7 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:49:40 GMT" + "value": "Wed, 06 Nov 2024 16:35:43 GMT" }, { "name": "keep-alive", @@ -68324,8 +69155,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:49:40.644Z", - "time": 1, + "startedDateTime": "2024-11-06T16:35:43.529Z", + "time": 3, "timings": { "blocked": -1, "connect": -1, @@ -68333,7 +69164,19371 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1 + "wait": 3 + } + }, + { + "_id": "968db9e0d6179f49120f2bfc3d5704e3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"376925853\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.530Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "b2f41c3d63d02eefe1c577ce9135a13f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1844311587\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.530Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "ab8edf19086f911ab858ca63ed21b9fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1366894111\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.531Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "d34afdd3ee64c3cd04763f479d195fc2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 661, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + }, + "response": { + "bodySize": 221, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 221, + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2057819892\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "221" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.531Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "3589957470cb982886bc187fa01daa34", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 565, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/policies?_queryFilter=true" + }, + "response": { + "bodySize": 137, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "137" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.537Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "2865a4376c54371f09eb6676984ac794", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 655, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + }, + "response": { + "bodySize": 1058, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1058, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1578580064992,\"lastModifiedDate\":1728509788713,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=2.1, resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1058" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.541Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "8ec481d75bb7a0d54671964fc5d30f39", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 654, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + }, + "response": { + "bodySize": 996, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 996, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788670},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509788692}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "996" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.548Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "ef0612496b038d8e7d11ebdcb47d0c7a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 577, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/scripts?_queryFilter=true" + }, + "response": { + "bodySize": 176322, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 176322, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.1, resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.555Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "8d9eb30dd89f11c6214096ea0454c796", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 604, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores?_action=nextdescendents" + }, + "response": { + "bodySize": 523, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "523" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.563Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "9d8ecfd4317bb2962e6ad9b1fe15a82b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 643, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.578Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "d174898bf906d00eaf8a698802f289f1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 652, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 99, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "99" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:35:43.588Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "8c28c86ea2dc548d8f377f13e235adda", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 598, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 9585, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9585, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 472, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.597Z", + "time": 24, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 24 + } + }, + { + "_id": "edf51fedd09100a6cc80b4059b2549e7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories" + }, + "response": { + "bodySize": 346, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1741783487\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "346" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.626Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "1ce634703753aa4931a5559e2e365dde", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/id-repositories?_action=nextdescendents" + }, + "response": { + "bodySize": 5109, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5109, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5109" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 466, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.627Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "e5e9a36236b174ed5a6fe1c44dca8e7f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 593, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration" + }, + "response": { + "bodySize": 708, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-52720779\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "708" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.628Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "b8167ce019d6d590dd02b1979d9bb24e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 618, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/policyconfiguration?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.628Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "ad849dc027dfa4349545492c88087a5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/oauth-oidc?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.629Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "0032444f503cd7792d89b6d46389da6f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 597, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1077208638\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "148" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.630Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "cf5d090e919d5ccbb347c90ec06f7977", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.631Z", + "time": 13, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 13 + } + }, + { + "_id": "23c5f474dbfd42ec624597992e324bc8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.649Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "a9cd24a6d32075673ec9d693a7d37e4d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 602, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.656Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "9921972dc1fb9bef47d3efc03bb24ce7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.664Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "4089afd5baf389cd0f1ac4d5226e7fde", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.672Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "b448c8b76fc926ea8d868eca0d64c99f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.688Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "c8b0817c09ba786c15acd8cb1eb6c67a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.689Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "ec5d37cff4b3bf12128e82125c0ac1cb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 435, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-11-06T16:35:43.690Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "b46bfd4428b2bba30fa190fe0c6499ea", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.690Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "499d3eaed188674efe47fc65d42d5814", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.690Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "fb9c5e04bfd2fbbc68b4984f70998215", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.691Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "b680ae2c832bc2d794ca86452a2ca53b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 621, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.692Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "6c9581140d5932fe6e16686344836832", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/SoapSTSAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.692Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "76a4459aed0f6d9c3ceff144984344e7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 612, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.693Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "c832ddd497d3b281e137e3349edb1353", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 598, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc" + }, + "response": { + "bodySize": 8380, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8380, + "text": "{\"_id\":\"\",\"_rev\":\"2117196426\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2117196426\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.701Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "01c412e5b10531038f5f7410d1c6c203", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/OAuth2Client?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.708Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "06fff1b14ebebe62d9df67d37c5159ba", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 593, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication" + }, + "response": { + "bodySize": 1298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1298, + "text": "{\"_id\":\"\",\"_rev\":\"-2141370275\",\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/am/console\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":true,\"sharedSecret\":null,\"addClearSiteDataHeader\":true},\"trees\":{\"suspendedAuthenticationTimeout\":5,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"ldapService\",\"orgConfig\":\"ldapService\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":true,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2141370275\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1298" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.715Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "10541f997b63e7fdab4ff20e3dd94a3f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 655, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 435, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.723Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "903b1fd9371653aa3f662465d574ebc5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 637, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + }, + "response": { + "bodySize": 16422, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 16422, + "text": "{\"result\":[{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true},{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true},{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true},{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true},{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true},{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true},{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true},{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}],\"resultCount\":15,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.741Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "09bd8d23cb70de1aa684e476cd0616d1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 625, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Agent" + }, + "response": { + "bodySize": 676, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 676, + "text": "{\"_id\":\"Agent\",\"_rev\":\"-1016023191\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"innerTreeOnly\":false,\"nodes\":{\"a87ff679-a2f3-371d-9181-a67b7542122c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Agent Data Store Decision\",\"nodeType\":\"AgentDataStoreDecisionNode\",\"x\":0,\"y\":0},\"e4da3b7f-bbce-3345-9777-2b0674a318d5\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a87ff679-a2f3-371d-9181-a67b7542122c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1016023191\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "676" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.750Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "553e19f23c6c9a75a743231bf71fc70b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 683, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AgentDataStoreDecisionNode/a87ff679-a2f3-371d-9181-a67b7542122c" + }, + "response": { + "bodySize": 250, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 250, + "text": "{\"_id\":\"a87ff679-a2f3-371d-9181-a67b7542122c\",\"_rev\":\"1036485453\",\"_type\":{\"_id\":\"AgentDataStoreDecisionNode\",\"name\":\"Agent Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1036485453\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "250" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.756Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "7e4d67487054b9824f2f5f0dc9aa5134", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 674, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/e4da3b7f-bbce-3345-9777-2b0674a318d5" + }, + "response": { + "bodySize": 384, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 384, + "text": "{\"_id\":\"e4da3b7f-bbce-3345-9777-2b0674a318d5\",\"_rev\":\"482303273\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"482303273\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "384" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.757Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "1a1fb51bd02699e8f2feeeaae6f6fcac", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 627, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Example" + }, + "response": { + "bodySize": 1043, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1043, + "text": "{\"_id\":\"Example\",\"_rev\":\"-536916143\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"innerTreeOnly\":false,\"nodes\":{\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\":{\"connections\":{\"outcome\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c81e728d-9d4c-3f63-af06-7f89cc14862c\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\":{\"connections\":{\"outcome\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\":{\"connections\":{\"false\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"true\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\"},\"displayName\":\"Zero Page Login Collector\",\"nodeType\":\"ZeroPageLoginNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-536916143\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1043" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.762Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "d7d9df3837bc67417cc9d5cf0185a648", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c4ca4238-a0b9-3382-8dcc-509a6f75849b" + }, + "response": { + "bodySize": 208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 208, + "text": "{\"_id\":\"c4ca4238-a0b9-3382-8dcc-509a6f75849b\",\"_rev\":\"-1271206475\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1271206475\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "208" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.768Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "0768a4505fd70b71d9a59007547f0dd4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c81e728d-9d4c-3f63-af06-7f89cc14862c" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c81e728d-9d4c-3f63-af06-7f89cc14862c\",\"_rev\":\"1201833788\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1201833788\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.768Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "0d0fdbea615e782b51c0a70594f299ed", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/cfcd2084-95d5-35ef-a6e7-dff9f98764da" + }, + "response": { + "bodySize": 208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 208, + "text": "{\"_id\":\"cfcd2084-95d5-35ef-a6e7-dff9f98764da\",\"_rev\":\"-1588216686\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1588216686\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "208" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.769Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "bb85356b5eb0687693996868fd57020f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 674, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ZeroPageLoginNode/eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3" + }, + "response": { + "bodySize": 385, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 385, + "text": "{\"_id\":\"eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3\",\"_rev\":\"1517053596\",\"passwordHeader\":\"X-OpenAM-Password\",\"referrerWhiteList\":[],\"allowWithoutReferer\":true,\"usernameHeader\":\"X-OpenAM-Username\",\"_type\":{\"_id\":\"ZeroPageLoginNode\",\"name\":\"Zero Page Login Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"Has Credentials\"},{\"id\":\"false\",\"displayName\":\"No Credentials\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1517053596\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "385" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.769Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "6a767287c1aaf949ac03cc8561f95fd2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 648, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Facebook-ProvisionIDMAccount" + }, + "response": { + "bodySize": 668, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 668, + "text": "{\"_id\":\"Facebook-ProvisionIDMAccount\",\"_rev\":\"-152060055\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"innerTreeOnly\":false,\"nodes\":{\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\"},\"displayName\":\"Facebook Social Authentication\",\"nodeType\":\"SocialFacebookNode\",\"x\":0,\"y\":0},\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision IDM Account\",\"nodeType\":\"ProvisionIdmAccountNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-152060055\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "668" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.775Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "9803dda703d6e0795240c7ec7f1ac8b2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialFacebookNode/37693cfc-7480-39e4-9d87-b8c7d8b9aacd" + }, + "response": { + "bodySize": 1332, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1332, + "text": "{\"_id\":\"37693cfc-7480-39e4-9d87-b8c7d8b9aacd\",\"_rev\":\"756891103\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"first_name\":\"givenName\",\"id\":\"iplanet-am-user-alias-list\",\"last_name\":\"sn\",\"name\":\"cn\"},\"authorizeEndpoint\":\"https://www.facebook.com/dialog/oauth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|facebook-\",\"cfgAccountMapperConfiguration\":{\"id\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"id\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|facebook-\"],\"userInfoEndpoint\":\"https://graph.facebook.com/v2.6/me?fields=name%2Cemail%2Cfirst_name%2Clast_name\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"public_profile,email\",\"provider\":\"facebook\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://graph.facebook.com/v2.12/oauth/access_token\",\"_type\":{\"_id\":\"SocialFacebookNode\",\"name\":\"Social Facebook\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"756891103\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1332" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.781Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "9382fc020480ded847631d75f1820def", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionIdmAccountNode/b6d767d2-f8ed-3d21-a44b-0e5886680cb9" + }, + "response": { + "bodySize": 318, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 318, + "text": "{\"_id\":\"b6d767d2-f8ed-3d21-a44b-0e5886680cb9\",\"_rev\":\"264081780\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionIdmAccountNode\",\"name\":\"Provision IDM Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"264081780\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "318" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.782Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "d3dd6b9c45f930831b4e0ee250ed9716", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 640, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-AnonymousUser" + }, + "response": { + "bodySize": 831, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 831, + "text": "{\"_id\":\"Google-AnonymousUser\",\"_rev\":\"1066064282\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"innerTreeOnly\":false,\"nodes\":{\"1ff1de77-4005-38da-93f4-2943881c655f\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Success URL\",\"nodeType\":\"SetSuccessUrlNode\",\"x\":0,\"y\":0},\"4e732ced-3463-306d-a0ca-9a15b6153677\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\":{\"connections\":{\"outcome\":\"1ff1de77-4005-38da-93f4-2943881c655f\"},\"displayName\":\"Map to Anonymous User\",\"nodeType\":\"AnonymousUserNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1066064282\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "831" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.789Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "56c5921ed6c177c4a7d117343b77c55f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 674, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetSuccessUrlNode/1ff1de77-4005-38da-93f4-2943881c655f" + }, + "response": { + "bodySize": 237, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 237, + "text": "{\"_id\":\"1ff1de77-4005-38da-93f4-2943881c655f\",\"_rev\":\"-85053235\",\"successUrl\":\"https://www.forgerock.com/\",\"_type\":{\"_id\":\"SetSuccessUrlNode\",\"name\":\"Success URL\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-85053235\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "237" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.800Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "c533f620aa13cf9862d047659141ee5d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/4e732ced-3463-306d-a0ca-9a15b6153677" + }, + "response": { + "bodySize": 1284, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1284, + "text": "{\"_id\":\"4e732ced-3463-306d-a0ca-9a15b6153677\",\"_rev\":\"328700129\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"328700129\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1284" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.800Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "213c076fab6bb3a5a77585311055f189", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 674, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AnonymousUserNode/8e296a06-7a37-3633-b0de-d05f5a3bf3ec" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"8e296a06-7a37-3633-b0de-d05f5a3bf3ec\",\"_rev\":\"1739808917\",\"anonymousUserName\":\"anonymous\",\"_type\":{\"_id\":\"AnonymousUserNode\",\"name\":\"Anonymous User Mapping\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1739808917\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.801Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "99dba9c3ad59c0de19527bd78369baca", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 649, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Google-DynamicAccountCreation" + }, + "response": { + "bodySize": 1729, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1729, + "text": "{\"_id\":\"Google-DynamicAccountCreation\",\"_rev\":\"-1048135735\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"innerTreeOnly\":false,\"nodes\":{\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Provision Dynamic Account\",\"nodeType\":\"ProvisionDynamicAccountNode\",\"x\":0,\"y\":0},\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\":{\"connections\":{\"outcome\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\"},\"displayName\":\"Create Password\",\"nodeType\":\"CreatePasswordNode\",\"x\":0,\"y\":0},\"33e75ff0-9dd6-31bb-a69f-351039152189\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\"},\"displayName\":\"Google Social Authentication\",\"nodeType\":\"SocialGoogleNode\",\"x\":0,\"y\":0},\"34173cb3-8f07-389d-9beb-c2ac9128303f\":{\"connections\":{\"outcome\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\":{\"connections\":{\"Reject\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"Retry\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\":{\"connections\":{\"outcome\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"c16a5320-fa47-3530-9958-3c34fd356ef5\":{\"connections\":{\"false\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"true\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1048135735\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1729" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.808Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "bc5ce74fce114ed4d62f7e8d6c41ea73", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 684, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ProvisionDynamicAccountNode/02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0" + }, + "response": { + "bodySize": 327, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 327, + "text": "{\"_id\":\"02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0\",\"_rev\":\"2002571022\",\"accountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"_type\":{\"_id\":\"ProvisionDynamicAccountNode\",\"name\":\"Provision Dynamic Account\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2002571022\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "327" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.817Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "3d991f5d9a6adc396c8a42ce98c9c4e6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SocialGoogleNode/33e75ff0-9dd6-31bb-a69f-351039152189" + }, + "response": { + "bodySize": 1285, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1285, + "text": "{\"_id\":\"33e75ff0-9dd6-31bb-a69f-351039152189\",\"_rev\":\"1821134736\",\"cfgAttributeMappingConfiguration\":{\"email\":\"mail\",\"family_name\":\"sn\",\"given_name\":\"givenName\",\"name\":\"cn\",\"sub\":\"iplanet-am-user-alias-list\"},\"authorizeEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"clientId\":\"aClientId\",\"cfgAccountProviderClass\":\"org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider\",\"clientSecret\":null,\"cfgAccountMapperClass\":\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|google-\",\"cfgAccountMapperConfiguration\":{\"sub\":\"iplanet-am-user-alias-list\"},\"authenticationIdKey\":\"sub\",\"saveUserAttributesToSession\":true,\"cfgAttributeMappingClasses\":[\"org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|iplanet-am-user-alias-list|google-\"],\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"redirectURI\":\"http://localhost:8080/am\",\"scopeString\":\"profile email\",\"provider\":\"google\",\"cfgMixUpMitigation\":false,\"basicAuth\":true,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_type\":{\"_id\":\"SocialGoogleNode\",\"name\":\"Social Google\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1821134736\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1285" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.818Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "5f3c483d1c95412b2b9654784c9b569f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreatePasswordNode/182be0c5-cdcd-3072-bb18-64cdee4d3d6e" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 224, + "text": "{\"_id\":\"182be0c5-cdcd-3072-bb18-64cdee4d3d6e\",\"_rev\":\"-1210949842\",\"minPasswordLength\":0,\"_type\":{\"_id\":\"CreatePasswordNode\",\"name\":\"Create Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1210949842\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.818Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "e5eaec0a9b84c1cd061ac11b6553adeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 686, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/34173cb3-8f07-389d-9beb-c2ac9128303f" + }, + "response": { + "bodySize": 659, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 659, + "text": "{\"_id\":\"34173cb3-8f07-389d-9beb-c2ac9128303f\",\"_rev\":\"-470328822\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-470328822\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "659" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.819Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "a98a613c7d72e149ce836dd058f9ec0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01" + }, + "response": { + "bodySize": 299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 299, + "text": "{\"_id\":\"6364d3f0-f495-36ab-9dcf-8d3b5c6e0b01\",\"_rev\":\"-171890830\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-171890830\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "299" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.819Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "3928fc0e1d6271800319928bc7253fdd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/6ea9ab1b-aa0e-3b9e-9909-4440c317e21b" + }, + "response": { + "bodySize": 222, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 222, + "text": "{\"_id\":\"6ea9ab1b-aa0e-3b9e-9909-4440c317e21b\",\"_rev\":\"-1709503699\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1709503699\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "222" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.820Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "a3bdae47c9df16fa450f23b28098f504", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 693, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/c16a5320-fa47-3530-9958-3c34fd356ef5" + }, + "response": { + "bodySize": 279, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 279, + "text": "{\"_id\":\"c16a5320-fa47-3530-9958-3c34fd356ef5\",\"_rev\":\"580379617\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"580379617\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "279" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.821Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "088953f074ae742b0a7c2e284a39861b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 639, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/HmacOneTimePassword" + }, + "response": { + "bodySize": 1456, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1456, + "text": "{\"_id\":\"HmacOneTimePassword\",\"_rev\":\"-293280187\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"innerTreeOnly\":false,\"nodes\":{\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\":{\"connections\":{\"outcome\":\"98f13708-2101-34c4-b568-7be6106a3b84\"},\"displayName\":\"HOTP Generator\",\"nodeType\":\"OneTimePasswordGeneratorNode\",\"x\":0,\"y\":0},\"3c59dc04-8e88-3024-bbe8-079a5c74d079\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"OTP Collector Decision\",\"nodeType\":\"OneTimePasswordCollectorDecisionNode\",\"x\":0,\"y\":0},\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"70efdf2e-c9b0-3607-9795-c442636b55fb\":{\"connections\":{\"outcome\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"98f13708-2101-34c4-b568-7be6106a3b84\":{\"connections\":{\"outcome\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\"},\"displayName\":\"OTP Email Sender\",\"nodeType\":\"OneTimePasswordSmtpSenderNode\",\"x\":0,\"y\":0},\"c74d97b0-1eae-357e-84aa-9d5bade97baf\":{\"connections\":{\"outcome\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-293280187\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1456" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.827Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "73ba0e8cfcf0a9c516fdef841341cc5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordGeneratorNode/1f0e3dad-9990-3345-b743-9f8ffabdffc4" + }, + "response": { + "bodySize": 221, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 221, + "text": "{\"_id\":\"1f0e3dad-9990-3345-b743-9f8ffabdffc4\",\"_rev\":\"1217170264\",\"length\":8,\"_type\":{\"_id\":\"OneTimePasswordGeneratorNode\",\"name\":\"HOTP Generator\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1217170264\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "221" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.835Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "b6d0253fbb07c98e90e2ced88bbc30ff", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 693, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordCollectorDecisionNode/3c59dc04-8e88-3024-bbe8-079a5c74d079" + }, + "response": { + "bodySize": 280, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 280, + "text": "{\"_id\":\"3c59dc04-8e88-3024-bbe8-079a5c74d079\",\"_rev\":\"-567112083\",\"passwordExpiryTime\":5,\"_type\":{\"_id\":\"OneTimePasswordCollectorDecisionNode\",\"name\":\"OTP Collector Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-567112083\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "280" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.836Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "e0de5e25c83b8345ad65d1b5d97e66b3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/6f4922f4-5568-361a-8cdf-4ad2299f6d23" + }, + "response": { + "bodySize": 238, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 238, + "text": "{\"_id\":\"6f4922f4-5568-361a-8cdf-4ad2299f6d23\",\"_rev\":\"613466196\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"613466196\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "238" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.836Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "6e11d74da63eff4e542bb251dab86520", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/70efdf2e-c9b0-3607-9795-c442636b55fb" + }, + "response": { + "bodySize": 206, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 206, + "text": "{\"_id\":\"70efdf2e-c9b0-3607-9795-c442636b55fb\",\"_rev\":\"821878048\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"821878048\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "206" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.837Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "a80b62ed18554f9e03019f23ae29d00e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 686, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/OneTimePasswordSmtpSenderNode/98f13708-2101-34c4-b568-7be6106a3b84" + }, + "response": { + "bodySize": 659, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 659, + "text": "{\"_id\":\"98f13708-2101-34c4-b568-7be6106a3b84\",\"_rev\":\"1140433090\",\"hostName\":\"mail.example.com\",\"hostPort\":25,\"emailContent\":{\"en\":\"Here is your One Time Password: '{{OTP}}'.

If you did not request this, please contact support.\"},\"emailSubject\":{\"en\":\"Your One Time Password\"},\"emailAttribute\":\"mail\",\"password\":null,\"username\":\"admin@example.com\",\"fromEmailAddress\":\"admin@example.com\",\"smsGatewayImplementationClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"sslOption\":\"SSL\",\"_type\":{\"_id\":\"OneTimePasswordSmtpSenderNode\",\"name\":\"OTP Email Sender\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1140433090\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "659" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.837Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "cee06165733bf62eec5f307cb9ebfb42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/c74d97b0-1eae-357e-84aa-9d5bade97baf" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"c74d97b0-1eae-357e-84aa-9d5bade97baf\",\"_rev\":\"-943748018\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-943748018\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.837Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "9121d8923d35f7c1fdcfa821a445b661", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PersistentCookie" + }, + "response": { + "bodySize": 1258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1258, + "text": "{\"_id\":\"PersistentCookie\",\"_rev\":\"-1882065253\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"innerTreeOnly\":false,\"nodes\":{\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\":{\"connections\":{\"outcome\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Set Persistent Cookie\",\"nodeType\":\"SetPersistentCookieNode\",\"x\":0,\"y\":0},\"aab32389-22bc-325a-af60-6eb525ffdc56\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Persistent Cookie Decision\",\"nodeType\":\"PersistentCookieDecisionNode\",\"x\":0,\"y\":0},\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\":{\"connections\":{\"outcome\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c51ce410-c124-310e-8db5-e4b97fc2af39\":{\"connections\":{\"false\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"true\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1882065253\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.844Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "5dbd320c4d4b9f5bb9819a42737efe11", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/6512bd43-d9ca-36e0-ac99-0b0a82652dca" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"6512bd43-d9ca-36e0-ac99-0b0a82652dca\",\"_rev\":\"1365565913\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1365565913\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.853Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "fd812db4990ebbbb4af3e2b83c264d03", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PersistentCookieDecisionNode/aab32389-22bc-325a-af60-6eb525ffdc56" + }, + "response": { + "bodySize": 401, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 401, + "text": "{\"_id\":\"aab32389-22bc-325a-af60-6eb525ffdc56\",\"_rev\":\"2091792219\",\"enforceClientIp\":false,\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"_type\":{\"_id\":\"PersistentCookieDecisionNode\",\"name\":\"Persistent Cookie Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2091792219\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "401" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.854Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "f6e17f46044f33f9615b9ea0a304261e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SetPersistentCookieNode/9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3" + }, + "response": { + "bodySize": 348, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 348, + "text": "{\"_id\":\"9bf31c7f-f062-336a-96d3-c8bd1f8f2ff3\",\"_rev\":\"1056905201\",\"persistentCookieName\":\"session-jwt\",\"useHttpOnlyCookie\":true,\"useSecureCookie\":false,\"idleTimeout\":5,\"hmacSigningKey\":null,\"maxLife\":5,\"_type\":{\"_id\":\"SetPersistentCookieNode\",\"name\":\"Set Persistent Cookie\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1056905201\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "348" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.854Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "9df3a128b9403ce978e84ac878167ed5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/c20ad4d7-6fe9-3759-aa27-a0c99bff6710" + }, + "response": { + "bodySize": 205, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 205, + "text": "{\"_id\":\"c20ad4d7-6fe9-3759-aa27-a0c99bff6710\",\"_rev\":\"49533813\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"49533813\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "205" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 483, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.855Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "2e7851535db7cbdac7d5015411e88ba8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c51ce410-c124-310e-8db5-e4b97fc2af39" + }, + "response": { + "bodySize": 240, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 240, + "text": "{\"_id\":\"c51ce410-c124-310e-8db5-e4b97fc2af39\",\"_rev\":\"-1504299596\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1504299596\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "240" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.855Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "e3f96be7fa1550419e4ee51b4f96d908", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformForgottenUsername" + }, + "response": { + "bodySize": 1052, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1052, + "text": "{\"_id\":\"PlatformForgottenUsername\",\"_rev\":\"460502738\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"innerTreeOnly\":false,\"nodes\":{\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"9f61408e-3afb-333e-90cd-f1b20de6f466\":{\"connections\":{\"outcome\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a684ecee-e76f-3522-b732-86a895bc8436\":{\"connections\":{\"outcome\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\":{\"connections\":{\"false\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"true\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"460502738\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1052" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.861Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "f08f80726c138a95dc8e265f4b734b97", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/72b32a1f-754b-31c0-9b36-95e0cb6cde7f" + }, + "response": { + "bodySize": 265, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 265, + "text": "{\"_id\":\"72b32a1f-754b-31c0-9b36-95e0cb6cde7f\",\"_rev\":\"-1300278465\",\"tree\":\"PlatformLogin\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1300278465\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "265" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.870Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "b225b286d95603a7b14b303c2ea27b56", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/9f61408e-3afb-333e-90cd-f1b20de6f466" + }, + "response": { + "bodySize": 437, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 437, + "text": "{\"_id\":\"9f61408e-3afb-333e-90cd-f1b20de6f466\",\"_rev\":\"-1682915712\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1682915712\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "437" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.870Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "27e431b1e5d779299b08c33f90bbc75e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a684ecee-e76f-3522-b732-86a895bc8436" + }, + "response": { + "bodySize": 474, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 474, + "text": "{\"_id\":\"a684ecee-e76f-3522-b732-86a895bc8436\",\"_rev\":\"-1018162955\",\"nodes\":[{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1018162955\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "474" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.871Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "a2cc64d8942b5e349b1acd41bff8c9d9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 681, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/b53b3a3d-6ab9-3ce0-a682-29151c9bde11" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"b53b3a3d-6ab9-3ce0-a682-29151c9bde11\",\"_rev\":\"-1599353126\",\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1599353126\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 457, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.871Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "da4df766acc84b133512cbe770581742", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d82c8d16-19ad-3176-9665-453cfb2e55f0" + }, + "response": { + "bodySize": 305, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 305, + "text": "{\"_id\":\"d82c8d16-19ad-3176-9665-453cfb2e55f0\",\"_rev\":\"104930768\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"104930768\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "305" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.877Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "d1c5ed587ba74dbe65750c7e79f6664d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformLogin" + }, + "response": { + "bodySize": 1047, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1047, + "text": "{\"_id\":\"PlatformLogin\",\"_rev\":\"-2033523620\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"innerTreeOnly\":false,\"nodes\":{\"2838023a-778d-3aec-9c21-2708f721b788\":{\"connections\":{\"outcome\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"2838023a-778d-3aec-9c21-2708f721b788\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"f457c545-a9de-388f-98ec-ee47145a72c0\":{\"connections\":{\"outcome\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Login Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2033523620\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1047" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.884Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "c968c1f4f138b130d6afde1d7c690088", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/2838023a-778d-3aec-9c21-2708f721b788" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 243, + "text": "{\"_id\":\"2838023a-778d-3aec-9c21-2708f721b788\",\"_rev\":\"1707653179\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1707653179\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "243" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.893Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "6bb59e0ac1a7c109603b26e29bf52ac1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/9a115815-4dfa-32ca-9dbd-0694a4e9bdc8" + }, + "response": { + "bodySize": 278, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 278, + "text": "{\"_id\":\"9a115815-4dfa-32ca-9dbd-0694a4e9bdc8\",\"_rev\":\"-1613803341\",\"tree\":\"PlatformProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1613803341\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "278" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.894Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "5a1f859044d5ab1cf29f1c4aea97c424", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c0c7c76d-30bd-3dca-afc9-6f40275bdc0a" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c0c7c76d-30bd-3dca-afc9-6f40275bdc0a\",\"_rev\":\"1478640305\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1478640305\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.894Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "248098d0b2d5a0d71474eea0f9bff734", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/f457c545-a9de-388f-98ec-ee47145a72c0" + }, + "response": { + "bodySize": 711, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 711, + "text": "{\"_id\":\"f457c545-a9de-388f-98ec-ee47145a72c0\",\"_rev\":\"-202662309\",\"nodes\":[{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-202662309\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "711" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.895Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "d42ea564d9bf407bfa32546f448ee555", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"67c6a1e7-ce56-33d6-ba74-8ab6d9af3fd7\",\"_rev\":\"128653632\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"128653632\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.902Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "e79bb6e4db3a5c2ec1249075a2ab51d3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/642e92ef-b794-3173-8881-b53e1e1b18b6" + }, + "response": { + "bodySize": 260, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 260, + "text": "{\"_id\":\"642e92ef-b794-3173-8881-b53e1e1b18b6\",\"_rev\":\"-1790782773\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1790782773\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "260" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.903Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "6f0bb9456d686b254a8fd6ccdfd2028a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformProgressiveProfile" + }, + "response": { + "bodySize": 1119, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1119, + "text": "{\"_id\":\"PlatformProgressiveProfile\",\"_rev\":\"-686533928\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"innerTreeOnly\":false,\"nodes\":{\"17e62166-fc85-36df-a4d1-bc0e1742c08b\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":0,\"y\":0},\"6c8349cc-7260-3e62-a3b1-396831a8398f\":{\"connections\":{\"outcome\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":0,\"y\":0},\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Prompt for missing preferences on 3rd login\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-686533928\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1119" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.909Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "aa129614713fc11b13775ab701e2cac1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/17e62166-fc85-36df-a4d1-bc0e1742c08b" + }, + "response": { + "bodySize": 376, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 376, + "text": "{\"_id\":\"17e62166-fc85-36df-a4d1-bc0e1742c08b\",\"_rev\":\"511839934\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"511839934\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "376" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.916Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "3d1421f93663d440136e81643cbd2389", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/6c8349cc-7260-3e62-a3b1-396831a8398f" + }, + "response": { + "bodySize": 404, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 404, + "text": "{\"_id\":\"6c8349cc-7260-3e62-a3b1-396831a8398f\",\"_rev\":\"-1655043290\",\"nodes\":[{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1655043290\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "404" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.917Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "1ba2c27779385fcb9e3beb284e0e49bc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/a1d0c6e8-3f02-3327-9846-1063f4ac58a6" + }, + "response": { + "bodySize": 300, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 300, + "text": "{\"_id\":\"a1d0c6e8-3f02-3327-9846-1063f4ac58a6\",\"_rev\":\"-1735965231\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1735965231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "300" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 457, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.918Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "307e64c580ecd37e03506e639659aaa8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d9d4f495-e875-32e0-b5a1-a4a6e1b9770f" + }, + "response": { + "bodySize": 340, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 340, + "text": "{\"_id\":\"d9d4f495-e875-32e0-b5a1-a4a6e1b9770f\",\"_rev\":\"712832963\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"712832963\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "340" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.918Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "fba81180f9b581cea03770e6f9de04e5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/f7177163-c833-3ff4-b38f-c8d2872f1ec6" + }, + "response": { + "bodySize": 351, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 351, + "text": "{\"_id\":\"f7177163-c833-3ff4-b38f-c8d2872f1ec6\",\"_rev\":\"-1799080778\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1799080778\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "351" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.926Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "b7be51430c052151da7a50827977cb0c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 640, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformRegistration" + }, + "response": { + "bodySize": 819, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 819, + "text": "{\"_id\":\"PlatformRegistration\",\"_rev\":\"1526211113\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"innerTreeOnly\":false,\"nodes\":{\"3416a75f-4cea-3109-907c-acd8e2f2aefc\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":0,\"y\":0},\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\":{\"connections\":{\"CREATED\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":0,\"y\":0},\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\":{\"connections\":{\"outcome\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0}},\"description\":\"Platform Registration Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1526211113\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "819" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.936Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "9950ed10f15360083cafa67a901615c1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 680, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/3416a75f-4cea-3109-907c-acd8e2f2aefc" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 243, + "text": "{\"_id\":\"3416a75f-4cea-3109-907c-acd8e2f2aefc\",\"_rev\":\"1743893705\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1743893705\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "243" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.944Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "3c31e8e0cebc9abd0757a15e48bb71f3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/d645920e-395f-3dad-bbbb-ed0eca3fe2e0" + }, + "response": { + "bodySize": 271, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 271, + "text": "{\"_id\":\"d645920e-395f-3dad-bbbb-ed0eca3fe2e0\",\"_rev\":\"1895090878\",\"identityResource\":\"managed/user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1895090878\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "271" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.944Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "bfa8061976dd2c61aa7355802b64a2af", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/d67d8ab4-f4c1-3bf2-aaa3-53e27879133c" + }, + "response": { + "bodySize": 959, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 959, + "text": "{\"_id\":\"d67d8ab4-f4c1-3bf2-aaa3-53e27879133c\",\"_rev\":\"-1037301643\",\"nodes\":[{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account?Sign In\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1037301643\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "959" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.945Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "a1cf1e8dcf795ae2018229b61fe7e95f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/e369853d-f766-3a44-a1ed-0ff613f563bd" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"e369853d-f766-3a44-a1ed-0ff613f563bd\",\"_rev\":\"-1365755177\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1365755177\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.953Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "7f794598a08d975051dc8e0c00794674", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/19ca14e7-ea63-38a4-ae0e-b13d585e4c22" + }, + "response": { + "bodySize": 371, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 371, + "text": "{\"_id\":\"19ca14e7-ea63-38a4-ae0e-b13d585e4c22\",\"_rev\":\"790804755\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"790804755\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "371" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.954Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "c1b3a1f611fd40698634288945a8531a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/1c383cd3-0b7c-398a-b502-93adfecb7b18" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"1c383cd3-0b7c-398a-b502-93adfecb7b18\",\"_rev\":\"-347683889\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-347683889\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.954Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "a06cc957ce7be1b39c3c73b83e298508", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 670, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/a5bfc9e0-7964-38dd-9eb9-5fc584cd965d" + }, + "response": { + "bodySize": 275, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 275, + "text": "{\"_id\":\"a5bfc9e0-7964-38dd-9eb9-5fc584cd965d\",\"_rev\":\"-1855541828\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1855541828\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "275" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.954Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "255a77f3817bf5b850c02b1c7822e498", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/a5771bce-93e2-30c3-af7c-d9dfd0e5deaa" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 224, + "text": "{\"_id\":\"a5771bce-93e2-30c3-af7c-d9dfd0e5deaa\",\"_rev\":\"-1310629925\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1310629925\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.955Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "5cfbcdaf97990a66929900d3b5be3a60", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 641, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformResetPassword" + }, + "response": { + "bodySize": 1201, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1201, + "text": "{\"_id\":\"PlatformResetPassword\",\"_rev\":\"1171487776\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"innerTreeOnly\":false,\"nodes\":{\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\":{\"connections\":{\"outcome\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"072b030b-a126-32f4-b237-4f342be9ed44\":{\"connections\":{\"false\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"true\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"093f65e0-80a2-35f8-876b-1c5722a46aa2\":{\"connections\":{\"outcome\":\"072b030b-a126-32f4-b237-4f342be9ed44\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"7f39f831-7fbd-3198-8ef4-c628eba02591\":{\"connections\":{\"outcome\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0}},\"description\":\"Reset Password Tree\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1171487776\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1201" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.961Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "a1e27df60480f4a0b76959a21b7448e2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/03afdbd6-6e79-39b1-a5f8-597834fa83a4" + }, + "response": { + "bodySize": 407, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 407, + "text": "{\"_id\":\"03afdbd6-6e79-39b1-a5f8-597834fa83a4\",\"_rev\":\"-1578060484\",\"nodes\":[{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1578060484\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "407" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.967Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "2dadef18cac1a52b14b601c90649823a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 681, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/072b030b-a126-32f4-b237-4f342be9ed44" + }, + "response": { + "bodySize": 295, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 295, + "text": "{\"_id\":\"072b030b-a126-32f4-b237-4f342be9ed44\",\"_rev\":\"-77719538\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-77719538\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "295" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.968Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "759e0d16ec3b6557c6aaeca2ab9acae2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/093f65e0-80a2-35f8-876b-1c5722a46aa2" + }, + "response": { + "bodySize": 469, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 469, + "text": "{\"_id\":\"093f65e0-80a2-35f8-876b-1c5722a46aa2\",\"_rev\":\"1522661276\",\"nodes\":[{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1522661276\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "469" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.968Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "061246a49d110e8d3fefde05adb34ca2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/7f39f831-7fbd-3198-8ef4-c628eba02591" + }, + "response": { + "bodySize": 433, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 433, + "text": "{\"_id\":\"7f39f831-7fbd-3198-8ef4-c628eba02591\",\"_rev\":\"-1395544271\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1395544271\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "433" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.969Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "8e1d9c600ae0e454e10b87948b32cba6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/ea5d2f1c-4608-332e-87d3-aa3d998e5135" + }, + "response": { + "bodySize": 336, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 336, + "text": "{\"_id\":\"ea5d2f1c-4608-332e-87d3-aa3d998e5135\",\"_rev\":\"875182106\",\"identityResource\":\"managed/user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"875182106\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "336" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.969Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "afa893c9862ea88975a77036f7c1ec15", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/44f683a8-4163-3352-bafe-57c2e008bc8c" + }, + "response": { + "bodySize": 258, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 258, + "text": "{\"_id\":\"44f683a8-4163-3352-bafe-57c2e008bc8c\",\"_rev\":\"1323058199\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1323058199\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "258" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.975Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "2573af8394010afccff10cdb360fec89", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/66f041e1-6a60-328b-85a7-e228a89c3799" + }, + "response": { + "bodySize": 306, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 306, + "text": "{\"_id\":\"66f041e1-6a60-328b-85a7-e228a89c3799\",\"_rev\":\"-415466582\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-415466582\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "306" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.976Z", + "time": 1, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1 + } + }, + { + "_id": "ed01f4c89c40f0bee2ffd9b34f78e998", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 642, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/PlatformUpdatePassword" + }, + "response": { + "bodySize": 1639, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1639, + "text": "{\"_id\":\"PlatformUpdatePassword\",\"_rev\":\"433260882\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"innerTreeOnly\":false,\"nodes\":{\"14bfa6bb-1487-3e45-bba0-28a21ed38046\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\":{\"connections\":{\"false\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"true\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":0,\"y\":0},\"32bb90e8-976a-3b52-98d5-da10fe66f21d\":{\"connections\":{\"outcome\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\"},\"displayName\":\"Email Suspend\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0},\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\":{\"connections\":{\"outcome\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":0,\"y\":0},\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\":{\"connections\":{\"outcome\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\":{\"connections\":{\"outcome\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":0,\"y\":0}},\"description\":\"Update password using active session\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"433260882\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1639" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.982Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "9a3b97d1b3f2810bf4ad0691e5b98ab6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/14bfa6bb-1487-3e45-bba0-28a21ed38046" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"14bfa6bb-1487-3e45-bba0-28a21ed38046\",\"_rev\":\"1309752765\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1309752765\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.989Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "874153f3059f3a46725de179b6218f2d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/3295c76a-cbf4-3aae-933c-36b1b5fc2cb1" + }, + "response": { + "bodySize": 315, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 315, + "text": "{\"_id\":\"3295c76a-cbf4-3aae-933c-36b1b5fc2cb1\",\"_rev\":\"-1874082022\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1874082022\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "315" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.990Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "97e33389e1a76fff08f06c9abb659dee", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/32bb90e8-976a-3b52-98d5-da10fe66f21d" + }, + "response": { + "bodySize": 485, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 485, + "text": "{\"_id\":\"32bb90e8-976a-3b52-98d5-da10fe66f21d\",\"_rev\":\"-529786920\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-529786920\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "485" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.990Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "3d0d7bbf12a3ea219c3108207a97822f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db" + }, + "response": { + "bodySize": 422, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 422, + "text": "{\"_id\":\"a3f390d8-8e4c-31f2-b47b-fa2f1b5f87db\",\"_rev\":\"384347514\",\"nodes\":[{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"384347514\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "422" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.991Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "8f276abe20e77f0b5d254f3f8aaa1521", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d2ddea18-f006-35ce-8623-e36bd4e3c7c5" + }, + "response": { + "bodySize": 349, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 349, + "text": "{\"_id\":\"d2ddea18-f006-35ce-8623-e36bd4e3c7c5\",\"_rev\":\"894949571\",\"identityResource\":\"managed/user\",\"patchAsObject\":true,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"894949571\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "349" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.991Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "f4e18f6cfa3a29ad4d90a1369e5be701", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/fc490ca4-5c00-3124-9bbe-3554a4fdf6fb" + }, + "response": { + "bodySize": 256, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 256, + "text": "{\"_id\":\"fc490ca4-5c00-3124-9bbe-3554a4fdf6fb\",\"_rev\":\"-852986593\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-852986593\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "256" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.992Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "e188e492a9ffc8368f8ada56bb3fa694", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PageNode/e2c420d9-28d4-3f8c-a0ff-2ec19b371514" + }, + "response": { + "bodySize": 410, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 410, + "text": "{\"_id\":\"e2c420d9-28d4-3f8c-a0ff-2ec19b371514\",\"_rev\":\"-895759180\",\"nodes\":[{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"stage\":\"null\",\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-895759180\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "410" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:43.992Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "d6247990720cee63ca442194f133ee42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/735b90b4-5681-35ed-ac3f-678819b6e058" + }, + "response": { + "bodySize": 259, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 259, + "text": "{\"_id\":\"735b90b4-5681-35ed-ac3f-678819b6e058\",\"_rev\":\"-611727803\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-611727803\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "259" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.002Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "470698a5c6e03a254958c563676f499c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/7cbbc409-ec99-3f19-878c-75bd1e06f215" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"7cbbc409-ec99-3f19-878c-75bd1e06f215\",\"_rev\":\"502723459\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"502723459\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "257" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.003Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "2f6cc4a6820bd184162b0835933b33bb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 630, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/RetryLimit" + }, + "response": { + "bodySize": 1231, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1231, + "text": "{\"_id\":\"RetryLimit\",\"_rev\":\"-1417605028\",\"identityResource\":\"null\",\"uiConfig\":{},\"entryNodeId\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"innerTreeOnly\":false,\"nodes\":{\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\":{\"connections\":{\"outcome\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\"},\"displayName\":\"User Name Collector\",\"nodeType\":\"UsernameCollectorNode\",\"x\":0,\"y\":0},\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\":{\"connections\":{\"Reject\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"Retry\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":0,\"y\":0},\"8f14e45f-ceea-367a-9a36-dedd4bea2543\":{\"connections\":{\"outcome\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":0,\"y\":0},\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\":{\"connections\":{\"false\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":0,\"y\":0},\"d3d94468-02a4-3259-b55d-38e6d163e820\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":0,\"y\":0}},\"description\":\"null\",\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1417605028\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1231" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 487, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.010Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "8dfa49e1b937e70797cf4659a005ef3b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/UsernameCollectorNode/1679091c-5a88-3faf-afb5-e6087eb1b2dc" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"1679091c-5a88-3faf-afb5-e6087eb1b2dc\",\"_rev\":\"1991543646\",\"_type\":{\"_id\":\"UsernameCollectorNode\",\"name\":\"Username Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1991543646\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.016Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "fef02e0d0bd281883adc03ba67a0f65a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 679, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"45c48cce-2e2d-3fbd-aa1a-fc51c7c6ad26\",\"_rev\":\"376925853\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":3,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"376925853\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.017Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "f08abf7b53c9d27d0a40139d7ac0326f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/8f14e45f-ceea-367a-9a36-dedd4bea2543" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"8f14e45f-ceea-367a-9a36-dedd4bea2543\",\"_rev\":\"1844311587\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1844311587\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.017Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "c3a46fc9185bcfd7ec33a65a50971526", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/c9f0f895-fb98-3b91-99f5-1fd0297e236d" + }, + "response": { + "bodySize": 239, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 239, + "text": "{\"_id\":\"c9f0f895-fb98-3b91-99f5-1fd0297e236d\",\"_rev\":\"1366894111\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1366894111\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "239" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.018Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "337794ee44e0c7447afb92e5b30aa977", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/d3d94468-02a4-3259-b55d-38e6d163e820" + }, + "response": { + "bodySize": 221, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 221, + "text": "{\"_id\":\"d3d94468-02a4-3259-b55d-38e6d163e820\",\"_rev\":\"2057819892\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2057819892\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "221" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.018Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "4eed5fa28710f528e622f01568a1d121", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/trees/Test%20Tree" + }, + "response": { + "bodySize": 500, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 500, + "text": "{\"_id\":\"Test Tree\",\"_rev\":\"-701879303\",\"uiConfig\":{},\"entryNodeId\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"innerTreeOnly\":false,\"nodes\":{\"0254ab35-daea-40db-9a53-44fc06715e48\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Password Collector\",\"nodeType\":\"PasswordCollectorNode\",\"x\":150,\"y\":20}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":447,\"y\":49},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":577,\"y\":71},\"startNode\":{\"x\":50,\"y\":25}},\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-701879303\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "500" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.024Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "c11d76825f99f502d91867a213b5c086", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 678, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/authentication/authenticationtrees/nodes/PasswordCollectorNode/0254ab35-daea-40db-9a53-44fc06715e48" + }, + "response": { + "bodySize": 207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 207, + "text": "{\"_id\":\"0254ab35-daea-40db-9a53-44fc06715e48\",\"_rev\":\"-286173771\",\"_type\":{\"_id\":\"PasswordCollectorNode\",\"name\":\"Password Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-286173771\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "207" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.031Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "0861dc086f5c5bee16b6181e8f017819", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 579, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/policies?_queryFilter=true" + }, + "response": { + "bodySize": 137, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "137" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.040Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "e6620028102bee7851caf52454436e91", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 669, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + }, + "response": { + "bodySize": 1058, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1058, + "text": "{\"result\":[{\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceComparator\":null,\"creationDate\":1578580064992,\"lastModifiedDate\":1728509790191,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"applicationType\":\"iPlanetAMWebAgentService\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=2.1, resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1058" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 493, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.046Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "26039f1e4e2d0a1253dca583cff9a80a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 668, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + }, + "response": { + "bodySize": 996, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 996, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790156},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAM Policies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1728509790171}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=1.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "996" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 492, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.055Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "c96e209b06c3940c674889c174e176c5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/scripts?_queryFilter=true" + }, + "response": { + "bodySize": 176322, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 176322, + "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCmltcG9ydCBjb20uaXBsYW5ldC5zc28uU1NPRXhjZXB0aW9uCmltcG9ydCBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFJlcG9FeGNlcHRpb24KaW1wb3J0IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbgppbXBvcnQgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcwppbXBvcnQgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltCgovKgoqIERlZmluZWQgdmFyaWFibGVzOgoqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50cywgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlCiogY2xhaW1zIC0gYWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcyAtIE1hcDxTdHJpbmcsIE9iamVjdD4KKiBjbGFpbU9iamVjdHMgLSBhbHdheXMgcHJlc2VudCwgZGVmYXVsdCBzZXJ2ZXIgcHJvdmlkZWQgY2xhaW1zIC0gTGlzdDxDbGFpbT4KKiBzZXNzaW9uIC0gcHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QKKiBpZGVudGl0eSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyCiogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiogc2NyaXB0TmFtZSAtIGFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQKKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0VXJpIC0gdGhlIHJlcXVlc3QgVVJJCiogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIHRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8KKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKKiAgICAgICAgICAgICAgICAgICAgIG1vcmUgcHJvcGVydGllcy4gUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBzaG91bGQgYmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggT1dBU1AgYmVzdCBwcmFjdGljZXMuCiogY2xpZW50UHJvcGVydGllcyAtIHByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgoqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKQoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgY2xpZW50CiogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAoqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQKKiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUHJvcGVydGllcyAtIEEgbWFwIG9mIHRoZSBjdXN0b20gcHJvcGVydGllcyBvZiB0aGUgY2xpZW50LgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TWFwW0tleTFdPVZhbHVlMSB3aWxsIGJlIHJldHVybmVkIGFzIHRlc3RtYXAgLT4gS2V5MSAtPiBWYWx1ZTEKKiByZXF1ZXN0ZWRDbGFpbXMgLSBNYXA8U3RyaW5nLCBTZXQ8U3RyaW5nPj4KKiAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkLCBtYXAgb2YgcmVxdWVzdGVkIGNsYWltcyB0byBwb3NzaWJsZSB2YWx1ZXMsIG90aGVyd2lzZSBlbXB0eSwKKiAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAoqICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgdmFsdWUgaW4gaXRzIFNldCBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+CiogICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBwcmVzZW50LCBub3QgZW1wdHkgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgYSBjbGFpbXMgcGFyYW1ldGVyIGFuZCBzZXJ2ZXIgaGFzIGVuYWJsZWQKKiAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1zX3BhcmFtZXRlcl9zdXBwb3J0ZWQsIGxpc3Qgb2YgcmVxdWVzdGVkIGNsYWltcyB3aXRoIGNsYWltIG5hbWUsIHJlcXVlc3RlZCBwb3NzaWJsZSB2YWx1ZXMKKiAgICAgICAgICAgICAgICAgICAgICAgYW5kIGlmIGNsYWltIGlzIGVzc2VudGlhbCwgb3RoZXJ3aXNlIGVtcHR5LAoqICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQgY2xhaW1zIHdpdGggbm8gcmVxdWVzdGVkIHZhbHVlcyB3aWxsIGhhdmUgYSBjbGFpbSB3aXRoIG5vIHZhbHVlcy4gQSBjbGFpbXMgd2l0aAoqICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbmRpY2F0ZXMgdGhpcyBpcyB0aGUgb25seSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZC4KKiBjbGFpbXNMb2NhbGVzIC0gdGhlIHZhbHVlcyBmcm9tIHRoZSAnY2xhaW1zX2xvY2FsZXMnIHBhcmFtZXRlciAtIExpc3Q8U3RyaW5nPgoqIFJlcXVpcmVkIHRvIHJldHVybiBhIE1hcCBvZiBjbGFpbXMgdG8gYmUgYWRkZWQgdG8gdGhlIGlkX3Rva2VuIGNsYWltcwoqCiogRXhwZWN0ZWQgcmV0dXJuIHZhbHVlIHN0cnVjdHVyZToKKiBVc2VySW5mb0NsYWltcyB7CiogICAgTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXM7IC8vIFRoZSB2YWx1ZXMgb2YgdGhlIGNsYWltcyBmb3IgdGhlIHVzZXIgaW5mb3JtYXRpb24KKiAgICBNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGNvbXBvc2l0ZVNjb3BlczsgLy8gTWFwcGluZyBvZiBzY29wZSBuYW1lIHRvIGEgbGlzdCBvZiBjbGFpbSBuYW1lcy4KKiB9CiovCgovLyB1c2VyIHNlc3Npb24gbm90IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudApib29sZWFuIHNlc3Npb25QcmVzZW50ID0gc2Vzc2lvbiAhPSBudWxsCgovKgogKiBQdWxscyBmaXJzdCB2YWx1ZSBmcm9tIHVzZXJzIHByb2ZpbGUgYXR0cmlidXRlCiAqCiAqIEBwYXJhbSBjbGFpbSBUaGUgY2xhaW0gb2JqZWN0LgogKiBAcGFyYW0gYXR0ciBUaGUgcHJvZmlsZSBhdHRyaWJ1dGUgbmFtZS4KICovCmRlZiBmcm9tU2V0ID0geyBjbGFpbSwgYXR0ciAtPgogICAgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA9PSAxKXsKICAgICAgICBhdHRyLml0ZXJhdG9yKCkubmV4dCgpCiAgICB9IGVsc2UgaWYgKGF0dHIgIT0gbnVsbCAmJiBhdHRyLnNpemUoKSA+IDEpewogICAgICAgIGF0dHIKICAgIH0gZWxzZSBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogR290IGFuIGVtcHR5IHJlc3VsdCBmb3IgY2xhaW09JGNsYWltIik7CiAgICB9Cn0KCi8vIC0tLXZ2dnZ2dnZ2dnYtLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLXZ2dnZ2dnZ2dnYtLS0KLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBmcm9tIGl0cyByZXF1ZXN0ZWQgdmFsdWVzLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNsYWltIGhhcyBvbmUgcmVxdWVzdGVkIHZhbHVlcywgb3RoZXJ3aXNlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAqLwpkZWZhdWx0Q2xhaW1SZXNvbHZlciA9IHsgY2xhaW0gLT4KICAgIGlmIChjbGFpbS5nZXRWYWx1ZXMoKS5zaXplKCkgPT0gMSkgewogICAgICAgIFsoY2xhaW0uZ2V0TmFtZSgpKTogY2xhaW0uZ2V0VmFsdWVzKCkuaXRlcmF0b3IoKS5uZXh0KCldCiAgICB9IGVsc2UgewogICAgICAgIFs6XQogICAgfQp9CgovKgogKiBDbGFpbSByZXNvbHZlciB3aGljaCByZXNvbHZlcyB0aGUgdmFsdWUgb2YgdGhlIGNsYWltIGJ5IGxvb2tpbmcgdXAgdGhlIHVzZXIncyBwcm9maWxlLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIHRoZSBjbGFpbSBpZjoKICogIyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIGlzIG5vdCBudWxsCiAqICMgQU5EIHRoZSBjbGFpbSBjb250YWlucyBubyByZXF1ZXN0ZWQgdmFsdWVzCiAqICMgT1IgdGhlIGNsYWltIGNvbnRhaW5zIHJlcXVlc3RlZCB2YWx1ZXMgYW5kIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyJ3MgcHJvZmlsZSBpcyBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICoKICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCnVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsICYmIChjbGFpbS5nZXRWYWx1ZXMoKSA9PSBudWxsIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogdXNlclByb2ZpbGVWYWx1ZV0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBvZiB0aGUgdXNlcidzIGFkZHJlc3MuCiAqCiAqIFRoaXMgcmVzb2x2ZXIgd2lsbCByZXR1cm4gYSB2YWx1ZSBmb3IgdGhlIGNsYWltIGlmOgogKiAjIHRoZSB2YWx1ZSBvZiB0aGUgYWRkcmVzcyBpcyBub3QgbnVsbAogKgogKi8KdXNlckFkZHJlc3NDbGFpbVJlc29sdmVyID0geyBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgYWRkcmVzc0Zvcm1hdHRlZFZhbHVlID0gZnJvbVNldChjbGFpbS5nZXROYW1lKCksIGlkZW50aXR5LmdldEF0dHJpYnV0ZSgicG9zdGFsYWRkcmVzcyIpKQogICAgICAgIGlmIChhZGRyZXNzRm9ybWF0dGVkVmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgICAgICJmb3JtYXR0ZWQiIDogYWRkcmVzc0Zvcm1hdHRlZFZhbHVlCiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9CiAgICBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggcmVzb2x2ZXMgdGhlIHZhbHVlIG9mIHRoZSBjbGFpbSBieSBsb29raW5nIHVwIHRoZSB1c2VyJ3MgcHJvZmlsZS4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHJldHVybiBhIHZhbHVlIGZvciB0aGUgY2xhaW0gaWY6CiAqICMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSBpcyBub3QgbnVsbAogKiAjIEFORCB0aGUgY2xhaW0gY29udGFpbnMgbm8gcmVxdWVzdGVkIHZhbHVlcwogKiAjIE9SIHRoZSBjbGFpbSBjb250YWlucyByZXF1ZXN0ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgZnJvbSB0aGUgdXNlcidzIHByb2ZpbGUgaXMgaW4gdGhlIGxpc3Qgb2YgdmFsdWVzCiAqCiAqIElmIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwgYW5kIG5vIHZhbHVlIGlzIGZvdW5kIGFuIEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGFuZCByZXR1cm5lZCB0byB0aGUgdXNlci4KICogSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmVzc2VudGlhbENsYWltUmVzb2x2ZXIgPSB7IGF0dHJpYnV0ZSwgY2xhaW0sIGlkZW50aXR5IC0+CiAgICBpZiAoaWRlbnRpdHkgIT0gbnVsbCkgewogICAgICAgIHVzZXJQcm9maWxlVmFsdWUgPSBmcm9tU2V0KGNsYWltLmdldE5hbWUoKSwgaWRlbnRpdHkuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkpCiAgICAgICAgaWYgKGNsYWltLmlzRXNzZW50aWFsKCkgJiYgKHVzZXJQcm9maWxlVmFsdWUgPT0gbnVsbCB8fCB1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCJDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltICRjbGFpbSIpCiAgICAgICAgfQogICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICE9IG51bGwgJiYgKGNsYWltLmdldFZhbHVlcygpID09IG51bGwgfHwgY2xhaW0uZ2V0VmFsdWVzKCkuaXNFbXB0eSgpIHx8IGNsYWltLmdldFZhbHVlcygpLmNvbnRhaW5zKHVzZXJQcm9maWxlVmFsdWUpKSkgewogICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiB1c2VyUHJvZmlsZVZhbHVlXQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBbOl0KfQoKLyoKICogQ2xhaW0gcmVzb2x2ZXIgd2hpY2ggZXhwZWN0cyB0aGUgdXNlcidzIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlIHRvIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogKiAibGFuZ3VhZ2VfdGFnfHZhbHVlX2Zvcl9sYW5ndWFnZSwuLi4iLgogKgogKiBUaGlzIHJlc29sdmVyIHdpbGwgdGFrZSB0aGUgbGlzdCBvZiByZXF1ZXN0ZWQgbGFuZ3VhZ2VzIGZyb20gdGhlICdjbGFpbXNfbG9jYWxlcycgYXV0aG9yaXplIHJlcXVlc3QKICogcGFyYW1ldGVyIGFuZCBhdHRlbXB0IHRvIG1hdGNoIGl0IHRvIGEgdmFsdWUgZnJvbSB0aGUgdXNlcnMnIHByb2ZpbGUgYXR0cmlidXRlLgogKiBJZiBubyBtYXRjaCBpcyBmb3VuZCBhbiBleGNlcHRpb24gaXMgdGhyb3duLgogKi8KY2xhaW1Mb2NhbGVzQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgbG9jYWxlID0gY2xhaW1zTG9jYWxlcy5maW5kIHsgbG9jYWxlIC0+IGxvY2FsZVZhbHVlcy5jb250YWluc0tleShsb2NhbGUpIH0KICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBsb2NhbGVWYWx1ZXMuZ2V0KGxvY2FsZSldCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gWzpdCn0KCi8qCiAqIENsYWltIHJlc29sdmVyIHdoaWNoIGV4cGVjdHMgdGhlIHVzZXIncyBwcm9maWxlIGF0dHJpYnV0ZSB2YWx1ZSB0byBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKICogImxhbmd1YWdlX3RhZ3x2YWx1ZV9mb3JfbGFuZ3VhZ2UsLi4uIi4KICoKICogVGhpcyByZXNvbHZlciB3aWxsIHRha2UgdGhlIGxhbmd1YWdlIHRhZyBzcGVjaWZpZWQgaW4gdGhlIGNsYWltIG9iamVjdCBhbmQgYXR0ZW1wdCB0byBtYXRjaCBpdCB0byBhIHZhbHVlCiAqIGZyb20gdGhlIHVzZXJzJyBwcm9maWxlIGF0dHJpYnV0ZS4gSWYgbm8gbWF0Y2ggaXMgZm91bmQgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4KICovCmxhbmd1YWdlVGFnQ2xhaW1SZXNvbHZlciA9IHsgYXR0cmlidXRlLCBjbGFpbSwgaWRlbnRpdHkgLT4KICAgIGlmIChpZGVudGl0eSAhPSBudWxsKSB7CiAgICAgICAgdXNlclByb2ZpbGVWYWx1ZSA9IGZyb21TZXQoY2xhaW0uZ2V0TmFtZSgpLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSkKICAgICAgICBpZiAodXNlclByb2ZpbGVWYWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGxvY2FsZVZhbHVlcyA9IHBhcnNlTG9jYWxlQXdhcmVTdHJpbmcodXNlclByb2ZpbGVWYWx1ZSkKICAgICAgICAgICAgaWYgKGNsYWltLmdldExvY2FsZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGVWYWx1ZXMuY29udGFpbnNLZXkoY2xhaW0uZ2V0TG9jYWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsoY2xhaW0uZ2V0TmFtZSgpKTogbG9jYWxlVmFsdWVzLmdldChjbGFpbS5nZXRMb2NhbGUoKSldCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gbG9jYWxlVmFsdWVzLmVudHJ5U2V0KCkuaXRlcmF0b3IoKS5uZXh0KCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkgKyAiIyIgKyBlbnRyeS5nZXRLZXkoKSk6IGVudHJ5LmdldFZhbHVlKCldCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlbnRyeSA9IGxvY2FsZVZhbHVlcy5lbnRyeVNldCgpLml0ZXJhdG9yKCkubmV4dCgpCiAgICAgICAgICAgICAgICByZXR1cm4gWyhjbGFpbS5nZXROYW1lKCkpOiBlbnRyeS5nZXRWYWx1ZSgpXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFs6XQp9CgovKgogKiBHaXZlbiBhIHN0cmluZyAiZW58RW5nbGlzaCxqcHxKYXBlbmVzZSxmcl9DQXxGcmVuY2ggQ2FuYWRpYW4iIHdpbGwgcmV0dXJuIG1hcCBvZiBsb2NhbGUgLT4gdmFsdWUuCiAqLwpwYXJzZUxvY2FsZUF3YXJlU3RyaW5nID0geyBzIC0+CiAgICByZXR1cm4gcmVzdWx0ID0gcy5zcGxpdCgiLCIpLmNvbGxlY3RFbnRyaWVzIHsgZW50cnkgLT4KICAgICAgICBzcGxpdCA9IGVudHJ5LnNwbGl0KCJcXHwiKQogICAgICAgIFsoc3BsaXRbMF0pOiB2YWx1ZSA9IHNwbGl0WzFdXQogICAgfQp9Ci8vIC0tLV5eXl5eXl5eXl4tLS0gRVhBTVBMRSBDTEFJTSBBVFRSSUJVVEUgUkVTT0xWRVIgRlVOQ1RJT05TIC0tLV5eXl5eXl5eXl4tLS0KCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBDTEFJTSBUTyBBVFRSSUJVVEUgTUFQUElORyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tCi8qCiAqIExpc3Qgb2YgY2xhaW0gcmVzb2x2ZXIgbWFwcGluZ3MuCiAqLwovLyBbIHtjbGFpbX06IHthdHRyaWJ1dGUgcmV0cmlldmVyfSwgLi4uIF0KY2xhaW1BdHRyaWJ1dGVzID0gWwogICAgICAgICJlbWFpbCI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgibWFpbCIpLAogICAgICAgICJhZGRyZXNzIjogeyBjbGFpbSwgaWRlbnRpdHkgLT4gWyAiYWRkcmVzcyIgOiB1c2VyQWRkcmVzc0NsYWltUmVzb2x2ZXIoY2xhaW0sIGlkZW50aXR5KSBdIH0sCiAgICAgICAgInBob25lX251bWJlciI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgidGVsZXBob25lbnVtYmVyIiksCiAgICAgICAgImdpdmVuX25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImdpdmVubmFtZSIpLAogICAgICAgICJ6b25laW5mbyI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkdGltZXpvbmUiKSwKICAgICAgICAiZmFtaWx5X25hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoInNuIiksCiAgICAgICAgImxvY2FsZSI6IHVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlci5jdXJyeSgicHJlZmVycmVkbG9jYWxlIiksCiAgICAgICAgIm5hbWUiOiB1c2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIuY3VycnkoImNuIikKXQoKCi8vIC0tLS0tLS0tLS0tLS0tIFVQREFURSBUSElTIFRPIENIQU5HRSBTQ09QRSBUTyBDTEFJTSBNQVBQSU5HUyAtLS0tLS0tLS0tLS0tLQovKgogKiBNYXAgb2Ygc2NvcGVzIHRvIGNsYWltIG9iamVjdHMuCiAqLwovLyB7c2NvcGV9OiBbIHtjbGFpbX0sIC4uLiBdCnNjb3BlQ2xhaW1zTWFwID0gWwogICAgICAgICJlbWFpbCI6IFsgImVtYWlsIiBdLAogICAgICAgICJhZGRyZXNzIjogWyAiYWRkcmVzcyIgXSwKICAgICAgICAicGhvbmUiOiBbICJwaG9uZV9udW1iZXIiIF0sCiAgICAgICAgInByb2ZpbGUiOiBbICJnaXZlbl9uYW1lIiwgInpvbmVpbmZvIiwgImZhbWlseV9uYW1lIiwgImxvY2FsZSIsICJuYW1lIiBdCl0KCgovLyAtLS0tLS0tLS0tLS0tLS0tIFVQREFURSBCRUxPVyBGT1IgQURWQU5DRUQgVVNBR0VTIC0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICBzY29wZXMuZmluZEFsbCB7IHMgLT4gISgib3BlbmlkIi5lcXVhbHMocykgfHwgc2NvcGVDbGFpbXNNYXAuY29udGFpbnNLZXkocykpIH0uZWFjaCB7IHMgLT4KICAgICAgICBsb2dnZXIubWVzc2FnZSgiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTo6TWVzc2FnZTogc2NvcGUgbm90IGJvdW5kIHRvIGNsYWltczogJHMiKQogICAgfQp9CgovKgogKiBDb21wdXRlcyB0aGUgY2xhaW1zIHJldHVybiBrZXkgYW5kIHZhbHVlLiBUaGUga2V5IG1heSBiZSBhIGRpZmZlcmVudCB2YWx1ZSBpZiB0aGUgY2xhaW0gdmFsdWUgaXMgbm90IGluCiAqIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UuCiAqLwpkZWYgY29tcHV0ZUNsYWltID0geyBjbGFpbSAtPgogICAgdHJ5IHsKICAgICAgICBjbGFpbVJlc29sdmVyID0gY2xhaW1BdHRyaWJ1dGVzLmdldChjbGFpbS5nZXROYW1lKCksIHsgY2xhaW1PYmosIGlkZW50aXR5IC0+IGRlZmF1bHRDbGFpbVJlc29sdmVyKGNsYWltKX0pCiAgICAgICAgY2xhaW1SZXNvbHZlcihjbGFpbSwgaWRlbnRpdHkpCiAgICB9IGNhdGNoIChJZFJlcG9FeGNlcHRpb24gZSkgewogICAgICAgIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiT3BlbkFNU2NvcGVWYWxpZGF0b3IuZ2V0VXNlckluZm8oKTogVW5hYmxlIHRvIHJldHJpZXZlIGF0dHJpYnV0ZT0kYXR0cmlidXRlIiwgZSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoU1NPRXhjZXB0aW9uIGUpIHsKICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk9wZW5BTVNjb3BlVmFsaWRhdG9yLmdldFVzZXJJbmZvKCk6IFVuYWJsZSB0byByZXRyaWV2ZSBhdHRyaWJ1dGU9JGF0dHJpYnV0ZSIsIGUpOwogICAgICAgIH0KICAgIH0KfQoKLyoKICogQ29udmVydHMgcmVxdWVzdGVkIHNjb3BlcyBpbnRvIGNsYWltIG9iamVjdHMgYmFzZWQgb24gdGhlIHNjb3BlIG1hcHBpbmdzIGluIHNjb3BlQ2xhaW1zTWFwLgogKi8KZGVmIGNvbnZlcnRTY29wZVRvQ2xhaW1zID0gewogICAgc2NvcGVzLmZpbmRBbGwgeyBzY29wZSAtPiAib3BlbmlkIiAhPSBzY29wZSAmJiBzY29wZUNsYWltc01hcC5jb250YWluc0tleShzY29wZSkgfS5jb2xsZWN0TWFueSB7IHNjb3BlIC0+CiAgICAgICAgc2NvcGVDbGFpbXNNYXAuZ2V0KHNjb3BlKS5jb2xsZWN0IHsgY2xhaW0gLT4KICAgICAgICAgICAgbmV3IENsYWltKGNsYWltKQogICAgICAgIH0KICAgIH0KfQoKLy8gQ3JlYXRlcyBhIGZ1bGwgbGlzdCBvZiBjbGFpbXMgdG8gcmVzb2x2ZSBmcm9tIHJlcXVlc3RlZCBzY29wZXMsIGNsYWltcyBwcm92aWRlZCBieSBBUyBhbmQgcmVxdWVzdGVkIGNsYWltcwpkZWYgY2xhaW1zVG9SZXNvbHZlID0gY29udmVydFNjb3BlVG9DbGFpbXMoKSArIGNsYWltT2JqZWN0cyArIHJlcXVlc3RlZFR5cGVkQ2xhaW1zCgovLyBDb21wdXRlcyB0aGUgY2xhaW0gcmV0dXJuIGtleSBhbmQgdmFsdWVzIGZvciBhbGwgcmVxdWVzdGVkIGNsYWltcwpjb21wdXRlZENsYWltcyA9IGNsYWltc1RvUmVzb2x2ZS5jb2xsZWN0RW50cmllcygpIHsgY2xhaW0gLT4KICAgIHJlc3VsdCA9IGNvbXB1dGVDbGFpbShjbGFpbSkKfQoKLy8gQ29tcHV0ZXMgY29tcG9zaXRlIHNjb3BlcwpkZWYgY29tcG9zaXRlU2NvcGVzID0gc2NvcGVDbGFpbXNNYXAuZmluZEFsbCB7IHNjb3BlIC0+CiAgICBzY29wZXMuY29udGFpbnMoc2NvcGUua2V5KQp9CgpyZXR1cm4gbmV3IFVzZXJJbmZvQ2xhaW1zKChNYXApY29tcHV0ZWRDbGFpbXMsIChNYXApY29tcG9zaXRlU2NvcGVzKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSByZXR1cm4gYWRkaXRpb25hbCBkYXRhIHdoZW4gYXV0aG9yaXplIHJlcXVlc3QgaXMgY2FsbGVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICoKICogc2Vzc2lvbiAtIFNTT1Rva2VuICgxKQogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMikuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqCiAqIGxvZ2dlciAtIERlYnVnICgzKQogKiAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlICJTY3JpcHRlZEF1dGhvcml6ZUVuZHBvaW50RGF0YVByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQVVUSE9SSVpFX0VORFBPSU5UX0RBVEFfUFJPVklERVIuCiAqCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgU3RyaW5nPiBvZiBhZGRpdGlvbmFsIGRhdGEgKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICogKDMpIERlYnVnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDQpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLgogKi8KCi8qKgogKiBEZWZhdWx0IGF1dGhvcml6ZSBlbmRwb2ludCBkYXRhIHByb3ZpZGVyIHNjcmlwdCB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IgbmV3IHNjcmlwdHMuCiAqLwoKLyogRVhBTVBMRQp2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YSgpIHsKCiAgICAvL0lmIGNvbnN0YW50IGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQKICAgIG1hcC5wdXQoImhlbGxvIiwgIndvcmxkIik7CgogICAgLy9JZiBzb21lIGRhdGEgbmVlZHMgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGlyZCBwYXJ0eSBzZXJ2aWNlCiAgICBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKTsKCiAgICAvL0lmIHRoZXJlIGlzIGEgbmVlZCB0byByZXR1cm4gc29tZSB1c2VyIHNlc3Npb24gZGF0YQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKQoKICAgIHJldHVybiBtYXA7Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21FeHRlcm5hbFNlcnZpY2UoKSB7CiAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuU2VydmVyRXhjZXB0aW9uCiAgICApOwogIHRyeSB7CiAgICAgICAgLy9PYnRhaW4gYWRkaXRpb25hbCBkYXRhIGJ5IHBlcmZvcm1pbmcgYSBSRVNUIGNhbGwgdG8gYW4gZXh0ZXJuYWwgc2VydmljZQogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vdGhpcmQucGFydHkuYXBwL2hlbGxvLmpzcCIpOwogICAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJQT1NUIik7CiAgICAgICAgLy9yZXF1ZXN0LnNldEVudGl0eSgiZm9vPWJhciZoZWxsbz13b3JsZCIpOwogICAgICAgIHJlcXVlc3Quc2V0RW50aXR5KGpzb24ob2JqZWN0KAogICAgICAgICAgICAgICAgICAgIGZpZWxkKCJmb28iLCAiYmFyIikpKSk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldE9yVGhyb3coKTsKICAgICAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgICAgIG1hcC5wdXQoInNvbWVLZXkiLHJlc3VsdC5nZXQoInNvbWVLZXkiKSk7CiAgfSBjYXRjaCAoZXJyKSB7CiAgICAgdGhyb3cgbmV3IGZySmF2YS5TZXJ2ZXJFeGNlcHRpb24oZXJyKTsKICB9Cn07CgpmdW5jdGlvbiBhZGRBZGRpdGlvbmFsRGF0YUZyb21TZXNzaW9uUHJvcGVydGllcygpIHsKICAvL0FkZCBhZGRpdGlvbmFsIGRhdGEgZnJvbSBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwogICBpZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgICBtYXAucHV0KCJpcEFkZHJlc3MiLCBzZXNzaW9uLmdldFByb3BlcnR5KCJIb3N0IikpCiAgIH0KfTsKCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfTsKCmFkZEFkZGl0aW9uYWxEYXRhKCk7CiovCg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"dmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KLyoqCiAqIFRoaXMgaXMgYSBQb2xpY3kgQ29uZGl0aW9uIGV4YW1wbGUgc2NyaXB0LiBJdCBkZW1vbnN0cmF0ZXMgaG93IHRvIGFjY2VzcyBhIHVzZXIncyBpbmZvcm1hdGlvbiwKICogdXNlIHRoYXQgaW5mb3JtYXRpb24gaW4gZXh0ZXJuYWwgSFRUUCBjYWxscyBhbmQgbWFrZSBhIHBvbGljeSBkZWNpc2lvbiBiYXNlZCBvbiB0aGUgb3V0Y29tZS4KICovCgp2YXIgdXNlckFkZHJlc3MsIHVzZXJJUCwgcmVzb3VyY2VIb3N0OwoKaWYgKHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSkgewoKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID0gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIGFkZHJlc3M6ICIgKyBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzKTsKICAgIHZhciBjb3VudHJ5RnJvbVVzZXJJUCA9IGdldENvdW50cnlGcm9tVXNlcklQKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSB1c2VyJ3MgSVA6ICIgKyBjb3VudHJ5RnJvbVVzZXJJUCk7CiAgICB2YXIgY291bnRyeUZyb21SZXNvdXJjZVVSSSA9IGdldENvdW50cnlGcm9tUmVzb3VyY2VVUkkoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHJlc291cmNlIFVSSTogIiArIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkpOwoKICAgIGlmIChjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVVzZXJJUCAmJiBjb3VudHJ5RnJvbVVzZXJBZGRyZXNzID09PSBjb3VudHJ5RnJvbVJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gU3VjY2VlZGVkIik7CiAgICAgICAgcmVzcG9uc2VBdHRyaWJ1dGVzLnB1dCgiY291bnRyeU9mT3JpZ2luIiwgW2NvdW50cnlGcm9tVXNlckFkZHJlc3NdKTsKICAgICAgICBhdXRob3JpemVkID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhvcml6YXRpb24gRmFpbGVkIik7CiAgICAgICAgYXV0aG9yaXplZCA9IGZhbHNlOwogICAgfQoKfSBlbHNlIHsKICAgIGxvZ2dlci5tZXNzYWdlKCJSZXF1aXJlZCBwYXJhbWV0ZXJzIG5vdCBmb3VuZC4gQXV0aG9yaXphdGlvbiBGYWlsZWQuIik7CiAgICBhdXRob3JpemVkID0gZmFsc2U7Cn0KCi8qKgogKiBVc2UgdGhlIHVzZXIncyBhZGRyZXNzIHRvIGxvb2t1cCB0aGVpciBjb3VudHJ5IG9mIHJlc2lkZW5jZS4KICoKICogQHJldHVybnMgeyp9IFRoZSB1c2VyJ3MgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJBZGRyZXNzKCkgewoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uP2FkZHJlc3M9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1c2VyQWRkcmVzcykpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciBnZW9jb2RlID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBnZW9jb2RlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZ2VvY29kZS5yZXN1bHRzW2ldOwogICAgICAgIHZhciBqOwogICAgICAgIGZvciAoaiA9IDA7IGogPCByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLnR5cGVzWzBdID09ICJjb3VudHJ5IikgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5hZGRyZXNzX2NvbXBvbmVudHNbaV0ubG9uZ19uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgSVAgdG8gbG9va3VwIHRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGZyb20gd2hpY2ggdGhlIHJlcXVlc3Qgb3JpZ2luYXRlZC4KICovCmZ1bmN0aW9uIGdldENvdW50cnlGcm9tVXNlcklQKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyB1c2VySVApOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBVc2UgdGhlIHJlcXVlc3RlZCByZXNvdXJjZSdzIGhvc3QgbmFtZSB0byBsb29rdXAgdGhlIGNvdW50cnkgd2hlcmUgdGhlIHJlc291cmNlIGlzIGhvc3RlZC4KICoKICogQHJldHVybnMgeyp9IFRoZSBjb3VudHJ5IGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCkgewogICAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwOi8vaXAtYXBpLmNvbS9qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VIb3N0KSk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgaWYgKHJlc3VsdCkgewogICAgICAgIHJldHVybiByZXN1bHQuY291bnRyeTsKICAgIH0KfQoKLyoqCiAqIFJldHJpZXZlIGFuZCB2YWxpZGF0ZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIGV4dGVybmFsIEhUVFAgY2FsbHMuCiAqCiAqIEByZXR1cm5zIHtib29sZWFufSBXaWxsIGJlIHRydWUgaWYgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCmZ1bmN0aW9uIHZhbGlkYXRlQW5kSW5pdGlhbGl6ZVBhcmFtZXRlcnMoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoInBvc3RhbEFkZHJlc3MiKTsKICAgIGlmICh1c2VyQWRkcmVzc1NldCA9PSBudWxsIHx8IHVzZXJBZGRyZXNzU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBhZGRyZXNzIHNwZWNpZmllZCBmb3IgdXNlcjogIiArIHVzZXJuYW1lKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VyQWRkcmVzcyA9IHVzZXJBZGRyZXNzU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJBZGRyZXNzKTsKCiAgICBpZiAoIWVudmlyb25tZW50KSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGVudmlyb25tZW50IHBhcmFtZXRlcnMgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZhciBpcFNldCA9IGVudmlyb25tZW50LmdldCgiSVAiKTsKICAgIGlmIChpcFNldCA9PSBudWxsIHx8IGlwU2V0LmlzRW1wdHkoKSkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBJUCBzcGVjaWZpZWQgaW4gdGhlIGV2YWx1YXRpb24gcmVxdWVzdCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzLiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHVzZXJJUCA9IGlwU2V0Lml0ZXJhdG9yKCkubmV4dCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgSVA6ICIgKyB1c2VySVApOwoKICAgIGlmICghcmVzb3VyY2VVUkkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gcmVzb3VyY2UgVVJJIHNwZWNpZmllZC4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXNvdXJjZUhvc3QgPSByZXNvdXJjZVVSSS5tYXRjaCgvXiguKjpcL1wvKSh3d3dcLik/KFtBLVphLXowLTlcLVwuXSspKDpbMC05XSspPyguKikkLylbM107CiAgICBsb2dnZXIubWVzc2FnZSgiUmVzb3VyY2UgaG9zdDogIiArIHJlc291cmNlSG9zdCk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKSB7CiAgICBsb2dnZXIubWVzc2FnZSgiVXNlciBSRVNUIENhbGwuIFN0YXR1czogIiArIHJlc3BvbnNlLmdldFN0YXR1cygpICsgIiwgQm9keTogIiArIHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QKaW1wb3J0IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZQoKaW1wb3J0IGNvbS5pcGxhbmV0LnNzby5TU09FeGNlcHRpb24KCmltcG9ydCBncm9vdnkuanNvbi5Kc29uU2x1cnBlcgoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiBhY2Nlc3NUb2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGh0dHBDbGllbnQgLSBhbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgY2xpZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHRlcm5hbCBIVFRQIHJlcXVlc3RzCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogbG9nZ2VyIC0gYWx3YXlzIHByZXNlbnQsIGNvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfQUNDRVNTX1RPS0VOX01PRElGSUNBVElPTi4KICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiBzY3JpcHROYW1lIC0gYWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIE5vIHJldHVybiB2YWx1ZSAtIGNoYW5nZXMgc2hhbGwgYmUgbWFkZSB0byB0aGUgYWNjZXNzVG9rZW4gcGFyYW1ldGVyIGRpcmVjdGx5LgogKgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLCBhbmQgc2ltaWxhcmx5IHRoZSBzaXplIG9mCiAqIHRoZSBKV1RzIGlmIGNsaWVudCBiYXNlZCBPQXV0aDIgdG9rZW5zIGFyZSB1dGlsaXNlZC4KICogV2hlbiBhZGRpbmcvdXBkYXRpbmcgZmllbGRzIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2tlbiBzaXplIHJlbWFpbnMgd2l0aGluIGNsaWVudC91c2VyLWFnZW50IGxpbWl0cy4KICovCgovKgovL0ZpZWxkIHRvIGFsd2F5cyBpbmNsdWRlIGluIHRva2VuCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJoZWxsbyIsICJ3b3JsZCIpCgovL09idGFpbiBhZGRpdGlvbmFsIHZhbHVlcyBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKdHJ5IHsKICAgIFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKG5ldyBSZXF1ZXN0KCkKICAgICAgICAgICAgLnNldFVyaSgiaHR0cHM6Ly90aGlyZC5wYXJ0eS5hcHAvaGVsbG8uanNwIikKICAgICAgICAgICAgLnNldE1ldGhvZCgiUE9TVCIpCiAgICAgICAgICAgIC5tb2RpZnlIZWFkZXJzKHsgaGVhZGVycyAtPiBoZWFkZXJzLnB1dCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpIH0pCi8vICAgICAgICAgIC5zZXRFbnRpdHkoJ2Zvbz1iYXImaGVsbG89d29ybGQnKSkKICAgICAgICAgICAgLnNldEVudGl0eShbZm9vOiAnYmFyJ10pKQogICAgICAgICAgICAuZ2V0T3JUaHJvdygpCiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzLnN1Y2Nlc3NmdWwpIHsKICAgICAgICBkZWYgcmVzdWx0ID0gbmV3IEpzb25TbHVycGVyKCkucGFyc2VUZXh0KHJlc3BvbnNlLmVudGl0eS5zdHJpbmcpCiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGRzKHJlc3VsdC5nZXQoInVwZGF0ZWRGaWVsZHMiKSkKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCJVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zOiB7fSwge30iLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLmVudGl0eS50b1N0cmluZygpKQogICAgfQp9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgbG9nZ2VyLmVycm9yKCJUaGUgcmVxdWVzdCBwcm9jZXNzaW5nIHdhcyBpbnRlcnJ1cHRlZCIsIGV4KQogICAgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5pbnRlcnJ1cHQoKQogICAgLy9UaGUgYWNjZXNzIHRva2VuIHJlcXVlc3Qgd2lsbCBmYWlsIHdpdGggSFRUUCA1MDAgZXJyb3IgaW4gdGhpcyBjYXNlLgogICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oIlVuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbSAiKQp9CgovL0FkZCBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcwpkZWYgYXR0cmlidXRlcyA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZXMoWyJtYWlsIiwgInRlbGVwaG9uZU51bWJlciJdLnRvU2V0KCkpCmFjY2Vzc1Rva2VuLnNldEZpZWxkKCJtYWlsIiwgYXR0cmlidXRlc1sibWFpbCJdKQphY2Nlc3NUb2tlbi5zZXRGaWVsZCgicGhvbmUiLCBhdHRyaWJ1dGVzWyJ0ZWxlcGhvbmVOdW1iZXIiXSkKCi8vQWRkIG5ldyBmaWVsZHMgY29udGFpbmluZyBzZXNzaW9uIHByb3BlcnR5IHZhbHVlcwppZiAoc2Vzc2lvbiAhPSBudWxsKSB7IC8vIHNlc3Npb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgcmVzb3VyY2Ugb3duZXIgcGFzc3dvcmQgY3JlZGVudGlhbHMgZ3JhbnQKICAgIHRyeSB7CiAgICAgICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoImlwQWRkcmVzcyIsIHNlc3Npb24uZ2V0UHJvcGVydHkoIkhvc3QiKSkKICAgIH0gY2F0Y2ggKFNTT0V4Y2VwdGlvbiBleCkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUiLCBleCkKICAgIH0KfQoKLy8gUmVtb3ZlIGEgbmF0aXZlIGZpZWxkIGZyb20gdGhlIHRva2VuIGVudHJ5LCB0aGF0IHdhcyBzZXQgYnkgQU0uIEZvciBjb21wbGV0ZSBsaXN0IG9mIHJlbW92ZSogbWV0aG9kcyBzZWUgdGhlIEphdmFEb2MKLy8gZm9yIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuQWNjZXNzVG9rZW4gY2xhc3MuCmFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCiovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJzbiIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLAogICAgICAgIGZpZWxkKCJtYWlsIiwgbm9ybWFsaXplZFByb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VyTmFtZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnVzZXJuYW1lKSkpCgppZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJwb3N0YWxBZGRyZXNzIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcykKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjaXR5Iiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc0xvY2FsaXR5KQppZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJzdGF0ZVByb3ZpbmNlIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbikKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQ29kZSIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUpCmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoImNvdW50cnkiLCBub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5KQppZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgidGVsZXBob25lTnVtYmVyIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpCgovLyBpZiB0aGUgZ2l2ZW5OYW1lIGFuZCBmYW1pbHlOYW1lIGlzIG51bGwgb3IgZW1wdHkKLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnQKLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZQovLyBmb3IgZWcuIHRoaXMgY291bGQgYmUgdXNlZCBpbiBhIHNjcmlwdGVkIGRlY2lzaW9uIG5vZGUgdG8gYnktcGFzcyBwYXRjaGluZwovLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50CmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKQpib29sZWFuIG5vRmFtaWx5TmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKc2hhcmVkU3RhdGUucHV0KCJuYW1lRW1wdHlPck51bGwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpCgoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxOCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":37,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.1, resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 499, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.061Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "f7f3a5d6fa5e5638bd090a89f2dfe4d9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 618, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores?_action=nextdescendents" + }, + "response": { + "bodySize": 523, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 523, + "text": "{\"result\":[{\"storePassword\":\"storepass\",\"providerName\":\"SunJCE\",\"file\":\"/home/prestonhales/am/security/keystores/keystore.jceks\",\"keyEntryPassword\":\"entrypass\",\"leaseExpiryDuration\":5,\"storetype\":\"JCEKS\",\"_id\":\"default-keystore\",\"_type\":{\"_id\":\"KeyStoreSecretStore\",\"name\":\"Keystore\",\"collection\":true}},{\"directory\":\"/home/prestonhales/am/security/secrets/encrypted\",\"format\":\"ENCRYPTED_PLAIN\",\"_id\":\"default-passwords-store\",\"_type\":{\"_id\":\"FileSystemSecretStore\",\"name\":\"File System Secret Volumes\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "523" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.070Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "3c2f8d9d8ac0e4150587c2c51f58432e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores/KeyStoreSecretStore/default-keystore/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.086Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "2dc659b9979d68abb103d5087fe4a765", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/secrets/stores/FileSystemSecretStore/default-passwords-store/mappings?_queryFilter=true" + }, + "response": { + "bodySize": 99, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 99, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Resource 'default-passwords-store/mappings' not found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "99" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:35:44.094Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "c2c1abc8ef1ee952641c2981da6dd6a0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 612, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 9585, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9585, + "text": "{\"result\":[{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":false,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"[Empty]\",\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":false,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"changeme\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":false,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":false,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":false,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"validateScopeScript\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"accessTokenEnricherClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 472, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.103Z", + "time": 25, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 25 + } + }, + { + "_id": "8ce993874189334475c3c81bc166186e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories" + }, + "response": { + "bodySize": 346, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 346, + "text": "{\"_id\":\"\",\"_rev\":\"-1741783487\",\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1741783487\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "346" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 486, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.133Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "f74cb1ce51070a07c9fdc9be61c7fc04", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 607, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration" + }, + "response": { + "bodySize": 708, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 708, + "text": "{\"_id\":\"\",\"_rev\":\"-52720779\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":true,\"bindDn\":\"cn=Directory Manager\",\"ldapServer\":[\"localhost:50636\"],\"mtlsEnabled\":false,\"bindPassword\":null,\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"dc=openam,dc=forgerock,dc=org\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-52720779\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "708" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 484, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.134Z", + "time": 4, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 4 + } + }, + { + "_id": "b07a84b7bb5cb6654530a34df9c2e81f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 628, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/id-repositories?_action=nextdescendents" + }, + "response": { + "bodySize": 5109, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5109, + "text": "{\"result\":[{\"ldapsettings\":{\"openam-idrepo-ldapv3-heartbeat-timeunit\":\"SECONDS\",\"openam-idrepo-ldapv3-mtls-enabled\":false,\"sun-idrepo-ldapv3-config-connection_pool_min_size\":1,\"sun-idrepo-ldapv3-config-search-scope\":\"SCOPE_SUB\",\"openam-idrepo-ldapv3-proxied-auth-enabled\":false,\"openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client\":false,\"sun-idrepo-ldapv3-config-max-result\":1000,\"sun-idrepo-ldapv3-config-organization_name\":\"dc=openam,dc=forgerock,dc=org\",\"openam-idrepo-ldapv3-proxied-auth-denied-fallback\":false,\"sun-idrepo-ldapv3-config-authid\":\"cn=Directory Manager\",\"openam-idrepo-ldapv3-heartbeat-interval\":10,\"sun-idrepo-ldapv3-config-trust-all-server-certificates\":false,\"sun-idrepo-ldapv3-config-connection-mode\":\"LDAPS\",\"openam-idrepo-ldapv3-affinity-level\":\"all\",\"openam-idrepo-ldapv3-keepalive-searchfilter\":\"(objectclass=*)\",\"openam-idrepo-ldapv3-behera-support-enabled\":true,\"sun-idrepo-ldapv3-config-ldap-server\":[\"localhost:50636\",\"localhost:50636|01\"],\"sun-idrepo-ldapv3-config-authpw\":null,\"sun-idrepo-ldapv3-config-time-limit\":10,\"sun-idrepo-ldapv3-config-connection_pool_max_size\":10},\"userconfig\":{\"sun-idrepo-ldapv3-config-people-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-user-attributes\":[\"iplanet-am-auth-configuration\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"mail\",\"assignedDashboard\",\"authorityRevocationList\",\"dn\",\"iplanet-am-user-password-reset-options\",\"employeeNumber\",\"createTimestamp\",\"kbaActiveIndex\",\"caCertificate\",\"iplanet-am-session-quota-limit\",\"iplanet-am-user-auth-config\",\"sun-fm-saml2-nameid-infokey\",\"sunIdentityMSISDNNumber\",\"iplanet-am-user-password-reset-force-reset\",\"sunAMAuthInvalidAttemptsData\",\"devicePrintProfiles\",\"givenName\",\"iplanet-am-session-get-valid-sessions\",\"objectClass\",\"adminRole\",\"inetUserHttpURL\",\"lastEmailSent\",\"iplanet-am-user-account-life\",\"postalAddress\",\"userCertificate\",\"preferredtimezone\",\"iplanet-am-user-admin-start-dn\",\"boundDevices\",\"oath2faEnabled\",\"preferredlanguage\",\"sun-fm-saml2-nameid-info\",\"userPassword\",\"iplanet-am-session-service-status\",\"telephoneNumber\",\"iplanet-am-session-max-idle-time\",\"distinguishedName\",\"iplanet-am-session-destroy-sessions\",\"kbaInfoAttempts\",\"modifyTimestamp\",\"uid\",\"iplanet-am-user-success-url\",\"iplanet-am-user-auth-modules\",\"kbaInfo\",\"memberOf\",\"sn\",\"preferredLocale\",\"manager\",\"iplanet-am-session-max-session-time\",\"deviceProfiles\",\"cn\",\"oathDeviceProfiles\",\"webauthnDeviceProfiles\",\"iplanet-am-user-login-status\",\"pushDeviceProfiles\",\"push2faEnabled\",\"inetUserStatus\",\"retryLimitNodeCount\",\"iplanet-am-user-failure-url\",\"iplanet-am-session-max-caching-time\"],\"sun-idrepo-ldapv3-config-inactive\":\"Inactive\",\"sun-idrepo-ldapv3-config-auth-kba-index-attr\":\"kbaActiveIndex\",\"sun-idrepo-ldapv3-config-auth-kba-attempts-attr\":[\"kbaInfoAttempts\"],\"sun-idrepo-ldapv3-config-user-objectclass\":[\"iplanet-am-managed-person\",\"inetuser\",\"sunFMSAML2NameIdentifier\",\"inetorgperson\",\"devicePrintProfilesContainer\",\"boundDevicesContainer\",\"iplanet-am-user-service\",\"iPlanetPreferences\",\"pushDeviceProfilesContainer\",\"forgerock-am-dashboard-service\",\"organizationalperson\",\"top\",\"kbaInfoContainer\",\"person\",\"sunAMAuthAccountLockout\",\"oathDeviceProfilesContainer\",\"webauthnDeviceProfilesContainer\",\"iplanet-am-auth-configuration-service\",\"deviceProfilesContainer\"],\"sun-idrepo-ldapv3-config-auth-kba-attr\":[\"kbaInfo\"],\"sun-idrepo-ldapv3-config-people-container-value\":\"people\",\"sun-idrepo-ldapv3-config-users-search-attribute\":\"uid\",\"sun-idrepo-ldapv3-config-active\":\"Active\",\"sun-idrepo-ldapv3-config-isactive\":\"inetuserstatus\",\"sun-idrepo-ldapv3-config-users-search-filter\":\"(objectclass=inetorgperson)\",\"sun-idrepo-ldapv3-config-createuser-attr-mapping\":[\"cn\",\"sn\"]},\"groupconfig\":{\"sun-idrepo-ldapv3-config-group-attributes\":[\"dn\",\"cn\",\"uniqueMember\",\"objectclass\"],\"sun-idrepo-ldapv3-config-groups-search-attribute\":\"cn\",\"sun-idrepo-ldapv3-config-memberurl\":\"memberUrl\",\"sun-idrepo-ldapv3-config-group-container-name\":\"ou\",\"sun-idrepo-ldapv3-config-group-objectclass\":[\"top\",\"groupofuniquenames\"],\"sun-idrepo-ldapv3-config-uniquemember\":\"uniqueMember\",\"sun-idrepo-ldapv3-config-groups-search-filter\":\"(objectclass=groupOfUniqueNames)\",\"sun-idrepo-ldapv3-config-group-container-value\":\"groups\"},\"errorhandling\":{\"com.iplanet.am.ldap.connection.delay.between.retries\":1000},\"pluginconfig\":{\"sunIdRepoAttributeMapping\":[],\"sunIdRepoSupportedOperations\":[\"realm=read,create,edit,delete,service\",\"user=read,create,edit,delete,service\",\"group=read,create,edit,delete\"],\"sunIdRepoClass\":\"org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo\"},\"authentication\":{\"sun-idrepo-ldapv3-config-auth-naming-attr\":\"uid\"},\"persistentsearch\":{\"sun-idrepo-ldapv3-config-psearch-filter\":\"(&(!(objectclass=frCoreToken))(!(ou:dn:=services))(!(ou:dn:=tokens)))\",\"sun-idrepo-ldapv3-config-psearchbase\":\"dc=openam,dc=forgerock,dc=org\",\"sun-idrepo-ldapv3-config-psearch-scope\":\"SCOPE_SUB\"},\"cachecontrol\":{\"sun-idrepo-ldapv3-dncache-enabled\":true,\"sun-idrepo-ldapv3-dncache-size\":1500},\"_id\":\"embedded\",\"_type\":{\"_id\":\"LDAPv3ForOpenDS\",\"name\":\"OpenDJ\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5109" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 466, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.134Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "719cb3d85965a12f9a98ae2ae47ba906", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 632, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/policyconfiguration?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.135Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "749250274d4ac9bd2f5289fd767c4aea", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 623, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/oauth-oidc?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.136Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 + } + }, + { + "_id": "a039d32358e11ad4bd8e8623b15f60cc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 611, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1077208638\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "148" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 485, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.137Z", + "time": 2, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2 + } + }, + { + "_id": "14f7cf6fdc855992d18dc7ddca3394a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.137Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "315565ec046641532e8a186ae68a6269", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/3.0.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-99dc63cf-2978-496c-b95d-ac2a01bb5503" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.classic.com:8080" + } + ], + "headersSize": 620, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "http://openam-frodo-dev.classic.com:8080/am/json/realms/root/realms/first/realms/second/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Wed, 06 Nov 2024 16:35:43 GMT" + }, + { + "name": "keep-alive", + "value": "timeout=20" + }, + { + "name": "connection", + "value": "keep-alive" + } + ], + "headersSize": 465, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:35:44.155Z", + "time": 3, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 3 } } ], diff --git a/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/1-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-a_2200088734/recording.har b/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/1-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-a_2200088734/recording.har index d7ca23a87..ce6d1f04a 100644 --- a/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/1-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-a_2200088734/recording.har +++ b/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/1-Export-everything-with-string-arrays-decoding-variables-including-journey-coordinates-a_2200088734/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "6e9b2f10aede12892b2cd5ccd64a725a", + "_id": "fc71be44855f4e764537c68893e9a626", "_order": 0, "cache": {}, "request": { @@ -29,7 +29,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -44,41 +48,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1893, + "headersSize": 1968, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/sync" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/realms/?_queryFilter=true" }, "response": { - "bodySize": 8380, + "bodySize": 331, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8380, - "text": "{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 331, + "text": "{\"result\":[{\"_id\":\"L2FscGhh\",\"_rev\":\"362268810\",\"parentPath\":\"/\",\"active\":true,\"name\":\"alpha\",\"aliases\":[]},{\"_id\":\"L2JyYXZv\",\"_rev\":\"480875699\",\"parentPath\":\"/\",\"active\":true,\"name\":\"bravo\",\"aliases\":[]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:37 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -96,20 +109,16 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "8380" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:29 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -126,16 +135,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 665, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:37.955Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:29.602Z", + "time": 222, "timings": { "blocked": -1, "connect": -1, @@ -143,11 +156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 222 } }, { - "_id": "66a323d6617f3858cb7b08568782385e", + "_id": "1ee245d6a72b8aeb85a5c7986e8ba2f8", "_order": 0, "cache": {}, "request": { @@ -168,7 +181,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -183,46 +200,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1926, + "headersSize": 1988, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "_id sw 'mapping'" + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 12816, + "bodySize": 1341, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 12816, - "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -240,20 +261,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1341" }, { - "name": "content-length", - "value": "12816" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:29 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -272,14 +293,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.032Z", - "time": 100, + "startedDateTime": "2024-11-05T21:21:29.830Z", + "time": 173, "timings": { "blocked": -1, "connect": -1, @@ -287,11 +308,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 173 } }, { - "_id": "5f9b1fdb490ee0b08c162715cd237c1c", + "_id": "d876647120f52b0656df716a2ca8f904", "_order": 0, "cache": {}, "request": { @@ -312,7 +333,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -327,46 +352,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1931, + "headersSize": 1988, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "_id sw 'emailTemplat'" + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 30404, + "bodySize": 1341, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 30404, - "text": "{\"result\":[{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -384,20 +413,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1341" }, { - "name": "content-length", - "value": "30404" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:30 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -416,14 +445,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.140Z", - "time": 97, + "startedDateTime": "2024-11-05T21:21:30.009Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -431,11 +460,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 65 } }, { - "_id": "4332d9ff964dfcdd1e9f493e09382dc1", + "_id": "c2d4a07670ee940e56f162278f36c82f", "_order": 0, "cache": {}, "request": { @@ -456,7 +485,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -471,7 +504,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 2006, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -480,37 +513,41 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 346483, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 346483, - "text": "{\"result\":[{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]},{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}},{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}},{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}},{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"fidc/federation-EntraID\",\"groups\":{\"claim\":\"groups\",\"mappings\":{\"super-admins\":[\"750d8eca-c15e-4944-a8a7-537a0f3e8dd6\"],\"tenant-admins\":[\"93b762fa-5982-4cc0-9f5b-88ab8b3e2589\"]}}},{\"_id\":\"fieldPolicy/alpha_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]},{\"_id\":\"fieldPolicy/bravo_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]},{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]},{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]},{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"},{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]},{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]},{\"_id\":\"privileges\",\"privileges\":[]},{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]},{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}},{\"_id\":\"router\",\"filters\":[]},{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}},{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]},{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}},{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]},{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]},{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]},{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]},{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]},{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"},{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"},{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"},{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"},{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}},{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}},{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]},{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]},{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}},{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}},{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":67,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -528,16 +565,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:30 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -554,20 +595,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.244Z", - "time": 196, + "startedDateTime": "2024-11-05T21:21:30.083Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -575,11 +612,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 196 + "wait": 89 } }, { - "_id": "05deaa1004d850ca435cf54019a825fb", + "_id": "a7b3dee181192a76be1cb161727428c9", "_order": 0, "cache": {}, "request": { @@ -600,7 +637,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -615,41 +656,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 2006, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/access" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 6529, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 6529, - "text": "{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -667,20 +717,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "6529" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:30 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -699,14 +749,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.469Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:30.178Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -714,15 +764,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 76 } }, { - "_id": "3008decc523d17ff804c6e75c8d7cc72", + "_id": "b47cd65f921c415d1041c0465ea1b1d9", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -739,12 +789,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -754,41 +812,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 2033, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/alphaOrgPrivileges" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 8640, + "bodySize": 2399, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8640, - "text": "{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 2399, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"uid=admin\",\"primaryLdapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"userSearchStartDN\":[\"ou=identities\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/forgerock/openam/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"Federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -806,20 +878,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2399" }, { - "name": "content-length", - "value": "8640" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:30 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -838,14 +910,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.470Z", - "time": 89, + "startedDateTime": "2024-11-05T21:21:30.260Z", + "time": 696, "timings": { "blocked": -1, "connect": -1, @@ -853,15 +925,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 696 } }, { - "_id": "c58e7a5a4e0db6fbabe2dad65422529e", + "_id": "b8ff1d20d159ad74ea258b92b97de742", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -878,12 +950,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -893,41 +973,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1894, + "headersSize": 2033, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/audit" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 2757, + "bodySize": 2399, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2757, - "text": "{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2399, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"uid=admin\",\"primaryLdapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"userSearchStartDN\":[\"ou=identities\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/forgerock/openam/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"Federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -945,20 +1039,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2399" }, { - "name": "content-length", - "value": "2757" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -977,14 +1071,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.471Z", - "time": 253, + "startedDateTime": "2024-11-05T21:21:30.962Z", + "time": 275, "timings": { "blocked": -1, "connect": -1, @@ -992,11 +1086,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 253 + "wait": 275 } }, { - "_id": "e4ec98eee8e211f63c36ec50a24ce5c5", + "_id": "83913e91127b48641d8342a82e8f62f8", "_order": 0, "cache": {}, "request": { @@ -1017,7 +1111,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1032,41 +1130,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/authentication" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 779, + "bodySize": 3505, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 779, - "text": "{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}}" + "mimeType": "application/json;charset=UTF-8", + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1084,20 +1191,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "3505" }, { - "name": "content-length", - "value": "779" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1116,14 +1223,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.473Z", - "time": 282, + "startedDateTime": "2024-11-05T21:21:31.245Z", + "time": 192, "timings": { "blocked": -1, "connect": -1, @@ -1131,11 +1238,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 282 + "wait": 192 } }, { - "_id": "9c0a73d0dfb560158488caa28b671a40", + "_id": "e3ebc1998ec72c07d35f838ed992a5ac", "_order": 0, "cache": {}, "request": { @@ -1156,7 +1263,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1171,41 +1282,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/bravoOrgPrivileges" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 8640, + "bodySize": 3505, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8640, - "text": "{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1223,20 +1343,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "3505" }, { - "name": "content-length", - "value": "8640" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1255,14 +1375,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.475Z", - "time": 282, + "startedDateTime": "2024-11-05T21:21:31.444Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -1270,11 +1390,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 282 + "wait": 71 } }, { - "_id": "ec18dd64f5cbaf91ec0f966c097a2381", + "_id": "7c1684919d3c39aaa988c6a4a3ac4363", "_order": 0, "cache": {}, "request": { @@ -1295,7 +1415,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1310,41 +1434,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1932, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoEmailVerification" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 3342, + "bodySize": 182, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 3342, - "text": "{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1362,20 +1495,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "182" }, { - "name": "content-length", - "value": "3342" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1394,14 +1527,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.476Z", - "time": 248, + "startedDateTime": "2024-11-05T21:21:31.521Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -1409,11 +1542,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 248 + "wait": 62 } }, { - "_id": "d80d0ddfde8c6e4904c7048f7a16a9c5", + "_id": "eb3bb38284a35b06c8bb5dad3480c315", "_order": 0, "cache": {}, "request": { @@ -1434,7 +1567,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1449,41 +1586,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1924, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoMagicLink" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 2484, + "bodySize": 182, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2484, - "text": "{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1501,20 +1647,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "182" }, { - "name": "content-length", - "value": "2484" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1533,14 +1679,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.478Z", - "time": 442, + "startedDateTime": "2024-11-05T21:21:31.589Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -1548,15 +1694,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 442 + "wait": 60 } }, { - "_id": "9d88f2620d3b7879502866706f1b08e7", + "_id": "df263574b44b634fbcd214acb78c9527", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1573,12 +1719,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1588,41 +1742,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 2018, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/forgottenUsername" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 2036, + "bodySize": 13, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2036, - "text": "{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1640,20 +1808,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "13" }, { - "name": "content-length", - "value": "2036" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1672,14 +1840,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.479Z", - "time": 244, + "startedDateTime": "2024-11-05T21:21:31.656Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -1687,15 +1855,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 244 + "wait": 72 } }, { - "_id": "eae69243d1e21f5c8ac2567ec6a742d5", + "_id": "15b970472b5c4ac0bc1eca62d9f16e8d", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1712,12 +1880,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1727,41 +1903,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1917, + "headersSize": 2018, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frEmailUpdated" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 1629, + "bodySize": 13, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1629, - "text": "{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1779,20 +1969,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "13" }, { - "name": "content-length", - "value": "1629" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1811,14 +2001,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.481Z", - "time": 280, + "startedDateTime": "2024-11-05T21:21:31.734Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -1826,11 +2016,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 280 + "wait": 58 } }, { - "_id": "e3ffd4109aab37d16eeec1b2247b6e81", + "_id": "33c52e4ceb99b07961cc4718e320cd5c", "_order": 0, "cache": {}, "request": { @@ -1851,7 +2041,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -1866,24 +2060,32 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 1941, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frForgotUsername" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 1803, + "bodySize": 601, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1803, - "text": "{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 601, + "text": "{\"_id\":\"*\",\"_rev\":\"-1326577700\",\"domains\":[\"openam-frodo-dev.forgeblocks.com\"],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[\"fr-idm-uuid\"]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", @@ -1891,16 +2093,12 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1909,6 +2107,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1326577700\"" + }, { "name": "expires", "value": "0" @@ -1918,20 +2120,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "601" }, { - "name": "content-length", - "value": "1803" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1950,14 +2152,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.482Z", - "time": 406, + "startedDateTime": "2024-11-05T21:21:31.798Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -1965,11 +2167,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 406 + "wait": 62 } }, { - "_id": "3dc6a089c77d8136e5f62223a5af97d6", + "_id": "aa10efcdc38c441b757de1bbca70d9de", "_order": 0, "cache": {}, "request": { @@ -1990,7 +2192,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2005,24 +2211,32 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frOnboarding" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 1953, + "bodySize": 279, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1953, - "text": "{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 279, + "text": "{\"_id\":\"version\",\"_rev\":\"-448206912\",\"version\":\"7.6.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.6.0-SNAPSHOT Build 811ccc8cd2adb016ebe7d3365b0d10e45e2aead3 (2024-October-29 11:05)\",\"revision\":\"811ccc8cd2adb016ebe7d3365b0d10e45e2aead3\",\"date\":\"2024-October-29 11:05\"}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", @@ -2030,16 +2244,12 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2048,6 +2258,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-448206912\"" + }, { "name": "expires", "value": "0" @@ -2057,20 +2271,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "279" }, { - "name": "content-length", - "value": "1953" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:31 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2089,14 +2303,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.484Z", - "time": 345, + "startedDateTime": "2024-11-05T21:21:31.866Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -2104,11 +2318,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 345 + "wait": 62 } }, { - "_id": "4631fd277b76a8b2e86dc17da2d075a5", + "_id": "c7a304b05d6dbb5961330aefc0fb3ab7", "_order": 0, "cache": {}, "request": { @@ -2129,7 +2343,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -2144,41 +2362,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frPasswordUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 1641, + "bodySize": 2960, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1641, - "text": "{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2960, + "text": "{\"result\":[\"fr-idm-role\",\"description\",\"l\",\"createTimestamp\",\"uid\",\"fr-idm-nick-name\",\"fr-attr-iint4\",\"fr-attr-str5\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"st\",\"oathDeviceProfiles\",\"userCertificate\",\"labeledURI\",\"iplanet-am-auth-configuration\",\"fr-attr-istr1\",\"fr-idm-profile-url\",\"iplanet-am-session-service-status\",\"fr-attr-imulti1\",\"sun-fm-saml2-nameid-infokey\",\"fr-attr-int4\",\"fr-attr-str3\",\"fr-idm-inviteDate\",\"fr-idm-managed-organization-member\",\"sun-fm-saml2-nameid-info\",\"fr-attr-idate5\",\"kbaInfoAttempts\",\"fr-idm-preferences\",\"fr-attr-multi5\",\"memberOf\",\"fr-idm-photos\",\"co\",\"userPassword\",\"pushDeviceProfiles\",\"fr-attr-iint2\",\"fr-idm-birthdate\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"fr-idm-uuid\",\"iplanet-am-session-max-caching-time\",\"fr-attr-int2\",\"pwdExpireWarning\",\"webauthnDeviceProfiles\",\"fr-idm-effectiveAssignment\",\"objectClass\",\"fr-attr-date3\",\"isMemberOf\",\"fr-attr-imulti5\",\"fr-attr-imulti2\",\"fr-idm-name\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"fr-attr-multi4\",\"fr-idm-managed-user-memberoforgid\",\"telephoneNumber\",\"fr-idm-kbaInfo\",\"street\",\"cn\",\"ds-pwp-account-disabled\",\"fr-attr-istr4\",\"fr-idm-phone-numbers\",\"fr-attr-date1\",\"givenName\",\"fr-idm-addresses\",\"postalAddress\",\"fr-idm-gender\",\"fr-attr-multi2\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"postalCode\",\"iplanet-am-user-admin-start-dn\",\"pwdCheckQuality\",\"push2faEnabled\",\"pwdMinLength\",\"fr-attr-istr2\",\"fr-attr-int3\",\"iplanet-am-session-max-idle-time\",\"fr-idm-website\",\"fr-idm-custom-attrs\",\"fr-idm-password\",\"fr-attr-idate4\",\"kbaInfo\",\"fr-attr-str4\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"fr-attr-multi1\",\"fr-idm-title\",\"iplanet-am-session-max-session-time\",\"fr-attr-int1\",\"fr-attr-iint5\",\"fr-attr-date5\",\"preferredtimezone\",\"fr-attr-date2\",\"fr-attr-idate2\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"dn\",\"fr-idm-timezone\",\"mail\",\"fr-attr-str2\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"fr-attr-iint3\",\"fr-attr-multi3\",\"deviceProfiles\",\"fr-attr-str1\",\"inetUserStatus\",\"authorityRevocationList\",\"fr-attr-istr5\",\"fr-idm-preferred-language\",\"fr-attr-imulti4\",\"fr-idm-emails\",\"sn\",\"fr-idm-effectiveRole\",\"manager\",\"fr-idm-lastChanged\",\"iplanet-am-user-password-reset-force-reset\",\"fr-idm-name-object\",\"fr-attr-idate3\",\"fr-attr-date4\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"displayName\",\"iplanet-am-user-success-url\",\"fr-attr-iint1\",\"fr-idm-locale\",\"iplanet-am-session-get-valid-sessions\",\"devicePrintProfiles\",\"fr-attr-int5\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"fr-idm-onboardDate\",\"fr-attr-imulti3\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"fr-attr-istr3\",\"fr-attr-idate1\",\"fr-idm-consentedMapping\",\"fr-idm-lastSync\",\"iplanet-am-user-login-status\"],\"resultCount\":144,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2196,20 +2423,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2960" }, { - "name": "content-length", - "value": "1641" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2228,14 +2455,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.485Z", - "time": 346, + "startedDateTime": "2024-11-05T21:21:31.935Z", + "time": 124, "timings": { "blocked": -1, "connect": -1, @@ -2243,11 +2470,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 346 + "wait": 124 } }, { - "_id": "795218d01b11ce6c7533d87d083a985f", + "_id": "659599ec04379c96aea6462a4c029012", "_order": 0, "cache": {}, "request": { @@ -2268,7 +2495,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -2283,41 +2514,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frProfileUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 1637, + "bodySize": 2960, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1637, - "text": "{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2960, + "text": "{\"result\":[\"fr-idm-role\",\"description\",\"l\",\"createTimestamp\",\"uid\",\"fr-idm-nick-name\",\"fr-attr-iint4\",\"fr-attr-str5\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"st\",\"oathDeviceProfiles\",\"userCertificate\",\"labeledURI\",\"iplanet-am-auth-configuration\",\"fr-attr-istr1\",\"fr-idm-profile-url\",\"iplanet-am-session-service-status\",\"fr-attr-imulti1\",\"sun-fm-saml2-nameid-infokey\",\"fr-attr-int4\",\"fr-attr-str3\",\"fr-idm-inviteDate\",\"fr-idm-managed-organization-member\",\"sun-fm-saml2-nameid-info\",\"fr-attr-idate5\",\"kbaInfoAttempts\",\"fr-idm-preferences\",\"fr-attr-multi5\",\"memberOf\",\"fr-idm-photos\",\"co\",\"userPassword\",\"pushDeviceProfiles\",\"fr-attr-iint2\",\"fr-idm-birthdate\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"fr-idm-uuid\",\"iplanet-am-session-max-caching-time\",\"fr-attr-int2\",\"pwdExpireWarning\",\"webauthnDeviceProfiles\",\"fr-idm-effectiveAssignment\",\"objectClass\",\"fr-attr-date3\",\"isMemberOf\",\"fr-attr-imulti5\",\"fr-attr-imulti2\",\"fr-idm-name\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"fr-attr-multi4\",\"fr-idm-managed-user-memberoforgid\",\"telephoneNumber\",\"fr-idm-kbaInfo\",\"street\",\"cn\",\"ds-pwp-account-disabled\",\"fr-attr-istr4\",\"fr-idm-phone-numbers\",\"fr-attr-date1\",\"givenName\",\"fr-idm-addresses\",\"postalAddress\",\"fr-idm-gender\",\"fr-attr-multi2\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"postalCode\",\"iplanet-am-user-admin-start-dn\",\"pwdCheckQuality\",\"push2faEnabled\",\"pwdMinLength\",\"fr-attr-istr2\",\"fr-attr-int3\",\"iplanet-am-session-max-idle-time\",\"fr-idm-website\",\"fr-idm-custom-attrs\",\"fr-idm-password\",\"fr-attr-idate4\",\"kbaInfo\",\"fr-attr-str4\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"fr-attr-multi1\",\"fr-idm-title\",\"iplanet-am-session-max-session-time\",\"fr-attr-int1\",\"fr-attr-iint5\",\"fr-attr-date5\",\"preferredtimezone\",\"fr-attr-date2\",\"fr-attr-idate2\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"dn\",\"fr-idm-timezone\",\"mail\",\"fr-attr-str2\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"fr-attr-iint3\",\"fr-attr-multi3\",\"deviceProfiles\",\"fr-attr-str1\",\"inetUserStatus\",\"authorityRevocationList\",\"fr-attr-istr5\",\"fr-idm-preferred-language\",\"fr-attr-imulti4\",\"fr-idm-emails\",\"sn\",\"fr-idm-effectiveRole\",\"manager\",\"fr-idm-lastChanged\",\"iplanet-am-user-password-reset-force-reset\",\"fr-idm-name-object\",\"fr-attr-idate3\",\"fr-attr-date4\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"displayName\",\"iplanet-am-user-success-url\",\"fr-attr-iint1\",\"fr-idm-locale\",\"iplanet-am-session-get-valid-sessions\",\"devicePrintProfiles\",\"fr-attr-int5\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"fr-idm-onboardDate\",\"fr-attr-imulti3\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"fr-attr-istr3\",\"fr-attr-idate1\",\"fr-idm-consentedMapping\",\"fr-idm-lastSync\",\"iplanet-am-user-login-status\"],\"resultCount\":144,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2335,20 +2575,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2960" }, { - "name": "content-length", - "value": "1637" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2367,14 +2607,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.487Z", - "time": 458, + "startedDateTime": "2024-11-05T21:21:32.064Z", + "time": 115, "timings": { "blocked": -1, "connect": -1, @@ -2382,11 +2622,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 458 + "wait": 115 } }, { - "_id": "16a23b1a7df63bb69d21abc4b0b7a200", + "_id": "e5bff9c7c5f3f7ced4744b09a51a4924", "_order": 0, "cache": {}, "request": { @@ -2407,7 +2647,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2422,41 +2666,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1918, + "headersSize": 1984, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frResetPassword" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 1959, + "bodySize": 1206, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1959, - "text": "{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2474,20 +2727,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1206" }, { - "name": "content-length", - "value": "1959" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2506,14 +2759,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.488Z", - "time": 334, + "startedDateTime": "2024-11-05T21:21:32.184Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -2521,11 +2774,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 334 + "wait": 77 } }, { - "_id": "9b2b0dd8f20e18ad7545f7a3b05ee187", + "_id": "8c2bb94d735cde043751f3943d4bb185", "_order": 0, "cache": {}, "request": { @@ -2546,7 +2799,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2561,41 +2818,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 1984, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frUsernameUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 1641, + "bodySize": 1206, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1641, - "text": "{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2613,20 +2879,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1206" }, { - "name": "content-length", - "value": "1641" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2645,14 +2911,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.489Z", - "time": 232, + "startedDateTime": "2024-11-05T21:21:32.267Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -2660,11 +2926,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 232 + "wait": 60 } }, { - "_id": "80338c2879098c77bfa4a49dcc62b6dd", + "_id": "2874ee10c7869cca540bfb0ccc8dce0b", "_order": 0, "cache": {}, "request": { @@ -2685,7 +2951,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2700,41 +2970,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 1993, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/idv" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 1661, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1661, - "text": "{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2752,20 +3031,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1661" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2784,14 +3063,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.491Z", - "time": 339, + "startedDateTime": "2024-11-05T21:21:32.331Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -2799,11 +3078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 339 + "wait": 69 } }, { - "_id": "f0c35027444193fdf892e455b781641a", + "_id": "f0f315df038dffc05ceaf4d64fb96788", "_order": 0, "cache": {}, "request": { @@ -2824,7 +3103,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2839,41 +3122,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1909, + "headersSize": 1993, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/joiner" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 1985, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1985, - "text": "{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2891,20 +3183,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1985" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2923,14 +3215,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.493Z", - "time": 330, + "startedDateTime": "2024-11-05T21:21:32.406Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -2938,11 +3230,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 330 + "wait": 68 } }, { - "_id": "d2c63175b61abfe3e65fe6bd4ea8b6de", + "_id": "26d73af01d88daeb886c9a61cf0912d3", "_order": 0, "cache": {}, "request": { @@ -2963,7 +3255,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2978,41 +3274,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1929, + "headersSize": 2014, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registerPasswordlessDevice" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 2744, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2744, - "text": "{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -3030,20 +3335,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "2744" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3062,14 +3367,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.494Z", - "time": 440, + "startedDateTime": "2024-11-05T21:21:32.479Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -3077,11 +3382,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 440 + "wait": 87 } }, { - "_id": "756f6f48fb26d1eb4bdf4fd3e99d0117", + "_id": "a6e4e97642cdbe7eb5a99b648bc3dd4c", "_order": 0, "cache": {}, "request": { @@ -3102,7 +3407,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -3117,41 +3426,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 2014, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registration" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 1546, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1546, - "text": "{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -3169,20 +3487,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1546" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3201,14 +3519,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.495Z", - "time": 241, + "startedDateTime": "2024-11-05T21:21:32.571Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -3216,11 +3534,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 241 + "wait": 73 } }, { - "_id": "ac61014892eddc484e84f9a6e4713f3e", + "_id": "6e9b2f10aede12892b2cd5ccd64a725a", "_order": 0, "cache": {}, "request": { @@ -3241,7 +3559,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3256,24 +3574,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1916, + "headersSize": 1893, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/resetPassword" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/sync" }, "response": { - "bodySize": 455, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=utf-8", - "size": 455, - "text": "{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}}" + "size": 8380, + "text": "{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "cache-control", @@ -3317,11 +3635,11 @@ }, { "name": "content-length", - "value": "455" + "value": "8380" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3340,14 +3658,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.496Z", - "time": 335, + "startedDateTime": "2024-11-05T21:21:32.651Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -3355,11 +3673,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 335 + "wait": 54 } }, { - "_id": "eaa92f6f878816816fa94ff43be52525", + "_id": "66a323d6617f3858cb7b08568782385e", "_order": 0, "cache": {}, "request": { @@ -3380,7 +3698,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3395,24 +3713,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1917, + "headersSize": 1926, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/updatePassword" + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'mapping'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" }, "response": { - "bodySize": 943, + "bodySize": 12816, "content": { "mimeType": "application/json;charset=utf-8", - "size": 943, - "text": "{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}}" + "size": 12816, + "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "cache-control", @@ -3456,11 +3779,11 @@ }, { "name": "content-length", - "value": "943" + "value": "12816" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3479,14 +3802,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 666, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.498Z", - "time": 335, + "startedDateTime": "2024-11-05T21:21:32.710Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -3494,11 +3817,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 335 + "wait": 58 } }, { - "_id": "baf600ba2674b3b630e87fd32ca35eed", + "_id": "5f9b1fdb490ee0b08c162715cd237c1c", "_order": 0, "cache": {}, "request": { @@ -3519,7 +3842,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3534,24 +3857,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1931, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 789, + "bodySize": 30454, "content": { "mimeType": "application/json;charset=utf-8", - "size": 789, - "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" + "size": 30454, + "text": "{\"result\":[{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "cache-control", @@ -3595,11 +3923,11 @@ }, { "name": "content-length", - "value": "789" + "value": "30454" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3618,14 +3946,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 666, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.499Z", - "time": 479, + "startedDateTime": "2024-11-05T21:21:32.773Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -3633,11 +3961,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 479 + "wait": 67 } }, { - "_id": "a394360f37aed020d5183d19c2ff884b", + "_id": "4332d9ff964dfcdd1e9f493e09382dc1", "_order": 0, "cache": {}, "request": { @@ -3658,7 +3986,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3673,24 +4001,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1897, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/entityId" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=true" }, "response": { - "bodySize": 372, + "bodySize": 347794, "content": { "mimeType": "application/json;charset=utf-8", - "size": 372, - "text": "{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}}" + "size": 347794, + "text": "{\"result\":[{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]},{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}},{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}},{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"},{\"_id\":\"endpoint/Test\",\"description\":\"test\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"},{\"_id\":\"endpoint/testEndpoint2\",\"description\":\"\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"},{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"fidc/federation-EntraID\",\"groups\":{\"claim\":\"groups\",\"mappings\":{\"super-admins\":[\"750d8eca-c15e-4944-a8a7-537a0f3e8dd6\"],\"tenant-admins\":[\"93b762fa-5982-4cc0-9f5b-88ab8b3e2589\"]}}},{\"_id\":\"fieldPolicy/alpha_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]},{\"_id\":\"fieldPolicy/bravo_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]},{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]},{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]},{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"},{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]},{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]},{\"_id\":\"privileges\",\"privileges\":[]},{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]},{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}},{\"_id\":\"router\",\"filters\":[]},{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}},{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]},{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}},{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]},{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]},{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]},{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]},{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]},{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"},{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"},{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"},{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"},{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}},{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}},{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]},{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]},{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}},{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}},{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}],\"resultCount\":69,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":69,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:32 GMT" }, { "name": "cache-control", @@ -3732,13 +4065,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "372" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3755,16 +4084,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.500Z", - "time": 324, + "startedDateTime": "2024-11-05T21:21:32.845Z", + "time": 150, "timings": { "blocked": -1, "connect": -1, @@ -3772,11 +4105,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 324 + "wait": 150 } }, { - "_id": "28453a3e7da97d052e31a91c781dc6c2", + "_id": "05deaa1004d850ca435cf54019a825fb", "_order": 0, "cache": {}, "request": { @@ -3797,7 +4130,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3812,24 +4145,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1895, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.email" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/access" }, "response": { - "bodySize": 438, + "bodySize": 6529, "content": { "mimeType": "application/json;charset=utf-8", - "size": 438, - "text": "{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" + "size": 6529, + "text": "{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -3873,11 +4206,11 @@ }, { "name": "content-length", - "value": "438" + "value": "6529" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3896,14 +4229,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.502Z", - "time": 373, + "startedDateTime": "2024-11-05T21:21:33.021Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -3911,11 +4244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 373 + "wait": 84 } }, { - "_id": "27efd4e742e7c032fbc1dbb904049e2e", + "_id": "3008decc523d17ff804c6e75c8d7cc72", "_order": 0, "cache": {}, "request": { @@ -3936,7 +4269,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3951,24 +4284,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1907, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.emailDefault" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/alphaOrgPrivileges" }, "response": { - "bodySize": 445, + "bodySize": 8640, "content": { "mimeType": "application/json;charset=utf-8", - "size": 445, - "text": "{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" + "size": 8640, + "text": "{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4012,11 +4345,11 @@ }, { "name": "content-length", - "value": "445" + "value": "8640" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4035,14 +4368,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.503Z", - "time": 324, + "startedDateTime": "2024-11-05T21:21:33.022Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -4050,11 +4383,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 324 + "wait": 84 } }, { - "_id": "9ca216a939a91a982bfe390dacf09c84", + "_id": "c58e7a5a4e0db6fbabe2dad65422529e", "_order": 0, "cache": {}, "request": { @@ -4075,7 +4408,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4090,29 +4423,33 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1894, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fidc/federation-EntraID" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/audit" }, "response": { - "bodySize": 59, + "bodySize": 2757, "content": { "mimeType": "application/json;charset=utf-8", - "size": 59, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"Access denied\"}" + "size": 2757, + "text": "{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", "value": "no-store" }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -4147,11 +4484,11 @@ }, { "name": "content-length", - "value": "59" + "value": "2757" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4170,14 +4507,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 615, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.504Z", - "time": 254, + "startedDateTime": "2024-11-05T21:21:33.022Z", + "time": 189, "timings": { "blocked": -1, "connect": -1, @@ -4185,11 +4522,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 254 + "wait": 189 } }, { - "_id": "0dc2e535613d6c1c013b8b3f93bf8758", + "_id": "e4ec98eee8e211f63c36ec50a24ce5c5", "_order": 0, "cache": {}, "request": { @@ -4210,7 +4547,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4225,28 +4562,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1911, + "headersSize": 1903, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/alpha_user" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/authentication" }, "response": { - "bodySize": 888, + "bodySize": 779, "content": { "mimeType": "application/json;charset=utf-8", - "size": 888, - "text": "{\"_id\":\"fieldPolicy/alpha_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]}" + "size": 779, + "text": "{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "DENY" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4284,148 +4617,17 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 671, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:38.505Z", - "time": 479, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 479 - } - }, - { - "_id": "25f7d116e01ab8a8d0373d0ce72c5977", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1911, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/bravo_user" - }, - "response": { - "bodySize": 866, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 866, - "text": "{\"_id\":\"fieldPolicy/bravo_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]}" - }, - "cookies": [], - "headers": [ { "name": "x-frame-options", "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-length", + "value": "779" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4442,20 +4644,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.506Z", - "time": 439, + "startedDateTime": "2024-11-05T21:21:33.024Z", + "time": 270, "timings": { "blocked": -1, "connect": -1, @@ -4463,11 +4661,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 439 + "wait": 270 } }, { - "_id": "f36f2bc20ace478fc7ecbc6df5df937d", + "_id": "9c0a73d0dfb560158488caa28b671a40", "_order": 0, "cache": {}, "request": { @@ -4488,7 +4686,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4503,24 +4701,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1897, + "headersSize": 1907, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/internal" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/bravoOrgPrivileges" }, "response": { - "bodySize": 270, + "bodySize": 8640, "content": { "mimeType": "application/json;charset=utf-8", - "size": 270, - "text": "{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]}" + "size": 8640, + "text": "{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4564,11 +4762,11 @@ }, { "name": "content-length", - "value": "270" + "value": "8640" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4587,14 +4785,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.507Z", - "time": 218, + "startedDateTime": "2024-11-05T21:21:33.025Z", + "time": 429, "timings": { "blocked": -1, "connect": -1, @@ -4602,11 +4800,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 218 + "wait": 429 } }, { - "_id": "26a0eae3c0a15f3d76eab3c87d2086d9", + "_id": "ec18dd64f5cbaf91ec0f966c097a2381", "_order": 0, "cache": {}, "request": { @@ -4627,7 +4825,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4642,28 +4840,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1932, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/managed" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoEmailVerification" }, "response": { - "bodySize": 93761, + "bodySize": 3342, "content": { "mimeType": "application/json;charset=utf-8", - "size": 93761, - "text": "{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]}" + "size": 3342, + "text": "{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "DENY" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4701,9 +4895,17 @@ "name": "x-content-type-options", "value": "nosniff" }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "3342" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4720,20 +4922,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.508Z", - "time": 590, + "startedDateTime": "2024-11-05T21:21:33.026Z", + "time": 191, "timings": { "blocked": -1, "connect": -1, @@ -4741,11 +4939,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 590 + "wait": 191 } }, { - "_id": "8be795ddbd15a816c903f4481d7d145d", + "_id": "d80d0ddfde8c6e4904c7048f7a16a9c5", "_order": 0, "cache": {}, "request": { @@ -4766,7 +4964,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4781,24 +4979,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1944, + "headersSize": 1924, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_assignment_managedBravo_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoMagicLink" }, "response": { - "bodySize": 901, + "bodySize": 2484, "content": { "mimeType": "application/json;charset=utf-8", - "size": 901, - "text": "{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"}" + "size": 2484, + "text": "{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4842,11 +5040,11 @@ }, { "name": "content-length", - "value": "901" + "value": "2484" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4865,14 +5063,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.510Z", - "time": 413, + "startedDateTime": "2024-11-05T21:21:33.027Z", + "time": 423, "timings": { "blocked": -1, "connect": -1, @@ -4880,11 +5078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 413 + "wait": 423 } }, { - "_id": "0f479979ba0b7d49bb4ec853c418a697", + "_id": "9d88f2620d3b7879502866706f1b08e7", "_order": 0, "cache": {}, "request": { @@ -4905,7 +5103,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4920,24 +5118,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_user_systemAzureUser" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/forgottenUsername" }, "response": { - "bodySize": 2502, + "bodySize": 2036, "content": { "mimeType": "application/json;charset=utf-8", - "size": 2502, - "text": "{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"}" + "size": 2036, + "text": "{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -4981,11 +5179,11 @@ }, { "name": "content-length", - "value": "2502" + "value": "2036" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5010,8 +5208,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.511Z", - "time": 317, + "startedDateTime": "2024-11-05T21:21:33.028Z", + "time": 214, "timings": { "blocked": -1, "connect": -1, @@ -5019,11 +5217,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 317 + "wait": 214 } }, { - "_id": "8967000e5c469e312f46869604f69cb4", + "_id": "eae69243d1e21f5c8ac2567ec6a742d5", "_order": 0, "cache": {}, "request": { @@ -5044,7 +5242,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5059,24 +5257,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1934, + "headersSize": 1917, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_group_managedBravo_group" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frEmailUpdated" }, "response": { - "bodySize": 861, + "bodySize": 1629, "content": { "mimeType": "application/json;charset=utf-8", - "size": 861, - "text": "{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"}" + "size": 1629, + "text": "{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5120,11 +5318,11 @@ }, { "name": "content-length", - "value": "861" + "value": "1629" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5143,14 +5341,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.512Z", - "time": 388, + "startedDateTime": "2024-11-05T21:21:33.029Z", + "time": 227, "timings": { "blocked": -1, "connect": -1, @@ -5158,11 +5356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 388 + "wait": 227 } }, { - "_id": "5f373cefd7baf3a1537401e32c681b7e", + "_id": "e3ffd4109aab37d16eeec1b2247b6e81", "_order": 0, "cache": {}, "request": { @@ -5183,7 +5381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5198,24 +5396,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1933, + "headersSize": 1919, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_user_managedBravo_user0" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frForgotUsername" }, "response": { - "bodySize": 856, + "bodySize": 1803, "content": { "mimeType": "application/json;charset=utf-8", - "size": 856, - "text": "{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}" + "size": 1803, + "text": "{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5259,11 +5457,11 @@ }, { "name": "content-length", - "value": "856" + "value": "1803" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5282,14 +5480,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.517Z", - "time": 308, + "startedDateTime": "2024-11-05T21:21:33.031Z", + "time": 205, "timings": { "blocked": -1, "connect": -1, @@ -5297,11 +5495,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 308 + "wait": 205 } }, { - "_id": "0207f574f0273ae55f429cb6ea1285d8", + "_id": "3dc6a089c77d8136e5f62223a5af97d6", "_order": 0, "cache": {}, "request": { @@ -5322,7 +5520,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5337,24 +5535,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/mapping12" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frOnboarding" }, "response": { - "bodySize": 221, + "bodySize": 1953, "content": { "mimeType": "application/json;charset=utf-8", - "size": 221, - "text": "{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"}" + "size": 1953, + "text": "{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5398,11 +5596,11 @@ }, { "name": "content-length", - "value": "221" + "value": "1953" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5421,14 +5619,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.518Z", - "time": 387, + "startedDateTime": "2024-11-05T21:21:33.032Z", + "time": 409, "timings": { "blocked": -1, "connect": -1, @@ -5436,11 +5634,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 387 + "wait": 409 } }, { - "_id": "c52e9a3d12ecc4fdb76963f860ebd0f4", + "_id": "4631fd277b76a8b2e86dc17da2d075a5", "_order": 0, "cache": {}, "request": { @@ -5461,7 +5659,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5476,24 +5674,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1941, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzure__group___managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frPasswordUpdated" }, "response": { - "bodySize": 1890, + "bodySize": 1641, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1890, - "text": "{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}}" + "size": 1641, + "text": "{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5537,11 +5735,11 @@ }, { "name": "content-length", - "value": "1890" + "value": "1641" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5566,8 +5764,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.519Z", - "time": 201, + "startedDateTime": "2024-11-05T21:21:33.033Z", + "time": 263, "timings": { "blocked": -1, "connect": -1, @@ -5575,11 +5773,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 201 + "wait": 263 } }, { - "_id": "1bbc4f9da6bfb6ee5b7b8d09ac70fd40", + "_id": "795218d01b11ce6c7533d87d083a985f", "_order": 0, "cache": {}, "request": { @@ -5600,7 +5798,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5615,24 +5813,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1945, + "headersSize": 1919, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureDirectoryrole_managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frProfileUpdated" }, "response": { - "bodySize": 1912, + "bodySize": 1637, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1912, - "text": "{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}}" + "size": 1637, + "text": "{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5676,11 +5874,11 @@ }, { "name": "content-length", - "value": "1912" + "value": "1637" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5705,8 +5903,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.520Z", - "time": 306, + "startedDateTime": "2024-11-05T21:21:33.035Z", + "time": 215, "timings": { "blocked": -1, "connect": -1, @@ -5714,11 +5912,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 306 + "wait": 215 } }, { - "_id": "33c39a686936ca4a048fe8ed78795d76", + "_id": "16a23b1a7df63bb69d21abc4b0b7a200", "_order": 0, "cache": {}, "request": { @@ -5739,7 +5937,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5754,24 +5952,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1943, + "headersSize": 1918, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureServiceplan_managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frResetPassword" }, "response": { - "bodySize": 1944, + "bodySize": 1959, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1944, - "text": "{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}}" + "size": 1959, + "text": "{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5815,11 +6013,11 @@ }, { "name": "content-length", - "value": "1944" + "value": "1959" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5844,8 +6042,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.521Z", - "time": 302, + "startedDateTime": "2024-11-05T21:21:33.036Z", + "time": 232, "timings": { "blocked": -1, "connect": -1, @@ -5853,11 +6051,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 302 + "wait": 232 } }, { - "_id": "e49472ca94bbac97edd83f9fa64e64d4", + "_id": "9b2b0dd8f20e18ad7545f7a3b05ee187", "_order": 0, "cache": {}, "request": { @@ -5878,7 +6076,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5893,24 +6091,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureUser_managedAlpha_user" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frUsernameUpdated" }, "response": { - "bodySize": 1583, + "bodySize": 1641, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1583, - "text": "{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}" + "size": 1641, + "text": "{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -5954,11 +6152,11 @@ }, { "name": "content-length", - "value": "1583" + "value": "1641" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5983,8 +6181,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.523Z", - "time": 415, + "startedDateTime": "2024-11-05T21:21:33.037Z", + "time": 412, "timings": { "blocked": -1, "connect": -1, @@ -5992,11 +6190,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 415 + "wait": 412 } }, { - "_id": "6692c58345f71bfc94cc4b8615559cc5", + "_id": "80338c2879098c77bfa4a49dcc62b6dd", "_order": 0, "cache": {}, "request": { @@ -6017,7 +6215,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6032,24 +6230,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/policy" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/idv" }, "response": { - "bodySize": 52, + "bodySize": 1661, "content": { "mimeType": "application/json;charset=utf-8", - "size": 52, - "text": "{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]}" + "size": 1661, + "text": "{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6093,11 +6291,11 @@ }, { "name": "content-length", - "value": "52" + "value": "1661" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6116,14 +6314,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.524Z", - "time": 201, + "startedDateTime": "2024-11-05T21:21:33.038Z", + "time": 192, "timings": { "blocked": -1, "connect": -1, @@ -6131,11 +6329,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 201 + "wait": 192 } }, { - "_id": "51ffae64b1cf4519a279faeb445f12b0", + "_id": "f0c35027444193fdf892e455b781641a", "_order": 0, "cache": {}, "request": { @@ -6156,7 +6354,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6175,20 +6373,20 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privilegeAssignments" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/joiner" }, "response": { - "bodySize": 493, + "bodySize": 1985, "content": { "mimeType": "application/json;charset=utf-8", - "size": 493, - "text": "{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]}" + "size": 1985, + "text": "{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6232,11 +6430,11 @@ }, { "name": "content-length", - "value": "493" + "value": "1985" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6255,14 +6453,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.525Z", - "time": 417, + "startedDateTime": "2024-11-05T21:21:33.039Z", + "time": 195, "timings": { "blocked": -1, "connect": -1, @@ -6270,11 +6468,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 417 + "wait": 195 } }, { - "_id": "0efa4fab6ab26eb266b9e217050b5a78", + "_id": "d2c63175b61abfe3e65fe6bd4ea8b6de", "_order": 0, "cache": {}, "request": { @@ -6295,7 +6493,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6310,24 +6508,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1899, + "headersSize": 1929, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privileges" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registerPasswordlessDevice" }, "response": { - "bodySize": 36, + "bodySize": 2744, "content": { "mimeType": "application/json;charset=utf-8", - "size": 36, - "text": "{\"_id\":\"privileges\",\"privileges\":[]}" + "size": 2744, + "text": "{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6371,11 +6569,11 @@ }, { "name": "content-length", - "value": "36" + "value": "2744" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6394,14 +6592,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.527Z", - "time": 419, + "startedDateTime": "2024-11-05T21:21:33.041Z", + "time": 188, "timings": { "blocked": -1, "connect": -1, @@ -6409,11 +6607,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 419 + "wait": 188 } }, { - "_id": "346367fff63d473b9b31139e8c3b8cc7", + "_id": "756f6f48fb26d1eb4bdf4fd3e99d0117", "_order": 0, "cache": {}, "request": { @@ -6434,7 +6632,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6449,24 +6647,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1918, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openic/GoogleApps" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registration" }, "response": { - "bodySize": 7392, + "bodySize": 1546, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7392, - "text": "{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 1546, + "text": "{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6510,11 +6708,11 @@ }, { "name": "content-length", - "value": "7392" + "value": "1546" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6539,8 +6737,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.528Z", - "time": 398, + "startedDateTime": "2024-11-05T21:21:33.042Z", + "time": 285, "timings": { "blocked": -1, "connect": -1, @@ -6548,11 +6746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 398 + "wait": 285 } }, { - "_id": "27eeb9dba71020824727be35ba50246c", + "_id": "ac61014892eddc484e84f9a6e4713f3e", "_order": 0, "cache": {}, "request": { @@ -6573,7 +6771,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6588,24 +6786,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1916, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf.connectorinfoprovider" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/resetPassword" }, "response": { - "bodySize": 253, + "bodySize": 455, "content": { "mimeType": "application/json;charset=utf-8", - "size": 253, - "text": "{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]}" + "size": 455, + "text": "{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6649,11 +6847,11 @@ }, { "name": "content-length", - "value": "253" + "value": "455" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6678,8 +6876,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.529Z", - "time": 209, + "startedDateTime": "2024-11-05T21:21:33.043Z", + "time": 326, "timings": { "blocked": -1, "connect": -1, @@ -6687,11 +6885,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 209 + "wait": 326 } }, { - "_id": "2cf5a648793b794fbac294b890b50470", + "_id": "eaa92f6f878816816fa94ff43be52525", "_order": 0, "cache": {}, "request": { @@ -6712,7 +6910,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6727,24 +6925,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1914, + "headersSize": 1917, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/Azure" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/updatePassword" }, "response": { - "bodySize": 11938, + "bodySize": 943, "content": { "mimeType": "application/json;charset=utf-8", - "size": 11938, - "text": "{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 943, + "text": "{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6788,11 +6986,11 @@ }, { "name": "content-length", - "value": "11938" + "value": "943" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6811,14 +7009,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.530Z", - "time": 405, + "startedDateTime": "2024-11-05T21:21:33.044Z", + "time": 188, "timings": { "blocked": -1, "connect": -1, @@ -6826,11 +7024,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 405 + "wait": 188 } }, { - "_id": "121e27e32d185eeaa57290ecc791e8ba", + "_id": "baf600ba2674b3b630e87fd32ca35eed", "_order": 0, "cache": {}, "request": { @@ -6851,7 +7049,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6866,24 +7064,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 1910, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/GoogleApps" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" }, "response": { - "bodySize": 7393, + "bodySize": 839, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7393, - "text": "{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 839, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -6927,11 +7125,11 @@ }, { "name": "content-length", - "value": "7393" + "value": "839" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6950,14 +7148,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.531Z", - "time": 412, + "startedDateTime": "2024-11-05T21:21:33.046Z", + "time": 293, "timings": { "blocked": -1, "connect": -1, @@ -6965,11 +7163,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 412 + "wait": 293 } }, { - "_id": "4b25a3218f271450d92ae9cf4b0173ec", + "_id": "dcf3fb538218fb01091acf0d3068b78e", "_order": 0, "cache": {}, "request": { @@ -6990,7 +7188,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7005,24 +7203,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1902, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/repo.ds" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/endpoint/Test" }, "response": { - "bodySize": 40821, + "bodySize": 627, "content": { "mimeType": "application/json;charset=utf-8", - "size": 40821, - "text": "{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}}" + "size": 627, + "text": "{\"_id\":\"endpoint/Test\",\"description\":\"test\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7064,9 +7262,13 @@ "name": "x-frame-options", "value": "DENY" }, + { + "name": "content-length", + "value": "627" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7083,20 +7285,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.532Z", - "time": 318, + "startedDateTime": "2024-11-05T21:21:33.047Z", + "time": 277, "timings": { "blocked": -1, "connect": -1, @@ -7104,11 +7302,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 318 + "wait": 277 } }, { - "_id": "964d1f108f79d6726c8f9a9ea2f481a8", + "_id": "d9bc96a29ed35ce738f61e9595e48181", "_order": 0, "cache": {}, "request": { @@ -7129,7 +7327,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7144,24 +7342,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/router" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/endpoint/testEndpoint2" }, "response": { - "bodySize": 29, + "bodySize": 632, "content": { "mimeType": "application/json;charset=utf-8", - "size": 29, - "text": "{\"_id\":\"router\",\"filters\":[]}" + "size": 632, + "text": "{\"_id\":\"endpoint/testEndpoint2\",\"description\":\"\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7205,11 +7403,11 @@ }, { "name": "content-length", - "value": "29" + "value": "632" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7228,14 +7426,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.533Z", - "time": 297, + "startedDateTime": "2024-11-05T21:21:33.048Z", + "time": 188, "timings": { "blocked": -1, "connect": -1, @@ -7243,11 +7441,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 297 + "wait": 188 } }, { - "_id": "db9e46775a8fc1f06f1976aa2f264a5c", + "_id": "a394360f37aed020d5183d19c2ff884b", "_order": 0, "cache": {}, "request": { @@ -7268,7 +7466,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7283,24 +7481,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1897, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/script" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/entityId" }, "response": { - "bodySize": 1016, + "bodySize": 372, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1016, - "text": "{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}}" + "size": 372, + "text": "{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7344,11 +7542,11 @@ }, { "name": "content-length", - "value": "1016" + "value": "372" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7367,14 +7565,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.535Z", - "time": 227, + "startedDateTime": "2024-11-05T21:21:33.049Z", + "time": 191, "timings": { "blocked": -1, "connect": -1, @@ -7382,11 +7580,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 227 + "wait": 191 } }, { - "_id": "c419c3c504adf72d8d01000bfc9ed469", + "_id": "28453a3e7da97d052e31a91c781dc6c2", "_order": 0, "cache": {}, "request": { @@ -7407,7 +7605,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7422,24 +7620,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1903, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/secrets" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.email" }, "response": { - "bodySize": 1863, + "bodySize": 438, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1863, - "text": "{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]}" + "size": 438, + "text": "{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7483,11 +7681,11 @@ }, { "name": "content-length", - "value": "1863" + "value": "438" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7506,14 +7704,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.536Z", - "time": 218, + "startedDateTime": "2024-11-05T21:21:33.050Z", + "time": 289, "timings": { "blocked": -1, "connect": -1, @@ -7521,11 +7719,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 218 + "wait": 289 } }, { - "_id": "fbe7ba68489c5d0631e41339e4fd7639", + "_id": "27efd4e742e7c032fbc1dbb904049e2e", "_order": 0, "cache": {}, "request": { @@ -7546,7 +7744,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7561,24 +7759,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1904, + "headersSize": 1910, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.kba" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.emailDefault" }, "response": { - "bodySize": 162, + "bodySize": 445, "content": { "mimeType": "application/json;charset=utf-8", - "size": 162, - "text": "{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}}" + "size": 445, + "text": "{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7622,11 +7820,11 @@ }, { "name": "content-length", - "value": "162" + "value": "445" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7651,8 +7849,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.538Z", - "time": 379, + "startedDateTime": "2024-11-05T21:21:33.051Z", + "time": 222, "timings": { "blocked": -1, "connect": -1, @@ -7660,11 +7858,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 379 + "wait": 222 } }, { - "_id": "6a7f6a43fbe911924cd85308a42e6808", + "_id": "9ca216a939a91a982bfe390dacf09c84", "_order": 0, "cache": {}, "request": { @@ -7685,7 +7883,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7700,33 +7898,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 1912, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.terms" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fidc/federation-EntraID" }, "response": { - "bodySize": 730, + "bodySize": 59, "content": { "mimeType": "application/json;charset=utf-8", - "size": 730, - "text": "{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]}" + "size": 59, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"Access denied\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", "value": "no-store" }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -7761,11 +7955,11 @@ }, { "name": "content-length", - "value": "730" + "value": "59" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7784,14 +7978,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 615, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:46:38.539Z", - "time": 289, + "startedDateTime": "2024-11-05T21:21:33.052Z", + "time": 340, "timings": { "blocked": -1, "connect": -1, @@ -7799,11 +7993,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 289 + "wait": 340 } }, { - "_id": "5318a04c884b184c62166b1a742df333", + "_id": "0dc2e535613d6c1c013b8b3f93bf8758", "_order": 0, "cache": {}, "request": { @@ -7824,7 +8018,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7839,24 +8033,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/cors" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/alpha_user" }, "response": { - "bodySize": 347, + "bodySize": 888, "content": { "mimeType": "application/json;charset=utf-8", - "size": 347, - "text": "{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]}" + "size": 888, + "text": "{\"_id\":\"fieldPolicy/alpha_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -7894,17 +8092,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "347" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7921,16 +8111,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.540Z", - "time": 434, + "startedDateTime": "2024-11-05T21:21:33.053Z", + "time": 287, "timings": { "blocked": -1, "connect": -1, @@ -7938,11 +8132,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 434 + "wait": 287 } }, { - "_id": "4f6c64229907b8f264e3019172bb624a", + "_id": "25f7d116e01ab8a8d0373d0ce72c5977", "_order": 0, "cache": {}, "request": { @@ -7963,7 +8157,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7978,24 +8172,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/payload" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/bravo_user" }, "response": { - "bodySize": 121, + "bodySize": 866, "content": { "mimeType": "application/json;charset=utf-8", - "size": 121, - "text": "{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]}" + "size": 866, + "text": "{\"_id\":\"fieldPolicy/bravo_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8033,17 +8231,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "121" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8060,16 +8250,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.541Z", - "time": 279, + "startedDateTime": "2024-11-05T21:21:33.054Z", + "time": 388, "timings": { "blocked": -1, "connect": -1, @@ -8077,11 +8271,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 388 } }, { - "_id": "999345e3a753991c10a21a99c97f515a", + "_id": "f36f2bc20ace478fc7ecbc6df5df937d", "_order": 0, "cache": {}, "request": { @@ -8102,7 +8296,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8117,24 +8311,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1909, + "headersSize": 1897, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/upload" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/internal" }, "response": { - "bodySize": 128, + "bodySize": 270, "content": { "mimeType": "application/json;charset=utf-8", - "size": 128, - "text": "{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]}" + "size": 270, + "text": "{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8178,11 +8372,11 @@ }, { "name": "content-length", - "value": "128" + "value": "270" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8207,8 +8401,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.542Z", - "time": 279, + "startedDateTime": "2024-11-05T21:21:33.056Z", + "time": 228, "timings": { "blocked": -1, "connect": -1, @@ -8216,11 +8410,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 228 } }, { - "_id": "c861eac0e05abd75d70c21c6587f5992", + "_id": "26a0eae3c0a15f3d76eab3c87d2086d9", "_order": 0, "cache": {}, "request": { @@ -8241,7 +8435,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8256,24 +8450,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1896, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/admin" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/managed" }, "response": { - "bodySize": 224, + "bodySize": 93761, "content": { "mimeType": "application/json;charset=utf-8", - "size": 224, - "text": "{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"}" + "size": 93761, + "text": "{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8311,17 +8509,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "224" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8338,16 +8528,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.544Z", - "time": 372, + "startedDateTime": "2024-11-05T21:21:33.057Z", + "time": 405, "timings": { "blocked": -1, "connect": -1, @@ -8355,11 +8549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 372 + "wait": 405 } }, { - "_id": "7e3a8ff0fa4961b9619a410b1ffd7b03", + "_id": "8be795ddbd15a816c903f4481d7d145d", "_order": 0, "cache": {}, "request": { @@ -8380,7 +8574,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8395,24 +8589,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/api" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_assignment_managedBravo_assignment" }, "response": { - "bodySize": 205, + "bodySize": 901, "content": { "mimeType": "application/json;charset=utf-8", - "size": 205, - "text": "{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"}" + "size": 901, + "text": "{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8456,11 +8650,11 @@ }, { "name": "content-length", - "value": "205" + "value": "901" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8485,8 +8679,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.545Z", - "time": 375, + "startedDateTime": "2024-11-05T21:21:33.058Z", + "time": 239, "timings": { "blocked": -1, "connect": -1, @@ -8494,11 +8688,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 375 + "wait": 239 } }, { - "_id": "8fd8fc999451084e70dce83cdb01556f", + "_id": "0f479979ba0b7d49bb4ec853c418a697", "_order": 0, "cache": {}, "request": { @@ -8519,7 +8713,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8534,24 +8728,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1930, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/enduser" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_user_systemAzureUser" }, "response": { - "bodySize": 154, + "bodySize": 2502, "content": { "mimeType": "application/json;charset=utf-8", - "size": 154, - "text": "{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"}" + "size": 2502, + "text": "{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8595,11 +8789,11 @@ }, { "name": "content-length", - "value": "154" + "value": "2502" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8618,14 +8812,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.546Z", - "time": 193, + "startedDateTime": "2024-11-05T21:21:33.059Z", + "time": 230, "timings": { "blocked": -1, "connect": -1, @@ -8633,11 +8827,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 193 + "wait": 230 } }, { - "_id": "edc8d4459847a036cfcb858bc52a9cf0", + "_id": "8967000e5c469e312f46869604f69cb4", "_order": 0, "cache": {}, "request": { @@ -8658,7 +8852,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8673,24 +8867,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1934, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/oauth" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_group_managedBravo_group" }, "response": { - "bodySize": 199, + "bodySize": 861, "content": { "mimeType": "application/json;charset=utf-8", - "size": 199, - "text": "{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"}" + "size": 861, + "text": "{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8734,11 +8928,11 @@ }, { "name": "content-length", - "value": "199" + "value": "861" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8763,8 +8957,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.547Z", - "time": 282, + "startedDateTime": "2024-11-05T21:21:33.060Z", + "time": 278, "timings": { "blocked": -1, "connect": -1, @@ -8772,11 +8966,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 282 + "wait": 278 } }, { - "_id": "cd921971f14ee0c5e955d7887b8f336e", + "_id": "5f373cefd7baf3a1537401e32c681b7e", "_order": 0, "cache": {}, "request": { @@ -8797,7 +8991,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8812,24 +9006,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1933, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/configuration" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_user_managedBravo_user0" }, "response": { - "bodySize": 707, + "bodySize": 856, "content": { "mimeType": "application/json;charset=utf-8", - "size": 707, - "text": "{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}}" + "size": 856, + "text": "{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -8873,11 +9067,11 @@ }, { "name": "content-length", - "value": "707" + "value": "856" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8902,8 +9096,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.548Z", - "time": 426, + "startedDateTime": "2024-11-05T21:21:33.061Z", + "time": 237, "timings": { "blocked": -1, "connect": -1, @@ -8911,11 +9105,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 426 + "wait": 237 } }, { - "_id": "ce29aa0a09c80a87a98b616e722ccfeb", + "_id": "0207f574f0273ae55f429cb6ea1285d8", "_order": 0, "cache": {}, "request": { @@ -8936,7 +9130,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8951,24 +9145,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1901, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/dashboard" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/mapping12" }, "response": { - "bodySize": 1974, + "bodySize": 221, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1974, - "text": "{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}}" + "size": 221, + "text": "{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9012,11 +9206,11 @@ }, { "name": "content-length", - "value": "1974" + "value": "221" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9035,14 +9229,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.549Z", - "time": 186, + "startedDateTime": "2024-11-05T21:21:33.062Z", + "time": 246, "timings": { "blocked": -1, "connect": -1, @@ -9050,11 +9244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 186 + "wait": 246 } }, { - "_id": "c9763e7c616a05ef9d265a63b7b375f3", + "_id": "c52e9a3d12ecc4fdb76963f860ebd0f4", "_order": 0, "cache": {}, "request": { @@ -9075,7 +9269,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9090,24 +9284,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1899, + "headersSize": 1941, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/profile" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzure__group___managedAlpha_assignment" }, "response": { - "bodySize": 891, + "bodySize": 1890, "content": { "mimeType": "application/json;charset=utf-8", - "size": 891, - "text": "{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]}" + "size": 1890, + "text": "{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9151,11 +9345,11 @@ }, { "name": "content-length", - "value": "891" + "value": "1890" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9174,14 +9368,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.550Z", - "time": 371, + "startedDateTime": "2024-11-05T21:21:33.064Z", + "time": 304, "timings": { "blocked": -1, "connect": -1, @@ -9189,11 +9383,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 371 + "wait": 304 } }, { - "_id": "1619e8be49fb5a948dba768362dd885c", + "_id": "1bbc4f9da6bfb6ee5b7b8d09ac70fd40", "_order": 0, "cache": {}, "request": { @@ -9214,7 +9408,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9229,24 +9423,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1945, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themeconfig" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureDirectoryrole_managedAlpha_assignment" }, "response": { - "bodySize": 402, + "bodySize": 1912, "content": { "mimeType": "application/json;charset=utf-8", - "size": 402, - "text": "{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]}" + "size": 1912, + "text": "{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9290,11 +9484,11 @@ }, { "name": "content-length", - "value": "402" + "value": "1912" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9313,14 +9507,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.551Z", - "time": 391, + "startedDateTime": "2024-11-05T21:21:33.065Z", + "time": 308, "timings": { "blocked": -1, "connect": -1, @@ -9328,11 +9522,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 391 + "wait": 308 } }, { - "_id": "8491b762ea9e0d6de34b91e8d5d97a4d", + "_id": "33c39a686936ca4a048fe8ed78795d76", "_order": 0, "cache": {}, "request": { @@ -9353,7 +9547,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9368,24 +9562,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1902, + "headersSize": 1943, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themerealm" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureServiceplan_managedAlpha_assignment" }, "response": { - "bodySize": 90138, + "bodySize": 1944, "content": { "mimeType": "application/json;charset=utf-8", - "size": 90138, - "text": "{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}}" + "size": 1944, + "text": "{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9427,9 +9621,13 @@ "name": "x-frame-options", "value": "DENY" }, + { + "name": "content-length", + "value": "1944" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9446,20 +9644,155 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.066Z", + "time": 290, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 290 + } + }, + { + "_id": "e49472ca94bbac97edd83f9fa64e64d4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" }, { - "name": "transfer-encoding", - "value": "chunked" + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 671, + "headersSize": 1930, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureUser_managedAlpha_user" + }, + "response": { + "bodySize": 1583, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1583, + "text": "{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1583" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.552Z", - "time": 305, + "startedDateTime": "2024-11-05T21:21:33.067Z", + "time": 289, "timings": { "blocked": -1, "connect": -1, @@ -9467,11 +9800,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 305 + "wait": 289 } }, { - "_id": "5ca8829676f04c4144fa353bb14cbf04", + "_id": "6692c58345f71bfc94cc4b8615559cc5", "_order": 0, "cache": {}, "request": { @@ -9492,7 +9825,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9507,24 +9840,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1900, + "headersSize": 1895, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/uilocale/fr" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/policy" }, "response": { - "bodySize": 532, + "bodySize": 52, "content": { "mimeType": "application/json;charset=utf-8", - "size": 532, - "text": "{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}}" + "size": 52, + "text": "{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9568,11 +9901,11 @@ }, { "name": "content-length", - "value": "532" + "value": "52" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9591,14 +9924,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 663, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.553Z", - "time": 203, + "startedDateTime": "2024-11-05T21:21:33.068Z", + "time": 372, "timings": { "blocked": -1, "connect": -1, @@ -9606,11 +9939,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 203 + "wait": 372 } }, { - "_id": "454420d33ed0c57d57b363e9e200104c", + "_id": "51ffae64b1cf4519a279faeb445f12b0", "_order": 0, "cache": {}, "request": { @@ -9631,7 +9964,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9646,24 +9979,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1898, + "headersSize": 1909, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/undefined" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privilegeAssignments" }, "response": { - "bodySize": 935, + "bodySize": 493, "content": { "mimeType": "application/json;charset=utf-8", - "size": 935, - "text": "{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}" + "size": 493, + "text": "{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:38 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" }, { "name": "cache-control", @@ -9707,11 +10040,11 @@ }, { "name": "content-length", - "value": "935" + "value": "493" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9736,8 +10069,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:38.554Z", - "time": 278, + "startedDateTime": "2024-11-05T21:21:33.069Z", + "time": 288, "timings": { "blocked": -1, "connect": -1, @@ -9745,11 +10078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 278 + "wait": 288 } }, { - "_id": "554e50b0a97fed943f123c01f0fa6760", + "_id": "0efa4fab6ab26eb266b9e217050b5a78", "_order": 0, "cache": {}, "request": { @@ -9769,8 +10102,8 @@ "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9785,28 +10118,12834 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1869, + "headersSize": 1899, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/environment/secrets" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privileges" }, "response": { - "bodySize": 3827, + "bodySize": 36, "content": { - "mimeType": "application/json", - "size": 3827, - "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-admin-token\",\"activeVersion\":\"1\",\"description\":\"Long-lived admin token\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-03-20T14:46:13.461793Z\",\"lastChangedBy\":\"ba58ff99-76d3-4c69-9c4a-7f150ac70e2c\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-brando-pingone\",\"activeVersion\":\"4\",\"description\":\"This is to show the connection between PingOne and AIC. \",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-24T00:44:06.154598Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"4\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test1\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 1\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:13.904591Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test2\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 2\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:41.914076Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret\",\"activeVersion\":\"1\",\"description\":\"This is a test secret containing a simple string value.\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-05T17:53:53.682578Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file.\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:48:49.005574Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file (raw).\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:49:20.270526Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-euler\",\"activeVersion\":\"1\",\"description\":\"A test secret containing the value of Euler's number\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:27:34.607038Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file.\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:46:37.42544Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file (raw).\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:47:03.695151Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi\",\"activeVersion\":\"1\",\"description\":\"Secret that contains the value of pi\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:22:28.519043Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi-generic\",\"activeVersion\":\"3\",\"description\":\"\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-15T03:20:09.136266Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"3\",\"useInPlaceholders\":true},{\"_id\":\"esv-volkers-test-secret\",\"activeVersion\":\"10\",\"description\":\"Volker's test secret\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-26T01:37:06.116117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"10\",\"useInPlaceholders\":true}],\"resultCount\":13,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + "mimeType": "application/json;charset=utf-8", + "size": 36, + "text": "{\"_id\":\"privileges\",\"privileges\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "36" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.070Z", + "time": 255, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 255 + } + }, + { + "_id": "346367fff63d473b9b31139e8c3b8cc7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1918, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openic/GoogleApps" + }, + "response": { + "bodySize": 7392, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 7392, + "text": "{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "7392" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.071Z", + "time": 287, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 287 + } + }, + { + "_id": "27eeb9dba71020824727be35ba50246c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1930, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf.connectorinfoprovider" + }, + "response": { + "bodySize": 253, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 253, + "text": "{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]}" }, "cookies": [], "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "253" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.072Z", + "time": 199, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 199 + } + }, + { + "_id": "2cf5a648793b794fbac294b890b50470", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, { "name": "content-type", "value": "application/json" }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1914, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/Azure" + }, + "response": { + "bodySize": 11938, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 11938, + "text": "{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + }, + "cookies": [], + "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "11938" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.074Z", + "time": 369, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 369 + } + }, + { + "_id": "121e27e32d185eeaa57290ecc791e8ba", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1919, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/GoogleApps" + }, + "response": { + "bodySize": 7393, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 7393, + "text": "{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "7393" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.075Z", + "time": 278, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 278 + } + }, + { + "_id": "4b25a3218f271450d92ae9cf4b0173ec", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1896, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/repo.ds" + }, + "response": { + "bodySize": 40821, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 40821, + "text": "{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 671, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.077Z", + "time": 363, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 363 + } + }, + { + "_id": "964d1f108f79d6726c8f9a9ea2f481a8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1895, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/router" + }, + "response": { + "bodySize": 29, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 29, + "text": "{\"_id\":\"router\",\"filters\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "29" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.078Z", + "time": 231, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 231 + } + }, + { + "_id": "db9e46775a8fc1f06f1976aa2f264a5c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1895, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/script" + }, + "response": { + "bodySize": 1016, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1016, + "text": "{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1016" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.079Z", + "time": 223, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 223 + } + }, + { + "_id": "c419c3c504adf72d8d01000bfc9ed469", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1896, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/secrets" + }, + "response": { + "bodySize": 1863, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1863, + "text": "{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1863" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.080Z", + "time": 248, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 248 + } + }, + { + "_id": "fbe7ba68489c5d0631e41339e4fd7639", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1904, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.kba" + }, + "response": { + "bodySize": 162, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 162, + "text": "{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "162" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.081Z", + "time": 361, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 361 + } + }, + { + "_id": "6a7f6a43fbe911924cd85308a42e6808", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1906, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.terms" + }, + "response": { + "bodySize": 730, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 730, + "text": "{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "730" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.082Z", + "time": 312, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 312 + } + }, + { + "_id": "5318a04c884b184c62166b1a742df333", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1907, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/cors" + }, + "response": { + "bodySize": 347, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 347, + "text": "{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "347" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.083Z", + "time": 287, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 287 + } + }, + { + "_id": "4f6c64229907b8f264e3019172bb624a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1910, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/payload" + }, + "response": { + "bodySize": 121, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 121, + "text": "{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "121" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.084Z", + "time": 215, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 215 + } + }, + { + "_id": "999345e3a753991c10a21a99c97f515a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1909, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/upload" + }, + "response": { + "bodySize": 128, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 128, + "text": "{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "128" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.085Z", + "time": 260, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 260 + } + }, + { + "_id": "c861eac0e05abd75d70c21c6587f5992", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/admin" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 224, + "text": "{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.087Z", + "time": 264, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 264 + } + }, + { + "_id": "7e3a8ff0fa4961b9619a410b1ffd7b03", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1903, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/api" + }, + "response": { + "bodySize": 205, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 205, + "text": "{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "205" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.091Z", + "time": 176, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 176 + } + }, + { + "_id": "8fd8fc999451084e70dce83cdb01556f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1907, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/enduser" + }, + "response": { + "bodySize": 154, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 154, + "text": "{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "154" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.092Z", + "time": 271, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 271 + } + }, + { + "_id": "edc8d4459847a036cfcb858bc52a9cf0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/oauth" + }, + "response": { + "bodySize": 199, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 199, + "text": "{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "199" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.093Z", + "time": 247, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 247 + } + }, + { + "_id": "cd921971f14ee0c5e955d7887b8f336e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/configuration" + }, + "response": { + "bodySize": 707, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 707, + "text": "{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "707" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.094Z", + "time": 243, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 243 + } + }, + { + "_id": "ce29aa0a09c80a87a98b616e722ccfeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1901, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/dashboard" + }, + "response": { + "bodySize": 1974, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1974, + "text": "{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1974" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.095Z", + "time": 180, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 180 + } + }, + { + "_id": "c9763e7c616a05ef9d265a63b7b375f3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1899, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/profile" + }, + "response": { + "bodySize": 891, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 891, + "text": "{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "891" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.096Z", + "time": 261, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 261 + } + }, + { + "_id": "1619e8be49fb5a948dba768362dd885c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1903, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themeconfig" + }, + "response": { + "bodySize": 402, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 402, + "text": "{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "402" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.097Z", + "time": 298, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 298 + } + }, + { + "_id": "8491b762ea9e0d6de34b91e8d5d97a4d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1902, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themerealm" + }, + "response": { + "bodySize": 90138, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 90138, + "text": "{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 671, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.099Z", + "time": 281, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 281 + } + }, + { + "_id": "5ca8829676f04c4144fa353bb14cbf04", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1900, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/uilocale/fr" + }, + "response": { + "bodySize": 532, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 532, + "text": "{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "532" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.100Z", + "time": 185, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 185 + } + }, + { + "_id": "454420d33ed0c57d57b363e9e200104c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/undefined" + }, + "response": { + "bodySize": 935, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 935, + "text": "{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "935" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.101Z", + "time": 341, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 341 + } + }, + { + "_id": "9d5a767d3e7afd74ccd5fc8d823ed08c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2002, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "condition,description,name,privileges,temporalConstraints" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/internal/role?_queryFilter=true&_pageSize=1000&_fields=condition%2Cdescription%2Cname%2Cprivileges%2CtemporalConstraints" + }, + "response": { + "bodySize": 5392, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 5392, + "text": "{\"result\":[{\"_id\":\"openidm-admin\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-17\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-admin\",\"description\":\"Administrative access\",\"temporalConstraints\":[]},{\"_id\":\"openidm-authorized\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-18\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-authorized\",\"description\":\"Basic minimum user\",\"temporalConstraints\":[]},{\"_id\":\"openidm-reg\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-19\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-reg\",\"description\":\"Anonymous access\",\"temporalConstraints\":[]},{\"_id\":\"openidm-cert\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-20\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-cert\",\"description\":\"Authenticated via certificate\",\"temporalConstraints\":[]},{\"_id\":\"openidm-tasks-manager\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-21\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-tasks-manager\",\"description\":\"Allowed to reassign workflow tasks\",\"temporalConstraints\":[]},{\"_id\":\"platform-provisioning\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-22\",\"privileges\":[],\"condition\":null,\"name\":\"platform-provisioning\",\"description\":\"Platform provisioning access\",\"temporalConstraints\":[]},{\"_id\":\"ccb11ba1-333b-4197-95db-89bb08a2ab56\",\"_rev\":\"49c2ab5f-2da9-415b-b8f3-0ff7b4aec33a-8632\",\"privileges\":[{\"path\":\"managed/alpha_user\",\"name\":\"Alpha realm - Users\",\"actions\":[],\"permissions\":[\"VIEW\",\"UPDATE\",\"CREATE\"],\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"cn\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"profileImage\",\"readOnly\":true},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":true},{\"attribute\":\"telephoneNumber\",\"readOnly\":true},{\"attribute\":\"postalAddress\",\"readOnly\":true},{\"attribute\":\"city\",\"readOnly\":true},{\"attribute\":\"postalCode\",\"readOnly\":true},{\"attribute\":\"country\",\"readOnly\":true},{\"attribute\":\"stateProvince\",\"readOnly\":true},{\"attribute\":\"roles\",\"readOnly\":true},{\"attribute\":\"assignments\",\"readOnly\":true},{\"attribute\":\"groups\",\"readOnly\":true},{\"attribute\":\"applications\",\"readOnly\":true},{\"attribute\":\"manager\",\"readOnly\":true},{\"attribute\":\"authzRoles\",\"readOnly\":true},{\"attribute\":\"reports\",\"readOnly\":true},{\"attribute\":\"effectiveRoles\",\"readOnly\":true},{\"attribute\":\"effectiveAssignments\",\"readOnly\":true},{\"attribute\":\"effectiveGroups\",\"readOnly\":true},{\"attribute\":\"effectiveApplications\",\"readOnly\":true},{\"attribute\":\"lastSync\",\"readOnly\":true},{\"attribute\":\"kbaInfo\",\"readOnly\":true},{\"attribute\":\"preferences\",\"readOnly\":true},{\"attribute\":\"consentedMappings\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true},{\"attribute\":\"ownerOfApp\",\"readOnly\":true},{\"attribute\":\"frIndexedString1\",\"readOnly\":true},{\"attribute\":\"frIndexedString2\",\"readOnly\":true},{\"attribute\":\"frIndexedString3\",\"readOnly\":true},{\"attribute\":\"frIndexedString4\",\"readOnly\":true},{\"attribute\":\"frIndexedString5\",\"readOnly\":true},{\"attribute\":\"frUnindexedString1\",\"readOnly\":true},{\"attribute\":\"frUnindexedString2\",\"readOnly\":true},{\"attribute\":\"frUnindexedString3\",\"readOnly\":true},{\"attribute\":\"frUnindexedString4\",\"readOnly\":true},{\"attribute\":\"frUnindexedString5\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued1\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued2\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued3\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued4\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued5\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued1\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued2\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued3\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued4\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued5\",\"readOnly\":true},{\"attribute\":\"frIndexedDate1\",\"readOnly\":true},{\"attribute\":\"frIndexedDate2\",\"readOnly\":true},{\"attribute\":\"frIndexedDate3\",\"readOnly\":true},{\"attribute\":\"frIndexedDate4\",\"readOnly\":true},{\"attribute\":\"frIndexedDate5\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate1\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate2\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate3\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate4\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate5\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger1\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger2\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger3\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger4\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger5\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger1\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger2\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger3\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger4\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger5\",\"readOnly\":true},{\"attribute\":\"assignedDashboard\",\"readOnly\":true}],\"filter\":\"/userName co \\\"test\\\"\"}],\"condition\":\"/description co \\\"somerandomstring\\\"\",\"name\":\"test-internal-role\",\"description\":\"A test internal role\",\"temporalConstraints\":[{\"duration\":\"2024-11-04T12:45:00.000Z/2100-12-01T12:45:00.000Z\"}]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "5392" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 617, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.467Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "459d8d75bb3ed6a525129ece3e8f1c50", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts?_queryFilter=true" + }, + "response": { + "bodySize": 4770, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4770, + "text": "{\"result\":[{\"_id\":\"SAML2_SP_ADAPTER\",\"_rev\":\"-577565005\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"_rev\":\"-63881855\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SCRIPTED_DECISION_NODE\",\"_rev\":\"1150234939\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"_rev\":\"-368649962\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"DEVICE_MATCH_NODE\",\"_rev\":\"-1536797551\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"_rev\":\"-338014075\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"_rev\":\"-746247814\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"_rev\":\"-490232390\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"_rev\":\"107307772\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"CONFIG_PROVIDER_NODE\",\"_rev\":\"182663061\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"_rev\":\"1174777261\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"LIBRARY\",\"_rev\":\"-1558205449\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"_rev\":\"872263940\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"_rev\":\"2046366688\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"POLICY_CONDITION\",\"_rev\":\"388220933\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OIDC_CLAIMS\",\"_rev\":\"878016689\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ADAPTER\",\"_rev\":\"278562665\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"PINGONE_VERIFY_COMPLETION_DECISION_NODE\",\"_rev\":\"-457456931\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_NAMEID_MAPPER\",\"_rev\":\"-423449936\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"_rev\":\"-1131366614\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_MAY_ACT\",\"_rev\":\"1020205254\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"NODE_DESIGNER\",\"_rev\":\"1338109986\",\"isHidden\":true,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}}],\"resultCount\":22,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4770" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.709Z", + "time": 108, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 108 + } + }, + { + "_id": "b9c8ff3b3850442327eddd8e579e158b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2007, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_SP_ADAPTER/engineConfiguration" + }, + "response": { + "bodySize": 2944, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2944, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"2046582775\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.sp.adapter.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.sp.adapter.script.context.core.threads|10}\"},\"whiteList\":[\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.shared.debug.Debug\",\"java.io.PrintWriter\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$EmptyMap\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"groovy.json.internal.LazyMap\",\"groovy.json.JsonSlurper\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"java.util.List\",\"java.util.Map\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{saml2.sp.adapter.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2046582775\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2944" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.822Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + }, + { + "_id": "c12fda19d838281a12143b756c624ec6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1954, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_SP_ADAPTER" + }, + "response": { + "bodySize": 2365, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2365, + "text": "{\"_id\":\"SAML2_SP_ADAPTER\",\"bindings\":[],\"allowLists\":[\"java.lang.Double\",\"java.lang.Object\",\"java.util.TreeSet\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$SingletonList\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.servlet.http.HttpServletResponseWrapper\",\"java.util.LinkedHashSet\",\"java.io.PrintWriter\",\"java.lang.Byte\",\"com.iplanet.am.sdk.AMHashMap\",\"java.lang.Math\",\"java.lang.Short\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Number\",\"com.sun.identity.saml2.protocol.*\",\"javax.security.auth.Subject\",\"java.lang.Integer\",\"java.lang.Boolean\",\"javax.servlet.http.HttpServletRequestWrapper\",\"groovy.json.internal.LazyMap\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Character$UnicodeBlock\",\"groovy.json.JsonSlurper\",\"java.util.LinkedList\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"java.util.HashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$KeyIterator\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.lang.StrictMath\",\"java.util.Collections$EmptyMap\",\"java.lang.String\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.TreeMap\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"com.sun.identity.saml2.assertion.*\",\"org.forgerock.http.Client\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.lang.Character$Subset\",\"java.lang.Character\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2365" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:33 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.899Z", + "time": 85, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 85 + } + }, + { + "_id": "f405141846abc02ffaf3aaef8471a3f4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2023, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION/engineConfiguration" + }, + "response": { + "bodySize": 10242, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10242, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1701187927\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.access.token.modification.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.access.token.modification.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.access.token.modification.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1701187927\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:33.989Z", + "time": 75, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 75 + } + }, + { + "_id": "7e91474d874efe271d0086cd36b44d58", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION" + }, + "response": { + "bodySize": 3024, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3024, + "text": "{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"bindings\":[],\"allowLists\":[\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Short\",\"java.util.TreeMap\",\"java.lang.Character\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$KeySet\",\"java.util.List\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Node\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Collections$SingletonList\",\"java.util.HashSet\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.net.URI\",\"java.util.Collections$1\",\"groovy.json.internal.LazyMap\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openidconnect.Claim\",\"java.lang.Number\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Byte\",\"org.forgerock.http.Client\",\"org.forgerock.oauth2.core.GrantType\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.json.JsonValue\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"com.google.common.collect.Sets$1\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.StrictMath\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.http.protocol.*\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.lang.Double\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"groovy.json.JsonSlurper\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.lang.Void\",\"java.util.HashMap\",\"java.lang.Long\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.HashMap$KeyIterator\",\"java.util.ArrayList$Itr\",\"java.lang.String\",\"java.util.Collections$UnmodifiableMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3024" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.069Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "ec1bf5aaba0727981522ba860ffc3a6d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2013, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SCRIPTED_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 1110, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1110, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"695153507\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{scripted.decision.node.script.context.max.threads|&{authentication.tree.decision.node.script.context.max.threads|50}}\"},\"coreThreads\":{\"$int\":\"&{scripted.decision.node.script.context.core.threads|&{authentication.tree.decision.node.script.context.core.threads|10}}\"},\"whiteList\":[\"jdk.proxy*\",\"org.mozilla.javascript.WrappedException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{scripted.decision.node.script.context.queue.size|&{authentication.tree.decision.node.script.context.queue.size|10}}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"695153507\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1110" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.133Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "55b73fb9c4a07033564e9babb4c75c89", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SCRIPTED_DECISION_NODE" + }, + "response": { + "bodySize": 34467, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34467, + "text": "{\"_id\":\"SCRIPTED_DECISION_NODE\",\"bindings\":[{\"name\":\"samlApplication\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.saml2.SAMLScriptedBindingObjectImpl\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdpAttributes\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getFlowInitiator\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getAuthnRequest\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getSpAttributes\",\"parameters\":[],\"returnType\":\"object\"}]},{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.203Z", + "time": 127, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 127 + } + }, + { + "_id": "f1134be01bc996250ac108c8854af7cf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_CLIENT_SIDE/engineConfiguration" + }, + "response": { + "bodySize": 55, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 55, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Not Found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "55" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-05T21:21:34.334Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + }, + { + "_id": "72be59b5b76362177a2be94675e3635f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_CLIENT_SIDE" + }, + "response": { + "bodySize": 126, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 126, + "text": "{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"bindings\":[],\"allowLists\":[],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "126" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.405Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "2d243c44b5beb518653bf16062ae690a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/DEVICE_MATCH_NODE/engineConfiguration" + }, + "response": { + "bodySize": 905, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 905, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1807027275\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{device.match.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{device.match.node.script.context.core.threads|10}\"},\"whiteList\":[\"jdk.proxy*\",\"org.mozilla.javascript.WrappedException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{device.match.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1807027275\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "905" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.468Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "1ce14f7cd2c98106fccd1df6e1cd0d02", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1955, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/DEVICE_MATCH_NODE" + }, + "response": { + "bodySize": 34515, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34515, + "text": "{\"_id\":\"DEVICE_MATCH_NODE\",\"bindings\":[{\"name\":\"deviceProfilesDao\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.DeviceProfilesDaoScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getDeviceProfiles\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"}],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"saveDeviceProfiles\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"deviceProfiles\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.slf4j.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.540Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "ff30bc17965d64e3111e5470d8d0cec6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_TREE_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 10800, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10800, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1166660806\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{authentication.tree.decision.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{authentication.tree.decision.node.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.JweHeader\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.realms.impl.RealmImpl\",\"org.forgerock.openam.core.realms.Realms\",\"org.forgerock.openam.core.realms.RootRealm\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.placeholder.substitution.FbcPlaceholderSubstitution\",\"org.forgerock.openam.placeholder.substitution.PlaceholderSubstitution\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openam.social.idp.OpenIDConnectClientConfig\",\"org.forgerock.openam.social.idp.OpenIDConnectClientConfig$ByteBuddy*\",\"org.forgerock.openam.social.idp.SocialIdentityProviders\",\"org.forgerock.openam.social.idp.SocialIdentityProvidersImpl\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.PBEKeySpec\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{authentication.tree.decision.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1166660806\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.620Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "b52e2441a29167ae98617cb325fc48f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1971, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_TREE_DECISION_NODE" + }, + "response": { + "bodySize": 4742, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4742, + "text": "{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"org.forgerock.util.promise.NeverThrowsException\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"java.lang.Boolean\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.crypto.spec.PSource$*\",\"java.lang.Math\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"com.sun.identity.authentication.spi.HttpCallback\",\"javax.security.auth.callback.LanguageCallback\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Integer\",\"java.lang.StrictMath\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.KeyPair\",\"org.forgerock.http.protocol.Cookie\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.TextInputCallback\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.HashSet\",\"java.util.Collections\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.auth.node.api.NodeState\",\"java.util.TreeMap\",\"org.forgerock.http.header.authorization.*\",\"javax.crypto.spec.OAEPParameterSpec\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedHashSet\",\"java.util.Map\",\"org.mozilla.javascript.JavaScriptException\",\"java.lang.Void\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.mozilla.javascript.ConsString\",\"org.forgerock.http.context.RootContext\",\"javax.crypto.SecretKeyFactory\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"java.lang.Double\",\"org.forgerock.json.JsonValue\",\"java.util.Collections$*\",\"org.forgerock.http.header.*\",\"org.forgerock.http.protocol.Message\",\"java.util.List\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.http.protocol.Headers\",\"java.security.KeyPairGenerator\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"groovy.json.JsonSlurper\",\"java.security.PublicKey\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Request\",\"java.lang.Number\",\"java.util.AbstractMap$*\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.concurrent.TimeUnit\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"java.lang.String\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Header\",\"javax.crypto.spec.PBEKeySpec\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\",\"java.util.TreeSet\",\"java.lang.Short\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Character\",\"javax.crypto.spec.PSource\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"java.util.concurrent.TimeoutException\",\"java.lang.Object\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.http.Client\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"java.security.spec.X509EncodedKeySpec\",\"org.forgerock.http.Context\",\"java.util.HashMap\",\"java.util.LinkedList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.util.promise.Promise\",\"java.util.LinkedHashMap\",\"java.util.concurrent.ExecutionException\",\"java.lang.Long\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"javax.security.auth.callback.ConfirmationCallback\",\"org.forgerock.openam.auth.node.api.Action\",\"java.security.PrivateKey\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character$Subset\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"java.security.KeyPairGenerator$*\",\"java.lang.Byte\",\"org.forgerock.http.protocol.RequestCookies\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"java.lang.Float\",\"java.util.Collections$UnmodifiableRandomAccessList\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4742" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.693Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "76a41b00970b35e50cf5e3e3b5050e45", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_SCRIPTED_JWT_ISSUER/engineConfiguration" + }, + "response": { + "bodySize": 3095, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3095, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-229584218\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-229584218\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3095" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.759Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + }, + { + "_id": "24ff6ddba2eddeb2c9a894857c820c2e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_SCRIPTED_JWT_ISSUER" + }, + "response": { + "bodySize": 2538, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2538, + "text": "{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"bindings\":[],\"allowLists\":[\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Float\",\"java.util.HashMap$KeySet\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Character\",\"java.lang.String\",\"java.util.LinkedList\",\"java.util.Collections$EmptyList\",\"java.util.List\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.lang.Long\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.HashSet\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.util.Map\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.HashMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Byte\",\"com.google.common.collect.Sets$1\",\"groovy.json.internal.LazyMap\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Integer\",\"java.util.ArrayList$Itr\",\"java.lang.Character$Subset\",\"java.util.LinkedHashMap$Entry\",\"java.lang.StrictMath\",\"java.util.Collections$UnmodifiableSet\",\"com.sun.identity.idm.AMIdentity\",\"java.lang.Short\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Collections$SingletonList\",\"java.util.Locale\",\"java.net.URI\",\"java.util.Collections$UnmodifiableMap\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.TreeSet\",\"java.lang.Double\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Number\",\"java.util.TreeMap\",\"org.forgerock.http.protocol.*\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$1\",\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"groovy.json.JsonSlurper\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.http.Client\",\"java.util.ArrayList\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.util.LinkedHashSet\",\"java.lang.Math\",\"java.util.HashMap$Entry\",\"org.forgerock.json.JsonValue\",\"org.forgerock.http.client.*\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedHashMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2538" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.827Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "d6e0fa72a862e2fab10cfa3a4bf7dfb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_SERVER_SIDE/engineConfiguration" + }, + "response": { + "bodySize": 10000, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10000, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1454809063\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{authentication.server.side.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{authentication.server.side.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{authentication.server.side.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1454809063\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.891Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "009ffab9589c18207fcb8ca7b438d9f7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_SERVER_SIDE" + }, + "response": { + "bodySize": 2341, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2341, + "text": "{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"bindings\":[],\"allowLists\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.http.protocol.ResponseException\",\"java.lang.Object\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.LinkedList\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Map\",\"java.lang.Number\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.lang.Double\",\"java.lang.Short\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.HashMap\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.ArrayList$Itr\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.http.protocol.Response\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.lang.StrictMath\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Long\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Boolean\",\"java.lang.Character\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Responses\",\"java.util.LinkedHashSet\",\"java.lang.Byte\",\"java.lang.Math\",\"java.util.List\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Cookie\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.String\",\"java.lang.Void\",\"org.forgerock.util.promise.Promise\",\"java.lang.Integer\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Character$Subset\",\"org.forgerock.http.protocol.RequestCookies\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2341" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:34.961Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "396eb9d8266707d8325ed5ef503e4eda", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION/engineConfiguration" + }, + "response": { + "bodySize": 10020, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10020, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"506512925\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{social.idp.profile.transformation.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{social.idp.profile.transformation.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{social.idp.profile.transformation.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"506512925\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.032Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "ea6d8263a23ba22dbd9f5782ce12d39e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1971, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION" + }, + "response": { + "bodySize": 2117, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2117, + "text": "{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"bindings\":[],\"allowLists\":[\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.HashMap$Entry\",\"java.util.Locale\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.Collections$1\",\"java.util.TreeSet\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$SingletonList\",\"java.lang.Boolean\",\"java.util.HashSet\",\"java.lang.Number\",\"java.lang.Object\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Long\",\"java.lang.String\",\"java.util.LinkedList\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.idm.AMIdentity\",\"java.util.ArrayList$Itr\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.TreeMap\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Void\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"java.util.HashMap\",\"java.lang.Math\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.List\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.lang.Character\",\"java.lang.Float\",\"groovy.json.JsonSlurper\",\"java.lang.Short\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.Map\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.lang.Byte\",\"java.lang.Double\",\"org.forgerock.http.client.*\",\"java.util.HashMap$KeyIterator\",\"java.lang.Character$Subset\",\"java.lang.StrictMath\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.Collections$EmptyList\",\"java.util.HashMap$Node\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2117" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.104Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "8e601e9d50d150a2ae088972e895c5a9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/CONFIG_PROVIDER_NODE/engineConfiguration" + }, + "response": { + "bodySize": 10284, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10284, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-785993562\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{config.provider.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{config.provider.node.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.JweHeader\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.PBEKeySpec\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{config.provider.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-785993562\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.168Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "540e331b4e201bb64cf246a959112aeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1958, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/CONFIG_PROVIDER_NODE" + }, + "response": { + "bodySize": 4670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4670, + "text": "{\"_id\":\"CONFIG_PROVIDER_NODE\",\"bindings\":[],\"allowLists\":[\"javax.crypto.spec.OAEPParameterSpec\",\"org.forgerock.http.protocol.Headers\",\"java.util.concurrent.TimeUnit\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"java.lang.Integer\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Math\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.http.client.*\",\"java.util.ArrayList\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Object\",\"java.util.concurrent.ExecutionException\",\"java.util.LinkedHashSet\",\"java.lang.Long\",\"java.security.KeyPairGenerator\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Responses\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"java.security.KeyPairGenerator$*\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.concurrent.TimeoutException\",\"java.lang.Double\",\"java.lang.String\",\"java.lang.Float\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.mozilla.javascript.ConsString\",\"java.util.List\",\"javax.crypto.spec.PBEKeySpec\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.http.context.RootContext\",\"java.security.spec.InvalidKeySpecException\",\"java.security.PrivateKey\",\"javax.security.auth.callback.ConfirmationCallback\",\"java.lang.Byte\",\"java.util.Collections$*\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"org.forgerock.http.Handler\",\"java.util.TreeSet\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"java.util.LinkedHashMap\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"javax.crypto.spec.PSource$*\",\"java.lang.Short\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"java.util.HashSet\",\"java.util.Map\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"java.security.spec.MGF1ParameterSpec\",\"org.forgerock.http.Client\",\"javax.crypto.SecretKeyFactory\",\"java.security.PublicKey\",\"javax.crypto.spec.PSource\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.TextInputCallback\",\"org.mozilla.javascript.JavaScriptException\",\"java.security.KeyPair\",\"java.lang.Void\",\"java.lang.Number\",\"java.util.LinkedList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.http.Context\",\"javax.security.auth.callback.TextOutputCallback\",\"javax.security.auth.callback.LanguageCallback\",\"java.security.spec.X509EncodedKeySpec\",\"org.forgerock.http.header.*\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Cookie\",\"javax.security.auth.callback.PasswordCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"java.lang.Character$UnicodeBlock\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.HashMap$KeyIterator\",\"java.util.TreeMap\",\"java.lang.StrictMath\",\"java.lang.Boolean\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"javax.security.auth.callback.NameCallback\",\"java.util.AbstractMap$*\",\"java.lang.Character$Subset\",\"java.util.HashMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.http.protocol.Response\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4670" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.237Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "d65ee4c7537eb77ab293b9b048d523a9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_VALIDATE_SCOPE/engineConfiguration" + }, + "response": { + "bodySize": 10207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10207, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"724943250\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.validate.scope.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.validate.scope.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.validate.scope.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"724943250\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.302Z", + "time": 70, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 70 + } + }, + { + "_id": "53037e6a1d4b63143202808810498e7c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_VALIDATE_SCOPE" + }, + "response": { + "bodySize": 2454, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2454, + "text": "{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"bindings\":[],\"allowLists\":[\"java.lang.Void\",\"groovy.json.internal.LazyMap\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$UnmodifiableMap\",\"java.net.URI\",\"java.lang.Short\",\"java.util.HashMap$KeyIterator\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.util.TreeMap\",\"java.lang.Long\",\"java.lang.Byte\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.json.JsonValue\",\"java.util.TreeSet\",\"java.util.HashMap\",\"java.lang.Boolean\",\"java.util.ArrayList\",\"java.util.Collections$EmptyList\",\"java.util.HashSet\",\"java.util.ArrayList$Itr\",\"java.lang.Object\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$1\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.StrictMath\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.*\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.client.*\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.lang.Character$Subset\",\"java.lang.Double\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Number\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"java.lang.String\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.HashMap$KeySet\",\"java.lang.Integer\",\"java.util.LinkedList\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"groovy.json.JsonSlurper\",\"java.util.Collections$SingletonList\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Locale\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.HashMap$Entry\",\"com.google.common.collect.Sets$1\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"java.lang.Float\",\"java.util.Collections$UnmodifiableRandomAccessList\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2454" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.378Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "8d13feca649b01a2b14b61233808639e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1998, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/LIBRARY/engineConfiguration" + }, + "response": { + "bodySize": 2338, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2082742270\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2338" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.440Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "3733fdd16d267c62823274da1ee08416", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1945, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/LIBRARY" + }, + "response": { + "bodySize": 12377, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 12377, + "text": "{\"_id\":\"LIBRARY\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.507Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + }, + { + "_id": "30f2649a8fec9c473ea95cb13f84bbfd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER/engineConfiguration" + }, + "response": { + "bodySize": 10263, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10263, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1670013909\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1670013909\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.585Z", + "time": 66, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 66 + } + }, + { + "_id": "a1f4b401bf32959228e31c0b9fe88cc4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1977, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER" + }, + "response": { + "bodySize": 2500, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2500, + "text": "{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.TreeMap\",\"java.lang.Number\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"java.lang.Integer\",\"java.util.Collections$SingletonList\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"java.util.List\",\"java.util.LinkedHashSet\",\"java.util.Map\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.Collections$UnmodifiableMap\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Boolean\",\"java.util.HashMap\",\"com.google.common.collect.Sets$1\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.String\",\"java.lang.Math\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.mozilla.javascript.JavaScriptException\",\"groovy.json.JsonSlurper\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Double\",\"org.forgerock.opendj.ldap.Rdn\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Character\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Collections$EmptyList\",\"java.util.TreeSet\",\"java.lang.Float\",\"java.lang.Object\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.lang.Character$UnicodeBlock\",\"java.util.LinkedHashMap\",\"org.forgerock.http.client.*\",\"java.util.HashMap$KeySet\",\"org.forgerock.http.protocol.*\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.HashMap$KeyIterator\",\"java.lang.Character$Subset\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Short\",\"java.util.HashSet\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.ArrayList\",\"org.forgerock.http.Client\",\"java.util.HashMap$Node\",\"java.util.Collections$UnmodifiableCollection$1\",\"groovy.json.internal.LazyMap\",\"java.lang.StrictMath\",\"java.lang.Long\",\"java.lang.Byte\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2500" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.655Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "fb5919a7166f14e0616358d8f6459e24", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_EVALUATE_SCOPE/engineConfiguration" + }, + "response": { + "bodySize": 10208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10208, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1281603045\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1281603045\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.726Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "4bfe283851097669d66bd18b6c4b1d83", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_EVALUATE_SCOPE" + }, + "response": { + "bodySize": 3013, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3013, + "text": "{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"bindings\":[],\"allowLists\":[\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Short\",\"java.util.TreeMap\",\"java.lang.Character\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$KeySet\",\"java.util.List\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Node\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Collections$SingletonList\",\"java.util.HashSet\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.net.URI\",\"java.util.Collections$1\",\"groovy.json.internal.LazyMap\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openidconnect.Claim\",\"java.lang.Number\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Byte\",\"org.forgerock.http.Client\",\"org.forgerock.oauth2.core.GrantType\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.json.JsonValue\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"com.google.common.collect.Sets$1\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.StrictMath\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.http.protocol.*\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.lang.Double\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"groovy.json.JsonSlurper\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.lang.Void\",\"java.util.HashMap\",\"java.lang.Long\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.HashMap$KeyIterator\",\"java.util.ArrayList$Itr\",\"java.lang.String\",\"java.util.Collections$UnmodifiableMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3013" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.796Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "8f63d078ac26b1f61d8764f15bbdde0a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2007, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/POLICY_CONDITION/engineConfiguration" + }, + "response": { + "bodySize": 9969, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9969, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"733964918\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{policy.condition.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{policy.condition.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{policy.condition.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"733964918\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.860Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + }, + { + "_id": "c34e00c3feb4990d559e8e0bf23d1c1d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1954, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/POLICY_CONDITION" + }, + "response": { + "bodySize": 116, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 116, + "text": "{\"_id\":\"POLICY_CONDITION\",\"bindings\":[],\"allowLists\":[],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "116" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:35.939Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "d1494e8de30365eccc728ea0c9630946", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2002, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OIDC_CLAIMS/engineConfiguration" + }, + "response": { + "bodySize": 10178, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10178, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1485680579\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oidc.claims.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oidc.claims.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oidc.claims.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1485680579\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.009Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + }, + { + "_id": "a8289eede6c9a867820c3472dbb1938f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1949, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OIDC_CLAIMS" + }, + "response": { + "bodySize": 2809, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2809, + "text": "{\"_id\":\"OIDC_CLAIMS\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Float\",\"java.util.HashMap$Node\",\"java.util.LinkedHashSet\",\"java.lang.Number\",\"java.lang.StrictMath\",\"org.forgerock.http.Client\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"java.util.Collections$SingletonList\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.mozilla.javascript.JavaScriptException\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$EmptyList\",\"java.util.List\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.json.JsonValue\",\"org.forgerock.http.protocol.*\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.lang.Character\",\"java.lang.Object\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.HashMap$KeyIterator\",\"java.lang.Math\",\"java.util.HashMap$KeySet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedList\",\"java.util.ArrayList\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.lang.Long\",\"java.util.HashSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"java.util.Collections$1\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.lang.Boolean\",\"java.util.HashMap$Entry\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"java.lang.Byte\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Integer\",\"java.util.ArrayList$Itr\",\"java.lang.Short\",\"java.util.Collections$UnmodifiableSet\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"com.google.common.collect.Sets$1\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"com.sun.identity.idm.AMIdentity\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character$Subset\",\"java.lang.String\",\"java.net.URI\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"java.util.TreeMap\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"java.util.Collections$UnmodifiableMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.macaroons.Macaroon\",\"java.util.Map\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.openidconnect.Claim\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2809" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.078Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "cb4880c4fa535c07a5fca9b07ecf1d6b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_IDP_ADAPTER/engineConfiguration" + }, + "response": { + "bodySize": 3125, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3125, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"118811879\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.idp.adapter.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.idp.adapter.script.context.core.threads|10}\"},\"whiteList\":[\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.shared.debug.Debug\",\"java.io.PrintWriter\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$EmptyMap\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"groovy.json.internal.LazyMap\",\"groovy.json.JsonSlurper\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"java.util.List\",\"java.util.Map\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{saml2.idp.adapter.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"118811879\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3125" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.140Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "e7c64b976e433b5b150a38911fd7d290", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1955, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_IDP_ADAPTER" + }, + "response": { + "bodySize": 2367, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2367, + "text": "{\"_id\":\"SAML2_IDP_ADAPTER\",\"bindings\":[],\"allowLists\":[\"java.lang.Double\",\"java.lang.Object\",\"java.util.TreeSet\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$SingletonList\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.servlet.http.HttpServletResponseWrapper\",\"java.util.LinkedHashSet\",\"java.io.PrintWriter\",\"java.lang.Byte\",\"com.iplanet.am.sdk.AMHashMap\",\"java.lang.Math\",\"java.lang.Short\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Number\",\"com.sun.identity.saml2.protocol.*\",\"javax.security.auth.Subject\",\"java.lang.Integer\",\"java.lang.Boolean\",\"javax.servlet.http.HttpServletRequestWrapper\",\"groovy.json.internal.LazyMap\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Character$UnicodeBlock\",\"groovy.json.JsonSlurper\",\"java.util.LinkedList\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"java.util.HashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$KeyIterator\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.lang.StrictMath\",\"java.util.Collections$EmptyMap\",\"java.lang.String\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.TreeMap\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"com.sun.identity.saml2.assertion.*\",\"org.forgerock.http.Client\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.lang.Character$Subset\",\"java.lang.Character\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2367" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.208Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "6c43bb754178e3887922e7e24ae4ec0c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/PINGONE_VERIFY_COMPLETION_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 486, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 486, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-467921453\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-467921453\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "486" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.271Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "1d823cf3155e3066f7a1937d4d29720c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1977, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/PINGONE_VERIFY_COMPLETION_DECISION_NODE" + }, + "response": { + "bodySize": 15565, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15565, + "text": "{\"_id\":\"PINGONE_VERIFY_COMPLETION_DECISION_NODE\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"verifyTransactionsHelper\",\"javaScriptType\":\"unknown\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.338Z", + "time": 75, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 75 + } + }, + { + "_id": "dcb5e44392691784f1210103c6d6482b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2010, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_NAMEID_MAPPER/engineConfiguration" + }, + "response": { + "bodySize": 2338, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2082742270\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2338" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.416Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "a1190eee9276c16cd76480cc6152f6df", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1957, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_NAMEID_MAPPER" + }, + "response": { + "bodySize": 15159, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15159, + "text": "{\"_id\":\"SAML2_NAMEID_MAPPER\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"nameIDScriptHelper\",\"javaScriptType\":\"unknown\"},{\"name\":\"identity\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"store\",\"parameters\":[],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"setAttribute\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"},{\"name\":\"attributeValues\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"addAttribute\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"},{\"name\":\"attributeValue\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"getAttributeValues\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"}],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getUniversalId\",\"parameters\":[],\"returnType\":\"string\"}]},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"nameIDFormat\",\"javaScriptType\":\"string\"},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"remoteEntityId\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"hostedEntityId\",\"javaScriptType\":\"string\"},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.482Z", + "time": 79, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 79 + } + }, + { + "_id": "0cf204679c8498eb2d20815a5880a621", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_IDP_ATTRIBUTE_MAPPER/engineConfiguration" + }, + "response": { + "bodySize": 10000, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10000, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-189407528\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-189407528\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.566Z", + "time": 75, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 75 + } + }, + { + "_id": "4579dce8b9081af12db976676ea3c0f6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_IDP_ATTRIBUTE_MAPPER" + }, + "response": { + "bodySize": 2211, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2211, + "text": "{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"bindings\":[],\"allowLists\":[\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"groovy.json.JsonSlurper\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.util.HashSet\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Float\",\"org.xml.sax.InputSource\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"java.lang.Character$Subset\",\"java.lang.Boolean\",\"java.lang.StrictMath\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Byte\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.w3c.dom.Document\",\"java.lang.Object\",\"java.util.LinkedHashSet\",\"com.iplanet.am.sdk.AMHashMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.TreeSet\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.http.Client\",\"java.util.HashMap$KeyIterator\",\"java.lang.Double\",\"java.util.LinkedHashMap$Entry\",\"java.lang.Integer\",\"java.lang.Long\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.HashMap$Entry\",\"java.lang.Math\",\"org.forgerock.http.client.*\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"java.lang.Character\",\"java.util.Collections$SingletonList\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Short\",\"groovy.json.internal.LazyMap\",\"java.util.Collections$EmptyMap\",\"org.w3c.dom.Element\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"java.lang.String\",\"java.util.HashMap\",\"java.net.URI\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.HashMap$KeySet\",\"javax.xml.parsers.DocumentBuilder\",\"java.util.LinkedList\",\"java.util.ArrayList$Itr\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.ArrayList\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.xml.parsers.DocumentBuilderFactory\",\"java.util.Collections$1\",\"java.lang.Number\",\"java.util.LinkedHashMap\",\"java.util.TreeMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2211" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.645Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "43ea4295ab8a8efd4a8abad055b36e7e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2005, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_MAY_ACT/engineConfiguration" + }, + "response": { + "bodySize": 10186, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10186, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"248209503\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.may.act.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.may.act.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.may.act.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"248209503\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.710Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "d105bd285ebe93c4a911f17ba65e5fd4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1952, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_MAY_ACT" + }, + "response": { + "bodySize": 3115, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3115, + "text": "{\"_id\":\"OAUTH2_MAY_ACT\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openidconnect.OpenIdConnectToken\",\"java.util.HashMap$KeyIterator\",\"java.util.Collections$EmptyList\",\"java.util.TreeMap\",\"com.google.common.collect.Sets$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.HashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"java.util.Map\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Float\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"java.lang.StrictMath\",\"java.lang.Character$Subset\",\"java.util.ArrayList\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.lang.Integer\",\"groovy.json.JsonSlurper\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Math\",\"org.forgerock.json.JsonValue\",\"java.util.LinkedHashMap$Entry\",\"java.lang.String\",\"org.forgerock.http.Client\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.macaroons.Macaroon\",\"java.util.LinkedHashSet\",\"java.lang.Short\",\"java.util.HashMap$Node\",\"java.lang.Number\",\"java.util.ArrayList$Itr\",\"java.lang.Double\",\"java.lang.Void\",\"java.util.Collections$1\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.net.URI\",\"com.sun.identity.idm.AMIdentity\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeSet\",\"java.util.Collections$UnmodifiableSet\",\"java.lang.Object\",\"java.util.HashSet\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$SingletonList\",\"java.util.List\",\"java.util.LinkedList\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"org.forgerock.http.protocol.*\",\"groovy.json.internal.LazyMap\",\"java.lang.Character\",\"java.util.HashMap$KeySet\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.util.Locale\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openidconnect.Claim\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.lang.Boolean\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Entry\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3115" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.807Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "b9353680eaa61f2eb65a3378cf021dfd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2004, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/NODE_DESIGNER/engineConfiguration" + }, + "response": { + "bodySize": 2010, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2010, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1264359268\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1264359268\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2010" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.870Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "702601d1f98ab90cbc35a29c425709f2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1951, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/NODE_DESIGNER" + }, + "response": { + "bodySize": 34037, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34037, + "text": "{\"_id\":\"NODE_DESIGNER\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"existingSession\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"attributes\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:36 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:36.936Z", + "time": 71, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 71 + } + }, + { + "_id": "554e50b0a97fed943f123c01f0fa6760", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1869, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/environment/secrets" + }, + "response": { + "bodySize": 3827, + "content": { + "mimeType": "application/json", + "size": 3827, + "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-admin-token\",\"activeVersion\":\"1\",\"description\":\"Long-lived admin token\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-03-20T14:46:13.461793Z\",\"lastChangedBy\":\"ba58ff99-76d3-4c69-9c4a-7f150ac70e2c\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-brando-pingone\",\"activeVersion\":\"4\",\"description\":\"This is to show the connection between PingOne and AIC. \",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-24T00:44:06.154598Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"4\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test1\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 1\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:13.904591Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test2\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 2\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:41.914076Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret\",\"activeVersion\":\"1\",\"description\":\"This is a test secret containing a simple string value.\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-05T17:53:53.682578Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file.\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:48:49.005574Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file (raw).\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:49:20.270526Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-euler\",\"activeVersion\":\"1\",\"description\":\"A test secret containing the value of Euler's number\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:27:34.607038Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file.\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:46:37.42544Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file (raw).\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:47:03.695151Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi\",\"activeVersion\":\"1\",\"description\":\"Secret that contains the value of pi\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:22:28.519043Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi-generic\",\"activeVersion\":\"3\",\"description\":\"\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-15T03:20:09.136266Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"3\",\"useInPlaceholders\":true},{\"_id\":\"esv-volkers-test-secret\",\"activeVersion\":\"10\",\"description\":\"Volker's test secret\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-26T01:37:06.116117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"10\",\"useInPlaceholders\":true}],\"resultCount\":13,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 267, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.013Z", + "time": 132, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 132 + } + }, + { + "_id": "4f8db3e6af9f1358553cd5383903598c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 830, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "830" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1923, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"type\":\"text/javascript\",\"globals\":{\"secretIds\":[\"esv-admin-token\",\"esv-brando-pingone\",\"esv-secret-import-test1\",\"esv-secret-import-test2\",\"esv-test-secret\",\"esv-test-secret-cert-pem\",\"esv-test-secret-cert-pem-raw\",\"esv-test-secret-euler\",\"esv-test-secret-file-base64hmac\",\"esv-test-secret-file-base64hmac-raw\",\"esv-test-secret-pi\",\"esv-test-secret-pi-generic\",\"esv-volkers-test-secret\"],\"decrypt\":false,\"target\":null},\"source\":\"var secrets = {}\\nfor (var i = 0; i < secretIds.length; i++) {\\n var secretValue = identityServer.getProperty(secretIds[i].split(\\\"-\\\").join(\\\".\\\"));\\n if (secretValue) {\\n if (decrypt || target) {\\n secrets[secretIds[i]] = secretValue;\\n } else {\\n secrets[secretIds[i]] = openidm.encrypt(secretValue, null, \\\"idm.password.encryption\\\");\\n }\\n }\\n}\\nJSON.stringify(secrets);\"}" + }, + "queryString": [ + { + "name": "_action", + "value": "eval" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/script?_action=eval" + }, + "response": { + "bodySize": 17414, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 17414, + "text": "\"{\\\"esv-admin-token\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"WA+KfGA4sF5jj1NDdscngQ==\\\",\\\"data\\\":\\\"Uw4Y0m0wi5D44r+MOXRhRZX75JrJn9libtvG78s62BtPKf1yIcO7btRs5VY/BXSzNT1+8TuTjo0arvDIq1s2zUB/b6wwjLXkXmEJjZz0aVETpFIrZjAPz+L1Z3edBor1+GfWfELg6/Fo+38yKefkxIMEE8IQoCnomokghc1Dz8Q58QVHzZD2g3RRl3pTMiGYyvgAz+6faBphqh532aAvvdx5yHZeBSHgMohmb0QVft5CIEkEeRKCramyTCsOQ8j7JkhjoPOUqtyeAbNV1u3LKIyIS2OdxwJDn8xHp57RDpzJIka/VpqmsIi2o2LxmZIZ8YofbWfZsgQX6q1619BhtdaSrdLXNJsLwOPEQ9/zM531VBwsMofPB0TxqBuXROsJoLumRbmXZ2/aOAcZPRikvJPaeqBS91Uv1FBVKlNC2Rkm2CPyOfhnZMFOWHhBq5MeWDPCf8VT73phNd6gFGCKh7GT03xtM70SGWFF0T23EJtiBYLVXgZ63AVq0GW+Ep67lPbL+UeTHMl5F4SvMS+afL3mJFOLoYzoO1pXwRWOmNeEQxlejOlR+zoQJOj0nzvPMi3Su2OjtAWCHBl/qvdA4w3e3Xscl04ReB/GyfnQkuuu/1O4185NMRqRyIz0KrUKNF3H9CrYJWgSOEvsziUChPLlSmnuiZMlcZVhz8Eua5Fze7MdQrPhCEYLLrIk1ELdRAoGc7pzOe5GX/qw6B5g/rQcDTPZ1hhEF4cibB9Mt9QR141z1tYU5bBPqI2AZVNbt1lmGG1S7oH8gwSL0wMUq8jxVe2V5RTXFdtk1p8z0d9cnQNACxyP+6yMMy3+UhfsIHCYHFwuuJ4ef+giLXni8AdvfFmpD4O7taVlP52oxACvlPoBfVn/ESxT9ni29sBrAw4/k3w+zcQMnfEkLwFXTrVpK2uURCq1PSn39BrLHGzLbnvRCJegqtEyMtfOUiWLsf6aa5liueu0g/Lc9QbxAENYf3NAyYjlKP2AO35VNi6rkSBR8I812unoNNDjl/ipoPfitdmyPdVLVTfG+pOFg8i3IuvmXrr9dcJp8yO17xLEwMAChryAEK1OCcMswKSztaXyWOiOzvPZ3dbavrj3ixI13SyV7D6RvYurxOsHQeBmxgFCN6j0wi2K3xgnnKDB2xwTXz0HEatwHHrNe44NqJ3q7RZoZ70kAeD4XdjyctMIFoYUbtLRcTYlomsuU6Yf\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"5J96vHO9ichfp1ImTl+SWw==\\\",\\\"mac\\\":\\\"tfGRfHouJUB6MlJTGgwxfA==\\\"}}},\\\"esv-brando-pingone\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"sES9pD7NaF7OGYP1vbIuJg==\\\",\\\"data\\\":\\\"rXRznRTa8U99qDRUOrinb6A6tiiCBtbzkeOeBsZlBOAA2iTWlCZjfW0AddD+LUUetHm388NO0bBdq8Oh9Hfo6Cj/YG1lZV8VbCM1vRxbBdY=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"1RKdpn3httYDSLWlctTMWQ==\\\",\\\"mac\\\":\\\"7UFPd307KVaFXTdJXC9Zfw==\\\"}}},\\\"esv-secret-import-test1\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"C8u6FHlJ/gv8mQySP6YK0Q==\\\",\\\"data\\\":\\\"kxzPW28u1xYqk+WUp+MCcw==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"kcjOyjJWKyss/gXFjpeZlg==\\\",\\\"mac\\\":\\\"bXGWz9MRNZ/5kXBbSaCcCw==\\\"}}},\\\"esv-secret-import-test2\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"QAv35D0CPbatlG5pZLc30g==\\\",\\\"data\\\":\\\"voZ5e10o6XX7hdnd/HRQpQ==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"chI/bIkDDq9nygVGAOCVZw==\\\",\\\"mac\\\":\\\"V7qK9Q56fT/OHzhLkWtbvw==\\\"}}},\\\"esv-test-secret\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"nwI/Ku4D9eiD2Tlfm/pdiw==\\\",\\\"data\\\":\\\"p8dbzMcZYY41SntDOJ4SzIv/HRSu1VwQp1rZu/8MtjA=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"IQcW9fbbYq6d7EUEhlnF1w==\\\",\\\"mac\\\":\\\"yvPCWAH6VntxItxmh2RK/Q==\\\"}}},\\\"esv-test-secret-cert-pem\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"xT5nrL/mQSRAf4DywUtGbA==\\\",\\\"data\\\":\\\"NB87eXz27vVogXgd58aI84gTO8V9PIKBTDJKuvVTi6g0mcOLAaJw45ORMpvnnFpLhnMPCI3K3bPvWDC6Bh8KoDM6fkUYzvt/16zBjMOpPW4ULj1VdfzQCKUifeKQc7WCppfKwrZEQpm+iDQYkHuzfBQHNesGFssXQkNY/fxCcPKWWUf38PkKZwz0xCfnLBkIcrrld1xrOmZD2dALDmg/aBiEP0FSxWo2OzxDLq6jWTFXbF4Xpji9GboeJGpa5ol2cyogxfuOLxGZlveWVl/8ZUdQUiJ+hvzk41s2zKQtYc5rdyRhnGYAd8G0pXXfowMi6SF87myFoL8o+fbap1ComuG2ruq5vn/5SqOHgaAX+apx/XCzsy0SQb0UkTsm77YV+HbfSz9P5TRqWlOE4LiykCxVRtzmEEHGyAaweQX0SF4BImQ/msXeh2YUgsQB2ypKh1WyY8EthLFdUD0EX07eN14UDgkxmCEa+yMEyKqPQqZ8747NNM3+x8ds9qvKNOVPO78yqDG6NNafhCS6jCrQjXrTig9IiO3bB0u4dvl5gc9Ix0zxOTbAjuTxZt0g4MBCtXhRPzeg+0sT/KAPib2i1QmSBZDpgXBpdQHYOD7b24Xeyk0xpjan87HUoGAtj0VKx+ugCu3ix+uwR6LfLins/gpI9bKLUfgajU0Uz+j3aYnzdlkXbbF0lFbqo2zjEMLwYvV/fOe/0+OS3RPnHprGVKQDi/WeFKRyjbHE31RHQUSDzyojggrl/lqjD3uDbjAn5iUzqd1dDPcl4OoB2d4XIkkd1+RSQhSjBQBjBvJVfndhcbXU4bxAM7i7W96uF4aM7AiejanEt+wUm424SwWcKP0+11CIzL0wW1Gn2fcjx6jIibhf+HW5SfTF1FioVaGZJtBRf6b0N1QcBwRMv0F5q5cWwB/sPJZvlGxNMdUO2ETzRWDE1cx+Hv/HNeqjYarOHd7oin58+AbEI11wKv8xJQHtXJrdVBuzhcEEWVh6l0hjoUVIt84sPalkpalG+5qux1TSU2k0cNgXh7+SbJ46LoORaVYsjJxTCgRno/VVz8X8Tv9eVkgOU5V2QDwz1brezjcMg90fBcN7VC1bmXnY9ZNRSDMWqelDJLH7sMOh1twL3uutHPeVBLYPDVls7LyxL8lSBYcTYzZE9Uji7mCwaklcniYU7xBQaesX+/tw1+NK3+oXCa394qJPHDqBHAerv6n1IIC5H9nBZsJrnvgXRDkjIGWIlnzGAc8pP8cHQffu8aTk3gJp46SY4tMP+o7+3+l3/9zmcP7XP8arDZo2KXtXFTdRy42LfnRezU209juWaBshnlIG8yPorHplvh9Mf1oviS2FCempr6nBGJ2Ayks4a/ZIXHfHFPRouO79J5UWX9VjI2xPTomeNbnrA7AVCx6T0a3J0mSIU2No5eAYbpT2H8LukhKroHC2IGxVlnM4r9PDSB6mylAwNP67oqbxllh+akSX/JGaYz7InMT/LO6bsQnVoNPScVii6wrbRDDkxtgHESh4534nMA9Yp8UJmP/bEqMj3vai6GYNcTBkRNqMSSEK+91/pr6D8O7Y0ERJcQuzr/5JdtWnFky5fVge7hPfG8FDztgELHAh6SFFavKnt1oUMCYDfgyUgUGKwnA1PYwDMnDEHNrpJmWg/5XMCPD3J23YpyA00jXUdexGebVKusGfaw200bsD7MD8yb4aKWPEZUJ5fmScnKgHnCO0wFnNUzgI+y8aHfw7bIp6s7XuSMdV5UMjr63PFoKge/0r96LTrzVhYym/jxJJvzBRBMTbHsGUh4DLoG84nIvjDa9QwqzfMeDLJ4NR3GmcvMmfqkKZNWDjol17GVkEcLizPoRRajdc9cupYUsj+ngyCvaMOpuFZhtaipgwoIGd10Mqny1dDMvw/82W7qBJI5Q99m89MaeYfy/aHfr5/eVbILIIsCo+dvyyxsiB2Pe2o4K/jUIKAHjaGfmVKfnTpvY0xzGx9O1jDxX/Tf7u8kBns+awMiMGvkl4vLZ6SBAXbYPz2dPkfmWQ/Fa60e8Kr4XntgVyKr4pWJsEgVbEXVUgZ1rxAegvMCMBBrTYQfYnWivvbScVvZ/A/MMCau5GAoFglTlVDKF1F9X0Us61BG1K9IKm27mjoWB/quVlDpcNHqxhcm+zeg7XpWJtwoSHYz6FzJHGAu0jhqxQk0ImAzZ8vIFlcPdl9BVV2112kOb9SWRDDfaU6v5iNWY0qZDEBlbm6ublxKCsQQ1MglGSlX8QuB8Ktz0C0lxbWCtwKyJLzGqPUpBnVNJTLXO57DG+KdGYMkcj1gupEA/EP7cP/WWCHFBFrlqIqDae6Y9M4x9G02mX8lYGxS1rgFKxy5MCY7KNDIf2J3FA9O8E4q+SDUu/5co4W/0y2J+2Su5KMYavb6sW1PcfBm/tBcjkfgiuElhgv/uES68Vrqfe8yjcRazaKETNvGo0YbM6VMjB5Tlv/iXZlj5zpaV62H8bttMzTLB7trJPLiB45YAKOMicmdHrFwXfKCIUtcLXMX4LXsNuH3hG3uPf+D577AaR7zsvBpZSFxoW+FCaY88e79VK1lbFYnR5MgxiCAVE7JKtazkbRbtbrS9zeLjBy0nlILvdBdvEQ2Sp3Dv+QFfi1WCxQAV3krF+ls5V5NUmWkq/BaMGV3eP/GMzuPV4Ryddh2rrmFCdl56veBAnVBEvH9EWmKPSNtHzyFQvzjcuGXbX7xZLKvYhJ+33fTqyv11slJrLCkSq2GMU71dnU1m/2pNpRp7LsaygpP36DZ0NcK0xDJtRg+GPLiDU+7w5YSWCPG03LNZ1kKaePo9/yWtZDlfsjgCpRcCT3b5FRPXUQEtzQmhBEzTd3L7nCCTbY5N9QG8z0j/fRl5803BfZoQ2bFNtSh0F8OVs+wiaYgcgPDHKPx6NLW/W3OOEuSoeDtM7YOBrEKVuwiFuSmWajgWffylfmFN+299YfgZajDmDbWH/gKYt+y+SOtgzAwXPRcIa3IQ/QykZF/SrURp7vOInboPFkjmc19tD57alkqp6bgOCMZ1z+Q+L0XowMtxvEjLdG6/kUiXt/8PoPV6xfxnofjYOuRJKMzHpgOKg4UsKjApuGmoHj1Me2OQm+eppY+va71O4qQwhAm2Y2NSC0BIkYRogTBcufX0o2vYJSv4S+7q8+SWCl3l5TYnpaNOjQOGzacwXSkql/zHaz6LeYuSv9FJ3zH/YvNvtZxrt1i+Q1eRA6ihOtcawFMpZa7wU+eys4C0t1H9Ru3l++FGNa2BItf2eFvkBvJTn9Y+H/UTFRMsH243/9HGpQ7zkrlzCoPk3ZCsctveKXEbgCMnLN3E376231fCNMK9Pu265eMMbOIiPp6YGcO1iWqz8QtEGHFjCSdr9chNnfNMvpRURFMHS7Vw+7G4VcGp3lVkgxcP8FqOefKmjuAyiRnly/PuEopBb57ROF9ogSvg3TKR6YHu/mCv9c8AFgb34Is0g6mCLzR/jmaR4qw4Xyz1gZ0zMA9DrJ75HgNAgd9qFSYCuU6NV+F6cGQ6eJjhd62BFok1NFJPRDX/5JA7w/tNi/Gh3RoBFl+LZTguSEY74HnOzTtPHQ3hDqkSZ0slFRzVBJtEbuITuxGia260+wq/1AfdCJJ4oiyzOJB0DpzzsBB/2/LVqn5ZBIEudci6FRyJXKp2wafXMEhW3tlLPIRne4ntU5hR97PdqYpxD7UmlIvHtfatMOHlcTg8k0Cb9KXP/2Y2Rz0E8GRiRxQR3qgYhZmocCXNj0xBbR9Rza+6mn/10w7kpSaTxNbqtphhcrIs5hrgO73voC7preyrJC2ei9SmxpRIKaIJO8xE6\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"zPVY2zbBMxHJAy4IL0IzjQ==\\\",\\\"mac\\\":\\\"vuVh27tShWbveUetnDEKYw==\\\"}}},\\\"esv-test-secret-cert-pem-raw\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"xGtEcQDRImhLlBX4wpVK1A==\\\",\\\"data\\\":\\\"CxncS1GW9IYxbjZRZvgtPmEEy+CsvHRZYC010MYWWe9p14pWfyUmUqHrEt0sPksShL/1RhecXcwrJS4AjVbGZF6f/zwvZMEFqwvGsSvJU1AcmtlywAzb3JnhlDWIRiS4aPve+Nsfk/c0DpOEGHEsWl0c/9pqobPAo1+JPzN8gplbuWfavLm00/L08OHSgz8qry2wpyv1/s+6arFU0p8h2xWcGo6V/CNwjpTxgWVnUyNTo8JuXmfoP6crGLnjamoR9APP7zldXNxWFKrVHGb0hVozOQkPm+PjP6u6i5C2kkqzU9wEkukD5boCmKmyRXlYKBRCMt0yhUtXRdTmDD4HcCOEprgL7iHkLUMBHMgTlUUqiF4b8WRWDSobiL7SgFxIgmEVSvGz3/8vuXadh629qt1WMkMPsCVhjokz+Cin+k8h/arpRsoRrwuSC7pgQj6ZIRLfxXX+6gZP2AgaTkxsytJqByDjjbMr5NbG6ZQEJD5I5wAh1N8xtqc8YJ+mXbI1RGJZYyqghpX/TfvXomZqaT22I4ZeG7LSdRA7yy+kKqg1Hd5Qq38q/BLxXs7FdJee77mmTJQ+iDmGLN7zTRcc3dQt85GL0see7IGnjGez5kn+HWcv5zH3fq1YxDbUL/SMnm+DdD9X0P2CJMD0i8jIx1lOnw+VFrldxSDwIfITE28vCaWJwI5CBlXkERMWeeHWALwK/5dy/IyJ7aJhcLp829SFXOh2ALZXnhyf+KqZe+oXZWpIaxeGY+XM9OXi5GxmS5j9XcBF19h2k6JxpXQpaEmRPz1UqY28g47OxgtFZSPE7Bf6+YEkbGZDCsSGUwflBTkn5xylwZPttodx+ekchXqomCLfRCFELzNG/LrrmSKYi2bGNb2bOhl2cVJsTjvqTmprZyvG1qLX8sNTkMLTM/u0cNayt1ZRJCGA5cUVQNYbBw4YpuulLLgHCwp20fW1g09cIwze6NDSoxoLVdzogEOIeKELFZng59BmcN6vkl3GWftMEBynNEcHFo9BfaAifOj0PN4aAJsTLR8oPghj9DQhvGJ90KjspEk9S9boeLImDeH8XLI3b7WxmEFaC5yS2PfKAbhdJPzDjkP+pw8fTry07hmNccU9t2ZDoCyyKurhkZUA7vvdEu2K0IThd330CopY9HLtbFz0CGCM/c2S1/4hRydc2INRem5Smw/be36VTmKUu3H/2YhkuS0lkPrMkfzCSVbMwNOKyogm5avyVw7CeLhXTjQ/WW25y7WmL4CaBtKicEuoBK0v7YhMj2kdJIJ3ojqcvDdpxpx1F3CoJ0roHX74pG311vTPfzr1NagjQc4y/Im+LazdV+GRTiqgBUs+gb70v6GBQaxtxniuYxB07AgNq5itbJX1oFaJIVSQmULzTwddnUQwnjfr6/zxUSD/lc9KwF6WJwALfofJLVlNui1KCPGOG3O4aVYIhfulEydtGTux2kspmf2JwJRV1ZXOJYHmbe1xdARa1KsAcxouTBVQtK9hZqGWD1kgoAUtX+cSSi5YqkelfcGpQ+dREQPLx6Vy+nEgBdHKANulvdBrKtkrRlQEuzYzjtQOwhGV4Ie0XuppZuGkZ/4betveUsGGPm0BvQPI4ZIWXGT8kbGpev5wBoVQtCNRQKJPS97LS5+38wuiYqq5R8fJr1a7trIKufqnzIL/gRjJEnvOfQFtNu+VRYbFCPzH6jMNmLZ+uUO9Ex02dpUbdtWWmy5hDMSZPVCy8K/Y6k+Pvxp0DtcpnhgiLCLqG6EFiauOSHPnpKq/neNamFJZunCDW3TStDO5HGZH1zq03pi0qYTITTcKFEXAY7nfnLqzZMeGe8ehYmoeF7pMiRoIkyhrFx9tSbl2CBCWXc7pfsJt7DW5gWHftQI4EfiOMJsX2dqF6hYRPm0BnfMhnyscvTtEr0034xOOYnjPbkHhCjV7g58lMNLmAihjId+3LSYLYxWEcoR8nNH+QF+41dAjF50aNNSm/EhiJHbsSG21ekVo0c+FVT0smjvSwXs/wmi+Jb3X6v1Ar2gvHHSg2N4HW6GGvQx2B16sPFWe+OL5ZjZCHjnGe5Ejy0XDvWRuafGG3G9cFvpmrM664yFILyph/eqsJniH6tuHZPc6iiOu/VjnmRIju3/ViWbPHnGH3AMe5RymnIQ1HI8DwQ5XWVC97zTIV28dncXIyQgoYcQeFAlESlYhproXdAOERQ+timV2Mmj4z1mBEtcgrc2icxyXl+Ud5B5hFC9lGafeiP+PWs17K7u1bGDcYmn/yraWvmYhhGwENiko1eKPHvB4U0o0pjbhommxKiBTGyQwSL/RS0WcS/dtLuUeC15YCWY8Hj5rm4A3tbNGnMGapNagTQicuYIXeRHrJPk++RVDjDzjkaneoikxni50oyZfA5X3OrwYXLdsC0A+s2LN8m9JDlp8t657sKnAw+CK5oTr9sEc85haBm68GqZWFJr34rz6mz33FMJEay6jwJlVhWfjexMzcFyERjn2k4x0+q9Xbka/j0p9/v9RbYXJQBV7C4LN98XeTfZgaSHEeEPxQ04R5lY41rKVmagq8VF7gVIvM61BiKa/o1Zqiy9E+Liy7MRpR0XmMEYapK+8pgSeZg/ZxtRG382bTc8ZuPHApbFXr6h/qz1b5rZDHYEzWnpZHQIzuLRvXGvoqH5ZOO/8K/gLJ0hMDwpc0CnFOGekdaDmWk8POarWlXWsgagIbXWNsjfQTlbfhgvwpDIXU7CFnmqEWw/k9f4x0hAqZQzKjJ4NrmM80jq189gtPYEV9tyogzmB6aUXbP8mzrfTELHQTI1sOeb73iQ+0uD651shVTLvGNuL9W2gDD51FdugCQT1Gv0heaofpJeB6HyY+oNo/VTpdmUdlmCXlvpDi8498nohuMfwzZKabKantXoGCouOO5x2VuVaAfDvQCDK8I/RDTeq7wU4B6wO+cKKOA1ab9O8lP/Qs0or2UWQSluVMQ6bUlWENCg4hL7hKshyBlCMlqkw5lKgjI+PR97QeINkxGNLylhalr0FtXFwkJSsp7oABs+ETG7nRzJFk62S9SSwL0pV2hDEP+BCinqGnIHiRT+/kjbgGvpRxLHbIZORoH0nWcXACISs8dbCoiuoxpQ9ziiHZnGYpFmcGCvjedmMmFGVXP6IjEd5Abm2A7RXIRG0AjbaK4MAlqysSGC1lJWrEf6sDFVJrAsNgD2uS2hVfIoywTNLAEODsbEE505RCpFsiUGZryGUyUOMiMN2neT7big4zgP8gqNXi4W+hWr2cywF+rR5HeTWQWdD37EoxAEEFcWTmMntXEiSJC6MYs7fy1YG9nsXbBFmUQzN2W4LauzG/C6A4kUBEP/vTtTiCtiapn8Ji3qTt4HQW1p5t5s/iNJ+4VkP/xgk53SXz2VolmkcROOFD5/ANdqd5aDC2/BTkUAhNsh8z4nHzSPkSfWIAlfnKx1X5ibV8DwBRQg9q4Lbscmcq8jMYXl29V0r+Wvdb+RyaTyOeIq5+08mmowhuRd+r7r27eG2WX9o+H3qvEJ5Tl4Fvf7T7vCCnW8H4KRSu53A8WtkY/6nbUGU/RunstF6sKiqze+/fVCbNqYYx8nLfinJBiP2pwlkiBPIz1zR3nW01aAswi+Y8K8B0/lUH9yAqiPsEQ7uySmKb5RagL+6Qo8CWaXE3E8i+m71RCfMOCLoEGgOZGrXXrPS8VUKcMI7dozgPFb6TIXYmebvJwUfruocjZA1zLMtYn3adgsTWzkqRlVT58BFWVADJAYP/2CU7rvxD8KRKnIPwZ+RjzTs+gFoxdiI5XINwn+w7zdLOG4D+93GJes0r1W++CgoPBwulmyGgigtp+2k\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"iaAcf3kjkjrn1IlHXZLsMw==\\\",\\\"mac\\\":\\\"hDbAyWuULH+v9+/9XMgFxA==\\\"}}},\\\"esv-test-secret-euler\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"hXFEeuEzNap+Y4S+8Ndl4w==\\\",\\\"data\\\":\\\"SwkmRg8/Zopk2VQmV9awXopUrWJhMGlnyyOkYNX3FLTXI+HMk3jc0GuNsinl9C29\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"RrIf5yPAOOz4h44TpEVrXg==\\\",\\\"mac\\\":\\\"NfdPBUDtGpOTi3DVnNTe+A==\\\"}}},\\\"esv-test-secret-file-base64hmac\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"qg75pLv4E7wckR/EKlARng==\\\",\\\"data\\\":\\\"XdH+Ds7Pi/2+gkpJdN3InBIXWpt63QB0ZNfhWuXR1M2jYTJptmmwa3Jm3QyqOFn9TLgtrKwL7sOd9Ay/qS57Zs7jawIjE8duJnl7TqChz3MHgjQMQXib7Nf8TrCinN+9kRh7f3eIkjbDAy6R39mNrGXrEpMcVXKttXT4f7G8I6UmfceJBoXqwy9Y+i3siPaNIyPzNSwgQD3c0ZVZYLjCAtk1KgS5YvMQUwBNhJsG3DCUhOxJSCVojdYlFqvCkBlYsLpLeE44iblU6KbHbRqOqoOsjULIrOTM1C4mKORrAD+E/Fhcp+ofr41nKQ0rTCnBKCrhvOAJyTccV8bAJkn6qGOB7aTM+pKzI/D82k70lY0RVUUF+oB+PAKfozgF5PLcMOdzJ7a4nB96sdpe3k2TaTtrTGVjc9xLiBA27V/TxkpwJa9sbuM9276VjuXam2iYOU1ez+nvNTUmzhcNtakZJou/VkV6tvHtfoAtLURQxh7VB/gGlpzguAg7CeCJcX3OmminT+7rg6AQdrZE1xbaexZWfj2Yj4j2FabAzRWbS4HfBW3kZceQz6wgqsbo8DAJKe2wW4vi5wRUB+wqvZZ9d5h1CE10yWcj8J4Oi2Nh/8y6coVVPuCKbP9sKf3f7bNQgVmUtUgmubbMjLD46yusktuAFW5+esvRxCsCuoebIHdFV/fvi5zB57eYWHbAeCOw4VFKHLvMCTr4iZvL+xUuiRqFKeNcPmxKPMoUVvLWOdJN2ukbUQUsF0FD2f+Fwt8rgOLTpGrhp4U5Ew2Pa/Gv8M/yPGDR9LoJjqnRok17TcDuYPFOCbqkYGkzUdxjSLm5KSJROrIRUKg9xEs2+E+tz5jUXO2csUMB8HIjPNqtn8FEuzdfgyPZT06NId6M+NU98Bc4aGcpbz8lrvKxTC9/1gk91QRnLytU2r9g9wWOCP9l/JzROuA4pL8ylqZOD2fWJxywkBYNOEPlYcyhYiRT/TV13CjdDjP37ul5wfT0sgNnXFkZks77MMDx85zh/jJzB+db+3P36AvX4ecjBgyhjR9+FYEYoPJZ9OtA3ch35Sv1QBa1yMUdBhp9MUWrOnYZZnc6xgpp/ba+rcPlMwgVIVF1ig2J9PovJRviHPplB7AzIFt8ie+le4eZedo4ugpLSMGYtgFX6zdxVdM7S5qrcmKl+mZ6Cx6+uDOqP98RoAC2zv3A7f0ynPL0fMrb7pJVZ9psvh1uezmYiGYPn1IpwLTR9ygIwgb4taPhOflaMLL1DkZZLWcHu4XonaAuN7miymAl6prDrfU4n+skrDXX0aRumPtDB8gwYyyR1mFfc+m/xuxpDN1Y9A1IMciFY170HKWn7KLTpMXO3V/bk4Cfh4vfulwYszvF4NaNoZqP1GDIrLiDJGROE+E5N2NpSm2t1RBcIoKOYEK3FUM9PrJAaLIX6U7s4VgVq+MGyTdmCv0tHhzbkZ0aeSnp6C/DS5R7lljnpxgmjK3FKwHgEBK4fF/8Dixx78FGZsq4VaencUaOT+/rM18y6AXXkAG0VHw262xkDMGtHETKkBmOzq+qjHk1QTD461JgmjdtfUKH+eSW0AT+IePAe4W2wEkA+0XL5Z2d2IvG8yXZ3J04r1IYtHNkyiMopoJGiRRaIwFAWd0uhWy4erMpyTF3Nx+n8V9iM23cInD/nO8I2Osa/46ndkdELFLZs5s9aw9enERVba7bFeRgJB+V7u1y/KzOiYd11YlUttML+TJ9wTbUBffEGjbE1TaWmmWTJP53Y8UBvviZ59GsLHjB8W/rgCeDWttMqWwbaQYnXYtVhKBB6DSCZGxxy2yuvyRDpt+yLg6rYU0=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"2f1LOdjbGFu3l/Zsl8rJzQ==\\\",\\\"mac\\\":\\\"5X3tDWnMF6zaRdHACT4y6A==\\\"}}},\\\"esv-test-secret-file-base64hmac-raw\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"rKfe6Eb8qaaBrd/pIzg53A==\\\",\\\"data\\\":\\\"MrTTJ580x7j361I8Gm8iDtJGErcMt005vvIbo3M/EGqMdlkLF9TMPcXoRpYxlQ7vMtfER9H1V4IkKYwjUnmD5xsM5BM6mno2f0FAVdXd8bSDyhUDw2XBLP98Y2gwQqUiyD7KV/dC0IiUkIpVC9skxfvr7u+lVn0SCZo5EzLqqiE5tIyvtX8ObsY1ZVUDXXzrTAB3IPLYv/P4OHzo6yD34zjoR3oeHXwIXdokYe09nu+voQX9MzJjstvjLjUTdU43HoWFhaOvCLMkC5u6Cpk/DcnIC/WqNxDojCT3otOilPBAv9fXH4k8yaxGJmBkAUoT1fbtcFUvKxsh9gX8Tq1jt8Fyh7PEaQjKMEeE3qfRtk0FIiBdZSLUSWYIVvVKRwk18xb/kU6M7iCnvx4XZe3U//2tdWuf4f+vYS1788l4XpRMdeGGThT0sbEI1Nrf1t6xeVeJPP3vwu96fULOSd8XeBRTkhfPZeNOcAgWB1OidsvZabBSM8qK84BNxKmvL+7SqSr8PrE3nMn9p0HfWfy618Sxh+IkBvw12ygP1ZXrUUP1E7t6gtNoX9bV8kcKKDAqAqBoh0rv51OfoNVaxP6Hu77vCoisTcccN9zs4d0Fy/FUdI/+4UDKmSK2ryUJc3HqR4eIcbArBZpsBrz+LXR9nv4ACxv5qj2H3jmdb1NoakqDf76jAx5uBX2IKsbMaMnBzqE1ydvjGPUJkmbU6j+fKzFBNKjaUCOX9jxMS6usfznVWEuG+UOhVKOSfetpQZQNaWafSx3uQNHEecgaoyrABZ5aQE+Vov4vP6oZ+FK9XVruqpP8JLWK+Xog7dkuGKbdZYF9NVVS9e5pUDTNkSGPk8OHMgEm0Ln5eIiqoAgLUuVrp1PDykitXAzizQEIeAsPFFut1YoJpSK7qAyuu74vDG57LvpIZWlpaxJkg4sgX5+FoU16R45xdUXQkVOmjSTdiLzWqAMQ7K80Fq7wYFSpmSa5uhfBjrt3bQRsMMEEjrwL1KjjWo+/7ygBq7fnd4RWi98n8UxYJr6zz9GWNp/VwE05Srcda4NWx/SN9vNsV/ZXOWRxccL5YPFfjw5Thg0Cfv5vsUa4t+zycimw/3XMRq/KS1dDfz36mXWqea01U0xAlduyJ8TMGQ+StTCxlf/0CGwflWuCXyWvzvm2QTB2A1pyVATWTAM6Mf+HcQ95iGVgDisyi/aKrkpjVAuBL8piUibA7pRsbj5DCz2MWjf4WoXpDysfccwK79gMSsur3USppwb1exS7wgmwbW9jlF/2JKuOy1d1O+mmjh+g49et3qL1AuyRxrZXaJ+90V9K/S8Nad0FUT+QBVX41EdV95wnv0MsTxYGE7f81XLi+Qux+zLSZvhz8lyDIblQejWU0l0SWT2U24xgXJiwb51pI1v5b60Mnx0DAKR2OTMJQkA+CaVf8rKoq59d0wsveDl/J3YRQ7NOD4U2Kq8kdzDUXUrHiqEzsxTaJjb4/ZopIlNi5RAANdcX0KPHV16CDLzMXblgrZXKkQuduwokuXeibVffB8hvATgBXi+oRq7XUfS9vFYSW+gobGw3oZjsN5fGuQ2tEPrqCDKW8sqD8IIMGqKL+tHNvGGx+oK0UA+HnKxBHDdA6DEGJO5I2EPvSx5V7n0RmQMe44GpBt/pUiW9EKd4TXdN9JyLLZMScYu8p84vIvcPKre8El+IVX2j2o07N9mR4OUUUe/0hhGeu6v7Fdkacba9UJfE5hl8t1ECviw3YgrkjCyy/5aOLpvAA1zI0UTBSKHV38H9dIGq9vnw3QBeBenQX/l78yxOxzYSDmdxEDeWGOHYuQgmd61eS71J40w=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"GTlwFLZwZPVZLzQc5vG7rw==\\\",\\\"mac\\\":\\\"Ms4GNvbDih2qRT46OmeoDw==\\\"}}},\\\"esv-test-secret-pi\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"egzVJ9N5kVsoS8FP2W5pHw==\\\",\\\"data\\\":\\\"0Fyqo2u2nNu5cyrmAqjfd4+rIdxktQ2EnuzjlAkRLU4ZG2KfxnXrcRDRpmx66onA\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"DIzazszE53+/zy8JdvRBnQ==\\\",\\\"mac\\\":\\\"1TrfCcVj0FYvk3Fz0QDJfw==\\\"}}},\\\"esv-test-secret-pi-generic\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"1yeQYNIVi7Z0FtuSSMpQFQ==\\\",\\\"data\\\":\\\"t68hOUxdV//lqZi0DKY1hw==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"tdflfKuECcJCvne7EOsbdQ==\\\",\\\"mac\\\":\\\"ynJf1z0i3CwpfculWJETrg==\\\"}}},\\\"esv-volkers-test-secret\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"jdcKN1Bdv0BAL4aQgZYbNA==\\\",\\\"data\\\":\\\"hY1UA8uQ1ErUrfRFsSmLm44WqSV4P7PuxL60PrWcIDY=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"QYYY52TMMlg3l9F7Ne7lRA==\\\",\\\"mac\\\":\\\"HAi6/nJh8W3pvVaUp1un0g==\\\"}}}}\"" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "17414" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.149Z", + "time": 152, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 152 + } + }, + { + "_id": "00c59a598bc0a39925dcd05b5e05295b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1976, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 244, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 244, + "text": "{\"result\":[{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 283, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.308Z", + "time": 41, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 41 + } + }, + { + "_id": "880e1d131d59635dd44ee69bbc1be2b2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 115, + "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"515901845\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "115" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.358Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "5503ee06dd7c79e49bac04fc6fd39604", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.359Z", + "time": 93, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 93 + } + }, + { + "_id": "274f52cc72a61338f1ec66f332f437fb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard" + }, + "response": { + "bodySize": 131, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"436796111\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "131" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.359Z", + "time": 96, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 96 + } + }, + { + "_id": "2558303e6826898c61b79f0ac55baefc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard?_action=nextdescendents" + }, + "response": { + "bodySize": 1046, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1046, + "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"login\":\"https://www.google.com/\",\"className\":\"BookmarkApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"app-bookmark.svg\",\"_id\":\"2e4663b7-aed2-4521-8819-d379449d91b0\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1046" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.360Z", + "time": 106, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 106 + } + }, + { + "_id": "49c64431f90c263c4e22873dcf498dcb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1871, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/environment/variables" + }, + "response": { + "bodySize": 3437, + "content": { + "mimeType": "application/json", + "size": 3437, + "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-blue-piller\",\"description\":\"Zion membership criteria.\",\"expressionType\":\"bool\",\"lastChangeDate\":\"2024-07-05T20:01:11.78347Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"ZmFsc2U=\"},{\"_id\":\"esv-ipv4-cidr-access-rules\",\"description\":\"IPv4 CIDR access rules: { \\\"allow\\\": [ \\\"address/mask\\\" ] }\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:13.987057Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyAiYWxsb3ciOiBbICIxNDUuMTE4LjAuMC8xNiIsICIxMzIuMzUuMC4wLzE2IiwgIjEwMS4yMjYuMC4wLzE2IiwgIjk5LjcyLjI4LjE4Mi8zMiIgXSB9\"},{\"_id\":\"esv-nebuchadnezzar-crew\",\"description\":\"The crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"array\",\"lastChangeDate\":\"2024-07-05T20:01:05.216699Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"WyJNb3JwaGV1cyIsIlRyaW5pdHkiLCJMaW5rIiwiVGFuayIsIkRvemVyIiwiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl0=\"},{\"_id\":\"esv-nebuchadnezzar-crew-structure\",\"description\":\"The structure of the crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:07.343325Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyJDYXB0YWluIjoiTW9ycGhldXMiLCJGaXJzdE1hdGUiOiJUcmluaXR5IiwiT3BlcmF0b3IiOlsiTGluayIsIlRhbmsiXSwiTWVkaWMiOiJEb3plciIsIkNyZXdtZW4iOlsiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl19\"},{\"_id\":\"esv-neo-age\",\"description\":\"Neo's age in the matrix.\",\"expressionType\":\"int\",\"lastChangeDate\":\"2024-11-01T16:21:14.46187Z\",\"lastChangedBy\":\"Frodo-SA-1730238488278\",\"loaded\":true,\"valueBase64\":\"Mjg=\"},{\"_id\":\"esv-number\",\"description\":\"test number\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-05T19:42:20.943131Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"valueBase64\":\"MS4xMzQ=\"},{\"_id\":\"esv-test\",\"description\":\"list\",\"expressionType\":\"list\",\"lastChangeDate\":\"2024-11-01T21:00:21.315828Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"YSxiLGMsZA==\"},{\"_id\":\"esv-test-var\",\"description\":\"this is a test description\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-11-01T16:21:15.469328Z\",\"lastChangedBy\":\"Frodo-SA-1730238488278\",\"loaded\":true,\"valueBase64\":\"dGhpcyBpcyBhIHRlc3QgdmFyaWFibGU=\"},{\"_id\":\"esv-test-var-pi\",\"description\":\"This is another test variable.\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-12T17:40:41.283412Z\",\"lastChangedBy\":\"Frodo-SA-1720799681233\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-var-pi-string\",\"description\":\"This is another test variable.\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:16.11117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-variable-light\",\"description\":\"Test variable containing the speed of light in meters per second (as an int).\",\"expressionType\":\"int\",\"lastChangeDate\":\"2023-12-14T15:34:13.446903Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"Mjk5NzkyNDU4\"},{\"_id\":\"esv-trinity-phone\",\"description\":\"In the opening of The Matrix (1999), the phone number Trinity is calling from is traced to (312)-555-0690\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:03.141204Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"KDMxMiktNTU1LTA2OTA=\"}],\"resultCount\":12,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:38 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 267, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:37.470Z", + "time": 1262, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1262 + } + }, + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1990, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 413, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 413, + "text": "{\"result\":[{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "413" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:39 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:38.737Z", + "time": 1057, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1057 + } + }, + { + "_id": "6b977642417440b9bc117cf865b024c2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1991, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/aVNQQXp1cmU" + }, + "response": { + "bodySize": 3991, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3991, + "text": "{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"-1533212691\",\"entityId\":\"iSPAzure\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{},\"clientAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"http://schemas.microsoft.com/identity/claims/displayname\",\"value\":\"cn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname\",\"value\":\"givenName\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname\",\"value\":\"sn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\",\"value\":\"mail\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\"value\":\"uid\"}]},\"autoFederation\":{\"autoFedEnabled\":false},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\",\"useNameIDAsSPUserID\":true},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{}},\"services\":{\"metaAlias\":\"/alpha/iSPAzure\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPSloSoap/metaAlias/alpha/iSPAzure\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://idc.scheuber.io/am/Consumer/ECP/metaAlias/alpha/iSPAzure\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"https://idc.scheuber.io/am/spsaehandler/metaAlias/alpha/iSPAzure\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1533212691\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3991" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:39 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:39.799Z", + "time": 178, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 178 + } + }, + { + "_id": "d57da9b8b270a5179c43658a6863a87d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1985, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "entityid", + "value": "iSPAzure" + }, + { + "name": "realm", + "value": "/alpha" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=iSPAzure&realm=%2Falpha" + }, + "response": { + "bodySize": 6544, + "content": { + "mimeType": "text/xml;charset=utf-8", + "size": 6544, + "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + }, + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "text/xml;charset=utf-8" + }, + { + "name": "content-length", + "value": "6544" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:39.983Z", + "time": 2253, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 2253 + } + }, + { + "_id": "94377b08c532145d0686d3ccc08e9898", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2020, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l" + }, + "response": { + "bodySize": 1604, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1604, + "text": "{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-901720656\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{\"assertion\":true},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:mace:shibboleth:1.0:nameIdentifier\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"]},\"secrets\":{},\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMap\":[{\"samlAttribute\":\"IDPEmail\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"UOPClassID\",\"localAttribute\":\"UOPClassID\",\"binary\":false}]},\"accountMapper\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"}},\"services\":{\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{},\"idpProxy\":{},\"treeConfiguration\":{}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-901720656\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1604" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.241Z", + "time": 137, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 137 + } + }, + { + "_id": "e8ce97a39a50b7d0ef68e6e0d5c1ad4e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "entityid", + "value": "urn:federation:MicrosoftOnline" + }, + { + "name": "realm", + "value": "/alpha" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=urn%3Afederation%3AMicrosoftOnline&realm=%2Falpha" + }, + "response": { + "bodySize": 10896, + "content": { + "mimeType": "text/xml;charset=utf-8", + "size": 10896, + "text": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:mace:shibboleth:1.0:nameIdentifier\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n \n \n \n \n\n\n" + }, + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "text/xml;charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 619, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.382Z", + "time": 66, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 66 + } + }, + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2010, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 865, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 865, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"affiliation-test\",\"_rev\":\"838041851\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "865" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.455Z", + "time": 158, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 158 + } + }, + { + "_id": "dcea3a6dcb13032966723225c5134b31", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 8670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8670, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"test_web_agent_group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"test_java_group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.619Z", + "time": 147, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 147 + } + }, + { + "_id": "38c6b8f9cf2529728ebd21c7023cd093", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-504717871\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.774Z", + "time": 150, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 150 + } + }, + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 1847, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1847, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1847" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:42.775Z", + "time": 130, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 130 + } + }, + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 10677, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10677, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9829,14 +22968,14 @@ "value": "chunked" } ], - "headersSize": 267, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:39.104Z", - "time": 1090, + "startedDateTime": "2024-11-05T21:21:42.775Z", + "time": 149, "timings": { "blocked": -1, "connect": -1, @@ -9844,15 +22983,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1090 + "wait": 149 } }, { - "_id": "4f8db3e6af9f1358553cd5383903598c", + "_id": "4f61453430bd0d2ae640738492af9184", "_order": 0, "cache": {}, "request": { - "bodySize": 830, + "bodySize": 0, "cookies": [], "headers": [ { @@ -9869,15 +23008,15 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { - "name": "authorization", - "value": "Bearer " + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { - "name": "content-length", - "value": "830" + "name": "authorization", + "value": "Bearer " }, { "name": "accept-encoding", @@ -9888,51 +23027,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1923, + "headersSize": 2003, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{\"type\":\"text/javascript\",\"globals\":{\"secretIds\":[\"esv-admin-token\",\"esv-brando-pingone\",\"esv-secret-import-test1\",\"esv-secret-import-test2\",\"esv-test-secret\",\"esv-test-secret-cert-pem\",\"esv-test-secret-cert-pem-raw\",\"esv-test-secret-euler\",\"esv-test-secret-file-base64hmac\",\"esv-test-secret-file-base64hmac-raw\",\"esv-test-secret-pi\",\"esv-test-secret-pi-generic\",\"esv-volkers-test-secret\"],\"decrypt\":false,\"target\":null},\"source\":\"var secrets = {}\\nfor (var i = 0; i < secretIds.length; i++) {\\n var secretValue = identityServer.getProperty(secretIds[i].split(\\\"-\\\").join(\\\".\\\"));\\n if (secretValue) {\\n if (decrypt || target) {\\n secrets[secretIds[i]] = secretValue;\\n } else {\\n secrets[secretIds[i]] = openidm.encrypt(secretValue, null, \\\"idm.password.encryption\\\");\\n }\\n }\\n}\\nJSON.stringify(secrets);\"}" - }, + "method": "GET", "queryString": [ { - "name": "_action", - "value": "eval" + "name": "_queryFilter", + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/script?_action=eval" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 17414, + "bodySize": 87, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 17414, - "text": "\"{\\\"esv-admin-token\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"lmmChxCcIYj/0kLrIWB74w==\\\",\\\"data\\\":\\\"h/eU78yv0LsOricoa+TEfEAZCzOeSd9VDOXY5JizqDKKn2Be21o9il58YHfBSjbK96p4e6LxCUmlYli8QnQnfjkYV1512KkP7If4KB4cUwVISknIVumJj4SKIEp1p7whXJliWokxwLmlWSNjlm3pLwq6kjG7Iy07j3mW2JybpoyvnvE7M9GCkoo0ONx/KSC872bxCNNa/q3fpWxdZIivcWa6Fb2KNFuITWECSBuBbHaLV+VBYXmu2wfrjWtz3HtUUf5bThRM2oHqIv5VR87Knif/s2XSa1X8RSlu6zeE8DoSPhSJOkw0t/14BUmznrC3RXZ0a4nUL2TC3EBVHCocLOKNtm0ESYbGMuv1rztw4R1XICkm6Nh1vBSytWIXEV62KmlPi76tA8+G2EpatI0dM8dpGyv5HtwCqvxHps9xb6x71/9tKtJa5lCDdKcYlVDGEdzwFBkJm3s4nX2GcfBQWcDS6Wf5eoN2ITLzHl/Cax62J8dlWKFGflWqhXk8hQyB9PRPekLz5kF1/SiepgBIUTye4YeqvXM0wDWGqhPTeI9xSwMAUT3BURA1h4+9dtsDneK47xww0KXP1/cXQBoBv8OxZL/SHMOc4FVO2hfGpKoQtuvl3VKG9kDFKZkgLqoQUqNJHVQ0m1BP7qYAFibKcCzuS4oQVNfblZnqHCvcwnDymjAkv1JUe6/bqRUx9MFJu3Fjp76AG1J/6ml65vKpbTIAGTPJk9L1LV9nBW9irIfhuqfxkr2Z5j72rO/ouYVKX+FfNi6meoCSRoy6iU8lmso8HkWQYCG25YAF3r6Q/JyljESh8jBThEQBYiY5ghS2N4nzvKUW02vQur5MaAXcIukV+g1UQ32EvxfEy/KrXmON+aJatYmQ58+wjKWwY93gpnTxvC4Z0HTXafIA1usjp6Ge4DO1qN+fdtZZ2EAtmy46IIvWPgPlFX1wGh5B02+lO5pi6KLEqAyV3UbncAuUnH6LrTgdfGlg2ctbcTrvx+QDhvgJiLdOTW8bCylrPCekdCRsDA/kZAVjFjls4I80XcJEuxatAlgFk3UEVzq8Geel2w2UYy0rryKLr5NplCagwcy4+R8b470syhb1XuRy66CWqMmUk496WgcgQz2AJEfphpzxVJC5qJGnO/Amk8Wfz22/7aJg57l+7TQCLNAkQIK/881/ZOqn2gRkNNhRh4z6Lt6yQcg7cCBVNKfDdX3R\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"OAlGOmeZCvt4cGRoL40Klw==\\\",\\\"mac\\\":\\\"/VZXIvd0zU3L2mgZTNWVOg==\\\"}}},\\\"esv-brando-pingone\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"MaXdfSDOdwPrbeoakAWdgQ==\\\",\\\"data\\\":\\\"NvE/968UhN0cv8wSawnJBykO4YKYkZ6G3V9cwKBnOl2jDCBUZDsjl44IY6G3+VONV6k3+ZTW8z4a/TEqAbaNLq11nW6nA/60/siiIXi7BQk=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"Jk6JXMG97kd92lJbZ1wobg==\\\",\\\"mac\\\":\\\"wOQkvqbtUY4TmoRwnWXiqw==\\\"}}},\\\"esv-secret-import-test1\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"qz0PJ6BJYlWI7P+yVhj9rQ==\\\",\\\"data\\\":\\\"9OHFThIuQu4tCe3FBTXQjg==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"VfzYVfdHJPXazV4BXIV9IQ==\\\",\\\"mac\\\":\\\"tslpix1KbPofoO3KnAFQFQ==\\\"}}},\\\"esv-secret-import-test2\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"NLBaV8OGPAs8Fv+Vd9WVvQ==\\\",\\\"data\\\":\\\"m+W0P/6ZtdV1U7305Eg7zQ==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"OWuQ9MeDHHtj1Bnx6JPhMA==\\\",\\\"mac\\\":\\\"20U/X96/QhEE7w6Nu13phQ==\\\"}}},\\\"esv-test-secret\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"URG8z5CsK+CjKvJCcZXwiA==\\\",\\\"data\\\":\\\"NlcFzwF1VaDPI3J5wHuCl2LbnDxM5OvsiqKhg7beoBI=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"jWGRIjKvdvpt/wxEKMUdQw==\\\",\\\"mac\\\":\\\"fg/pIb9TgXX6+ioYNJJBCA==\\\"}}},\\\"esv-test-secret-cert-pem\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"98x+hc0AVjjmp67RAqx1Fg==\\\",\\\"data\\\":\\\"7h0inNKWwIpwOA59MBEsyM50IbJrkHZ8ZJW6L7hcygUuf7KafSgkjQfzP85MRfgiph/vOZ4vo4cLa4VvU/GH2VVSfxwolW8GqGgHRa92V6L2PyWduIKfxZ/IlztoaBwHsTbfawyoM/Zk2vLyrB2WzSo8rj9i14oSJB+/pUMmO8Y4wdU7n+xv1v80AGQyU8TZwXnlEQOy+C8/DsqQFBCKkxPQZMkgbMvNpN5wn2J3wjYc05zdIhl88rxZnivXLnlshn7MdBvCw/fODCZdszPc8gZ4L2rXS4/y+XEpXfHiKSAKY2RQkpMMeoqq9sOskYC7ZJtnyD+oR+s2ZXfEaEbYxmtfAct4EIP/881W/Y5UMwzogRYNwyauQ5UGTIiogI68To5TnH0KkwnXS0JaFIKDRc5R2HwG2zvkZtDzKuo06AOylX8RiWGryvm6txp9OA3fg475FC3E8PbCSMJTxgYviXwnKmqKXOHXOhwHvu8/jrDnequITYc+qDh9U7YwrWHn9KwBLTd3c7fnWG8tqqvHCGm87N8DnSOQ4iBGgQPoSObOcRm/syOXgoWfSlOfgZCrIyW3cspTZBkt+IEZ5SD6VhRYUxEmQ+guA+iV/heL16ge2jBX38H7TicixewFsbNCeI0zeNhvoOvABJkVP9U0scuOhqoTsLuEthWBSIQRmprOExsWhZoV6mp6P6NoRQ8l/cv8O40DshmgeO9uCaWnGHd7+aEHyZjp2UxTvS700Zad6WzpezSYFsC6oTU+mcucGbHF9NEdERRKBJi0tLzxewIKWfp82LXo0FgYOxpmWUVGgNbnP3w5omJJmFy+atHZVK7bxZOGfEYL61tQtRAoe4cwtf1iylSda4DXCs8PUUHIrPdBxIbegr23T9nyZQ7TimnImvmyStTBn5QelqzAIp6O9wu4Nn4LIpqHcUTSw5qr5rcLv8G4CJnoNNAdU0jRXQuTCHP4l+rO/VYZExZ1bPKTFKpGv7+dmLDajOW6Y9BUEcajQ7EnU1EKvqvpttteb20hyXbLxS4Bc+EgD7N6KX4BgWka2jQDwP/bPM02YKWjG5GnH3IzYh+fUfJ5F3PrbcHlcz1EBX0QtkiiKBQbGYXa+1f8fvgGVEJERvD7il22UiilaG7mSkhdQMhCtnO0HEu/vBvJLrH1SITT7qZIisvWv83zTGWgTbRwGwzj6cDpnjGwJ0sVTj/H1C13CL6Q818/86pL7f+kQXpzm6k/Fk8qsFUEXFI2mgZgTgx1gMsNK3PeaDZcO7EtJlA6pOUI6x8pQ5p9XnM+lgFm3zXU2kZVNZm3ofd14PG5EsMd+al/RgnkpQvJxWFN69d2ENw3MYzDyjgtpRmlwy5QymNuO7p8uQcQX+OyOdXlCdAxLJmWKdUCRmOdZ1AW+ORgd8kKG5PNGsTkbpA4lWxEOneWbEAotQCcfAFc9JrewyoQJ3skm6VDmsr4QVydO5VC8dzDOSPmbZgogA76o2T+jmIWpZ1U3HUZR8S6Up9AOqjtJHYT74hwvVQp8CR1WZsGMVKWNIKUpQUnC40Pvr3kf82zudUIn6bQOpkmPS08b0bAaK4RUDIRdybhRf+hhrA3r0akbssR4HXre9MUhRIW9A7xj1tqoE+A0e4MfXkulJXFUzS6LsVcLnxu5kLGDTnZRhgv0pcnw3m8zxJy4BUd8BgSENf90vUv1/GiqnC7HNv5sbby/V3ukiM83JpeYoo7hexL2NP/ytpDBdH1kYBN1B9tZwmLfj5vXz5VXahNW6Dx79DHVYlBeC1yybGS0M7Gl0CNsSnSUYlmx0z/uTaN6/Hk+k+t/jLFRCLFo1XYWtihzi+YYX8iaIdy2VZxAbANDQc1cAEMSVNCVycEz/l42zURE/2hAFNlMYn1zFt9jHLkjwtdgQrij+CRqI11BorZNYDBaUPpQ6VDoiCntYZt0NEkeUQ7zlKGYDnxKdt3OG9CUeTZsdbR1dBvF52G77kacI3fFArrlWkMkXm33jSIf0Q+Hk9m+6z8nQPB9idgpCS2NDsg+3KHaWrrPtGFI3ihZgyKCJpK4YY58+lqTMvy09u8vZjcqQdsjh4hf5L1/EY1QCkjzGEDtoZVNN1W0PUJ8rKucVz9fGRoRbNL7ecYtIngQ96EYOXcdyBVxrb90B95nlScOoosMwXinJW5+haxIPXoKdxhbsa3Tl9cU2j4Q2yikPzuorRm1r0Vbzu+C/+ogTssSWQKW6wrUA4CGhPRS3ObkXOlNooUhnaJlQ50BVdEJy26pM+U3GgwawIuioeP4w1nM8ZQNk4UL2kJV9RlLJT4wYUYaBat2jgFOWqz0I09s6YNo19kJ5q2SS1oIbGhVMc092iUKdFXPXz9mzqdWhHgBy0kQIip77lVMZAo9eBPNjF2/UoWUhUvyqR0jz5es/KOlk1s7xxh2Yru45lZt6+b+udMNNw51XzQHoKN9FDk8JSZweO2xHiymKcAOCwsaNY9XeHnVOl5CWOgd0KjhfvRutSFzThFaTdOj9qE/cofUyRZDLuhZvHksfUF6yUBplqhXXn+nDt6ucp89E6b766+471rPnxKQM1pCPnn4Tht5VhFIAEyVN4qRxDq+hSa9GuYUMdBq1m2naUAyEkzxiwVUa9k5AIdCsReWL/zxKiCyDEDJByWtt9t754enwHMpnL+D8h3Xcv1RRh+X17oEPq01OxNajhN8PI7QjD9jWl2p0Uh16tJC2Dq9kqIVTWrnY9xIGDQCk2W7+aOuiR3DP3vg7AykLMKxloXsHavKGb5/rlMrHLBIRlf/G0DiVhYTCFG1GxyL0SEPbF8ZDJgnSnkdiISSMQ3BetWBu+klV0a9N9yT0nC3i9W4Bm++VtfAv2rlD7vL9FyXRUzybGlWnRkx4aDsXkERBiBGozofPw2JPBGljoKQ3cm6gc/cb1QOJcAZ2FyL5+hr8jHpj7pWhATqKe8oc5YZUQd7ZrWVEOIgrY3K8WHDHznri6V9m7FYYv25N3b+vojzBIgYL8F4VO/GDQhwh3IhnDOdNJhK+Lrp8B4RkfOoDMKOEgXZOKh4YCgksyNCvub19wVD1TSpszl8JJlyX79OcYpmsIS99FrlwcLnQ5lKNy/X2dEgYwUC3x0GuubdYO4paRtsIC+t3CFqvSVwUlXFveGZtDCVhEwcvf7SjvCYiYQLn0nq8sfXpvcUtBN/+/844Ot4O0qRFubeH2iF/MX2/dBC2i91eTo8uc5P0hRyiJfJfx/EIfq6pwKHJY7iUDmZlzV2MMqWC7AU1q8At14YFJYPR07QRDXOJC/exj6PkWFGcK4v8LOQhuJ3IA39VvVEqRMWKkNdwxSq0bScV8mVyl+yyfKx8SmI0K7X540XNFV6VXJxmO3VrH1xjAzwFrDBslUQMt9zuPxPD09Pg4i3N0jsTgPghNyXpUBORXZ2y+tAOqU83dBkfkB4V1L/0IKQvgyv9EHOWjuvUgupXlvmjHvziTlhQW9D2jNNX5yNHXlvHo2PKr0DQY9lvYutTk5o53cRsaiBuv0gQmp5bwh67nlpaocDchVHxVfEmb7Kizvm0LQ9JhahTuPpmrLYhwlGqKTxqLhPNL8B+fFy7S86LnTeb/6b/N5jD/qiMzKdBxLyGRgdBUjO31Jq/CGsc3zq6g6c9u2oB6FdOjrgI6t0xNiVR6tOKfUhOhWmc2VBj7HPhlD2kod7zwtSLCAeO7eE+zUwTz5XMAAuhvOvf4WOspbV3bY9tJFFwaKEH/03FaTLGduTV+IVddtwFiCZTeHlYoVZITRANSpKf0Zjqv+bCbxQ6rgcltF1EB3GaXqeCn/WR9j2oQRV14VNlU9gMtQbrhFZwpOZwiU\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"ZFnRNXa/dI8wvGKKEWlgpQ==\\\",\\\"mac\\\":\\\"wCReb+d/vGZHnLlEPkIEjg==\\\"}}},\\\"esv-test-secret-cert-pem-raw\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"F6v5q3uWWJEwMB1UUsEOPQ==\\\",\\\"data\\\":\\\"58eyUlEKvUVx+jSFMARamVdiC7b5YvXZmVzKG93nIHOi8o4Yyscd2J82uzEWhtEKZIbOl10S/OuLb4BEfP9TSetyg62b42FHn0qn0akuS8qBrBn1Z3Q6Qz5UdAUtBxHC7f0BRgGkR/JAHJNvll2SX9ylzjTZpOVoKCzFdTcUootyTi0FvuLn2gIr9JcoRmuSWdK7X4cqK48h9d8F2Spqv/B8Ta/h3Owi2rmEnA3XO8AyRFeZhBT5/DMl2y1mybKDAhfJ28hHS2Cei8q8yML4mSDcOpxuJmT4goMeujv4TGjZ2JqOu4XWXPhvL0z18I8GnIh9bE/ZOVKxn5x5wzYL6Ax2+jXPY7P/0QQ/fq/QAyBzSit7vytv1s40TPBGE1/mFt1VAQuipR8NGryHvH40XStVAL9tPjm1xN3Am2za5LtpNEOm3PchHzR+IrPYSnpmn+RvUMRFa3DLq/5dACn7OJyOeZCXs0W2PsGl1bftP0ohoZaiza3eaEaBwUj2nrxMqHmEtmzz4bgkcdovuvRdQrPzEDRB/prA/PEGG5HBimmZ2KpT4TFVLdoJOeWFrcbRPiFwHixSGriHefd1hILUwm2dSeqBVeU1noba0IcunqJH8dqc2VgT1xYNMoaCWjIcYIiavZ8t25TqO156w75HCl7SqtNCErmRdsqdYh7fkOVBiHJM+Xqq1LO35OkMWDdjGPrRrQ2qmx3MqUZxn6Nd6ZZ6bGN0Hk3SYYItZclFCtYl64PNfKl3OvV56UUv5uzEITorNbjxIi9JsBJP+ssi4VGJ/bfEoRSj/Zi3A/vlh8zBKWQheGXWxFJYTKRgHXydS3e9NL/w3K7XS9VVuE+D5/48bk8K4jaFOBEz59IElPkekUuIpm0xN0gPIfRXypYX02fTu/7GRV8JkvV8R3Yu+BP1pPEzQNjuTgfM09H4IgCIoe8HIDjqApBPWmn43DhCyCjdDxRh5SawE67bdkRxPBGbzoTWgjICbGyJcDRtggKDMnVN2F5uINn3rWjsQPQGsFdij/nONmS8JGBBS5jcUKcBZAx0qV7WoqXZTsst6lJyrYl+mm9eU66/q/VXiEu05TdKTrKLqSliIsaET/pq/kUcMxxJo+39yhSNpEvtMpW88Q1W0CM7KpWpWPfxTLWlb7PAH7wbcs40ZQeH61O7H5WBPdqkpBxSVbF+RwW4wb1Aq4K5IIqsW51jyQ+WyjYhbd6TFDZYgdRG5c6fClUq+IOI8GR6GGL+shX8J1TkINqa0bpun7CFxLj0wYBXftbn9LVoDax4bXfhWMn8Br50naZ2AvdTgwhe3ZuwIlEnBhOpvudzbirOGd9e6X9ML6P9MRyvTflOmwlbFOsIHX4Cdf9lRo8iuZD8mCIMS82y0Gi/aXYTHtt2IhpPkLRM1bI3LPxCK6V6JLxAMkzNMe8fFjimqI9QnaLqb+BQ73+h2ZkgSaJdsKHeGD5/z8/zgBVesqMDL2ectPSW7P5IRZsz1DAJTn/W/ZdRvJX+Y719rZNzDOOtvSd7gYBtflpdJZXX+cTHHK+7mTs5nvrsI0HaQ77UIiEWmNByZiDtGgQ9IHfzgVcAV8ZWsXq3pjHYjI4HxjCqcsNJzd7M2E3/QRvMSimLrkGDSZP0vorbmJ2Fxs8UBKYV+Z6sm8nAlmlWShRsz04oBFHDPx+hepU9MwUL78aYLcfA0R5/Hex6zO404xHGMXPYkGRJWpklv00UAFqFVILTLbawcv3aKMC+j57eV6F6FllthGKPFBOIXNjxP7bvbqBIVMN7AAsgBgxweaDN6y8nX8aXJRx6UVdvr8otXrD3fPpFgGEpUnfALCRw5odExzzvt6AA5pBhLH/gDD2MsnZJWmSxmDBEYYIQP/NaSH36f/akrhWI14L0TczKXiRDPsuv+3V0A5bggOgSpyiV5QSE6exSTP+aALT2Va6msynAXd/byhNEdJKz1SOy059joKfO7K6iFfwxX4IZZ3OwZ/u+fpNE5MTCqQ8Uu6iQDWcEwPCnkPaWtxer/W8cCGm4JnzQ9VxStST672HeLB/kzPbGNYQmSXLDH6CI4CXS15pywrJV5a4Ov4uc/RYh1fz74SEihtte+VIIaZA2wfWDZK+3vIggBYZID0QIVJlA32Akb8Tf0o0Vj6CRY+vAlrVLL3bycGfGUpskgYdQC1S40ozEMUig1K3xvKntc8AXmlumeIBFx0nQSxQ370DBAiWRHyVn/5KyaDlaYVkKw4/m1H2GqNqz/OG6ypAs57PSEqPt9AFknxPz6f9koH5jDQoj+4Zxw7ioU2eUAWQcuQ3PEKwArXU362o/F57MxMiSGKDSr9f/JUYu4Cx2Ol3ABY6rO3XAzBFYJKkbZuMTGH+OEhcntmfi7pjkpNzb1ZCrI8m0hlWqvOzI02AMdkfsdhtDLqoGEjeMIlB2NdDYNHKzJNaZLeAQOO5UUjM4qoKaEicqsPznaXBzDV5nL6+Bql4sYToJXpoEcL7uj64aQgQLXZgo/P9OcB5ZG0YMbd4zYdarI83pRFGICgpqhYo1JxFHBtvyC2mfyUQ26o1WbLN3gKtxMpsy7eq2RpEZ2fLqwzhAFdK1X0IPPFUEaZtR9kpqty9V/1CINlEQ1uymE3uhfV/gNWA1cZ73V8IYQHnGgez675kZnUFN+NZXB5PmkYphy2MZVDMdc4X4Xl6M4fzNd4oi1kfTK7QUSIrs245IyUFht5l/NhHCfALh8CmSrS2m6R+3My8Y3JCjWBQl/CUEmn8atEqbazrWxisUQaABGTbQqQlWD7CvjzMvy+UY0QReV1l7YvnDbOFHYefpvMinfYHuuzf7+jibXxx3bm/QdCMeKp60KMjcv43jUh1qRx4zktGVGwbSLm3Nuuv/hJJH4r3hE5o2ovXM8pwkFxjYg9x/cqOnPX3C2LpptIZJjIy4diBV44aIeha6etf3txsUBnfi+vblLDYhFbwc7XaPsRaj/su7NCRW8MKCe1Av1Vjnh4MLud3Ky7baSJVM0AelhY0gOnPYZApV43Tgr0zfed75URoA3HTu4EUOicy8UQaEYOlvxpcpCZHrL2M7RNTqBmZ25jObsxZrpE5ijF9g1TTl37MVX/rMIuUo0UMVliAfcaBqSPg0NGkfYXlBt9kLVIck2RLhPDDK1o4k9O75AXNSB4dx9omjA/Cnn2TmpOJCusiysZnt6xv4ScvGrXhHIrIAj7jh682FGI0TEZXuDRhlKtXW99AJWLxST0WJwJ63IQBHWO+2UypQO7rbvU8sE8+V3kolZCAp0imEBJiLZKhlxzjKfsSGRZ1UQfOKF10vruryp5CL1kXzuN/ufqD2zwF7tGdqH/cV9zXvzcqqKk8EhFU0OamngQwThVLWIe31uta3F8348MyeblkblZiyRbh5Lnw24EYelnn6OeVGywbc1ZJvvGYBk5KN0RKoxQRC02uLh5I9dNnVGYg6cW/wp2SrVkeJg9HXHGuJIQEnFiL0GYOQR39lYZOquZH1UPsboo1x01zEGbmhpBrMK/FmpBCkDF/fnCcDd5T0Zv+dYkrLj6q9rySM/3yPAOAuKOaVZaq91fwgtGbDfFeMYKUkPv5a+qWYV2SxYsPwjiejV7/JJgrUD4WSAyln6y0upR6wNnfOGxrE8TsBZNc/9CqxZXnSXH2/J2UiJO+tYEHYEa+zLsh+rBUlNk5tl7YiYUr7caBAf+L4OoHv0VwCul7st72Y/pz1nhV+t3BfRLOAroUEWkSyU1DbAxK/DNRravydUdeW4nZ/+/1Svs/FqxrBm8WCggYvz/mgl3DboGlZs+yTcI3vzeanujRfHSMD71sdYimEgN3b3VkirtHaU45z\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"JtJIuHjvB5KxJVAX7pV/fg==\\\",\\\"mac\\\":\\\"5OD4GQ+SUrtcBfXL1qtYAw==\\\"}}},\\\"esv-test-secret-euler\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"IUtJzkmAqnsd0WxtSrbK3Q==\\\",\\\"data\\\":\\\"eTHruFTJdEDSe7lWcx3maGC3F9aOMjtsffb7y0vEkqKegoMw8jH5fCN6jRz9BKNl\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"dhb8yUUkFUFwaMNwkY21fw==\\\",\\\"mac\\\":\\\"DDhDJWUheCTau198tfQ6xQ==\\\"}}},\\\"esv-test-secret-file-base64hmac\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"D7eYSsXltT8WPjo1cHhy8Q==\\\",\\\"data\\\":\\\"3A3Euo+jZqcu9DPvlibJtm44OppUB5tX2edm5Sh6c2/2eCqIBcPI7VUIlQssjaoci9x0NmjP2vn6wxWgDXvcqEsoNS4a9T1mnYhKtk5gqbvigvF0QL3Qwp0hVr+W2vykDs61E3QJSjjjo+7Yc3uR1BHsNsQgKlp38HTliy9+67Dz+PxyX8cJSjMXzqRVgoKrSzEz7+BMrrIbxKx8zFbbT/j0h/VrgCXGUR/efSV/f4PhKlaKOhLhEHLbzeo6TOsoIBoXVbuvTPyEVirTqgZr4XB6SCfxVDMzeLZ+b7BhP9JdVivO+e1LuGnCVoZfVa9Qk2l119cXjmOtPKP9sk8xYEidTWkvBcKFOJASPtpfoMThuyEosqpCiIxxh7bwJshgom/uJKIR7dyfYFae2t2DvofRynEWuPAHTozOZaGLHu5ScrOGBkXlNT9XGg2H7MaRPcLCsOE2fuKtlYWbWLVXVA/zzs/9VsRGjPEDT/ox4Pbp1CXMmr6WJKvZKZT9u0BP5j/RP/uBZRHXz0vH2bSrDA4vBeZ8ia/8wwWHcRxorLN308g4zknw1gHzu6JkZj3+iVupDwjZ8VncLMgpn8xPg8oc+Xr9P2cIPpcxNI8FzsFjyV81zzsZONHj2rUJaG2bgwa/W7JzABLggSVIVOjxvtVOJfuaeShLTcosBi6BrTgHflVJ62ZwfKPRylkdmmOapgc+Lhh02rkE1vKidnmz4Fzw0GY1jLADlkqqXEOPimXp+49TNsETq5bBlPNz2lpaiCm10HcIEHhva5wK9SJ/g8pzqDj+464BUj4hYaYloUm1K/PS+E5en6hsYcGX+LvM6WelXSfb7iSulqdjL/4bBTBQrOZvefvTj6sWeMdMnnTA4Ihf1iUA6DEzKrBKF2Cigabex5zOg8bOzEsy/iaUIZ+vZ5aVR+K70Z1UanuLbn0LNWtM8Kl2OppGEyYNsuY1enT72oQSLw0XsKzZgmuoTJGqBXI5fJtEqPC5BMoWcttrSMcmO0lo9IpE8ephWJ5oD/a0BRdnRExiVwkPLQWGFt8xbpKOput97k09VhCoklwe5qWDt3inRiQrGhBneypy7TcZYvIDOnvpHG8num9Va4Rfs9WCxqet1R1bh8oy8b92gDXuvCXciautayfoTVA8BS4QNyabM/QxQaVIDkM+vssjTjKfzun04IYww7npgtXEWLTiEUkYpJc13+FT2F++LrkmgAdjs1Pg8its40zTP22Y58hbzXSKVkw26PXqToQQKYIzS2+jqeQQz2odgwCybRh75f3q51h6/N0XkOntK9a43fz4riVciaPPpE+gKkDLiXs2nE7Mq9LS+EcVVqx5MLzN3db3IInzH/HSZ+CfBE8kkn/TA2xCrBOoW+kVX0+dwvS0eeME1uBAU7B76dVwJ/5x2fQmMwf65NYh3WzAh12SpLnpG657abs51LbGRqGOOH9ZMnONUklRluMNkgFVoNTqNd8pYCnWxcVbJMhxWFHpPkX4eyBFLhni/9WtzG2OGsiM7hpNQ/j0mnNx7VGENutKIOpzp7DB7XiZfAZP2l04ChrjD8cuj7GePzsq+JjEelkb3bhZTpNNGXIMWJT8pOgZq8Pqb4vd3UCKmVaIJPnhOv/9UxVQy8xez1mPjbgDbSnqETL6nJF9BLiQUZITXd2QXo2eXHe9fZ4B5jJKqqfBHaB+SDrsqLvbYoEkUOezr5jVj8k6npqEqWUmBzfaucXBIweP2LwSI+ARdKo6ZMCwH2/yMlSc5PkRSpTfx0INQwMJ6UsG8dYU56xt2cGNb88lOmr4GW0hpIC7r//6u3zDr1BfcdR9lUISxBGdjao=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"r5ydsgK85TP0sTXE8miZ6w==\\\",\\\"mac\\\":\\\"3Z960FZGj93HXswE/+QcIw==\\\"}}},\\\"esv-test-secret-file-base64hmac-raw\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"BQcHgfLIJS6IzhtNC216qg==\\\",\\\"data\\\":\\\"7oL4K+SV/57Ul+cQppq8wGIXcaqIM7ugOE0KrfucjYE5FH5/WihYQNYgiL43l4TfIPr85d7ZUGneOcDGWXcH161d4uCA87LUWntM19MhJBOxbIjhxm5TgcCN02RzHNyqrznCTU53HPX0WGLbWSyPimA8LzHJr2e7Ul5N7iCdcYc7QeNk8/p3UPQq9lgGbn2pH4xW127IK2hKOFwkXfpVP015lr6YolYng7QBkZj/gxNC/xCgobsbgrNv/Tfv53aXer+pV/sMHh68k/RFAbTU6eL14c6qidGcImfIpwihsz9Fx1LX2pDY82q4m0kXDMpq5taJXNQfRAlsC7qynb5vvz5R1hitfKLc5ozR7w3aZF7tgPNZaLvYFUWGgsKR9M1L24/9YsBHcPF+qQrimfgd+Be/pyuleb4CYSmIfgTpK7TzP0+IbfMDrP9CZ+SGXIS6izc1rFMWAyymbOaSODGrKWEAqjSUmXOegq/hkssneO5KIrMJBHBcKdwaX2ZH1pX+T2JjS8Zwo1n/QOGEtJt/CmoLpU+eh8jMIs1TuE31bm5zguCU/RDNonPsgeBwpL/XJAgyDy4HQ2CsKL3LlUe63TsSuP3r6rOYgbHpB4OAAgSvtTO7jJa+rDCziY+PNMhseiktZkerRiDudD2dLkidPzHvLbsarIfTV1W2tfhE5/wCVYOhXY1JQAB3OgXROoK2UqyK8H/uMmzhqyXw/7Eb8fTrGA1nXBRJIiAUhBqFhb6VUdo5oRuxNIFURXuvGrseAp+VMle73gtx/onK6ICUzQ2NK3ihYl8n05+S4D62mlGIRS7R1PiU5NrEjHbRdPKyuu6uwrWEd/YbZqFR0WO5WGT0PTgaJ8/FU/AiZ98F1JLgYDDOq8WjMgzdZfJxR0RTJVb5QvizPVZ40J296f6SeWkxkf9OapBzIhpnAvISkST0o7hkck2FaX3z/ojIqapivgB713aaNmqQEDr65GPFXlgdSHb7eWphOe8B/LhLWrGP3WUssRWnLGzXIVG0J49kiQliwrgDnSe/+TVZAUyHufgmkn2SYy4nZmTZTK40JH9+odJKy8DRA+riBJ6d0xPWDIWZfzR0CC5RNNay0r5QWi7UAJUlguQvwZ1CDzeTrelL0J6HqN9Ne/s6k+32UqTeY2ZAcjKL4n1dSlL+TA3+8tQh5RL8NzXgh6YsEyXJvm10bb4qBpULRzgWkNXVt9meQuI83yOSWSMsNwlOxpf1j9Hxio4QtJEJR9OcWqTxFeqcHUa4AjI/Ml6ZSbBlg8k1/IeGZq7VmRg2mfE2zBGmBPTQ5poI/eDh5nhsNi4Pf/hJc7VB6Au8L5nZxRYSOMs/hg29kHOSao1pdrKkxW/ibx+38YVBkal4JH2i/FmDMLof1L/JdhTrV/VIPQgMrQAaLK38nPPN0CWOl4ZRV49h+/Nyf+1jng+3PwYJ6BTA95Zhk5p/YlhRLr/67oh7PHeMmXHjzsvBcRYDC1p15meSK97raHYPpLuZy9dX91Lv3GMo3CGWz7wl8kynWkz7u6pXiq3hnnppHEkeIlnlUVFUwlkfZGvpcoL67h9XFJxKy6uYqhr9PHEV6eFK846lJ7kkmiM9JmMSp03awMpCR6pmJces+wQYBx9Z4oZHj7JNV+ZJgGSAQ8qZdUz4WUAE6Kwv1vZqQznzuOz7fhOV+db31vy6ZyGJC+Zldo1jkXfu3Je6sFP59oN/EZeaSNbLpV+yYHzRP17ZNsoozQoGvwavcx+IwuVEY1J9UYghDB+t3aiFY/u46bWgZKZjQvpKEoBvbxZbLVnSntfWIqUNREKKZEgAFVAnhvQHiJ2mY5+eBfQ=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"sz0Q+Srmi2SPJ7x0mL/b8Q==\\\",\\\"mac\\\":\\\"dzp0iVcWMeCSA+9RUqmahQ==\\\"}}},\\\"esv-test-secret-pi\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"ATpwxeyTeUcRWVDUF1q3pg==\\\",\\\"data\\\":\\\"Phd6TCgApdI7oZ9flLw0VUnDXj0t+9r5Aonjluvq8CG56Py29Fjhu9JexBK4qTux\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"zmYeHKx3w/hDXDi2KcWtIw==\\\",\\\"mac\\\":\\\"k9yQqXRqIggMLOCJVXeYDg==\\\"}}},\\\"esv-test-secret-pi-generic\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"Y0obxRM3Oaea2Cbk/inKQA==\\\",\\\"data\\\":\\\"V8x7U1YskG+B7Lx1ZmZj0g==\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"wCF+MBho67FJMVep09NPNA==\\\",\\\"mac\\\":\\\"UMpsGeblFvkE3Ue9M+wrDw==\\\"}}},\\\"esv-volkers-test-secret\\\":{\\\"$crypto\\\":{\\\"type\\\":\\\"x-simple-encryption\\\",\\\"value\\\":{\\\"cipher\\\":\\\"AES/CBC/PKCS5Padding\\\",\\\"stableId\\\":\\\"openidm-sym-default\\\",\\\"salt\\\":\\\"kXzMPCKeeGJoWIwI/fd2NQ==\\\",\\\"data\\\":\\\"j2CZMzmQl+qurOsoy1RT1h5FV9Y3SPZeL0d4ERNKsDQ=\\\",\\\"keySize\\\":16,\\\"purpose\\\":\\\"idm.password.encryption\\\",\\\"iv\\\":\\\"14qx3AR9jU3n9f5t3KYPZw==\\\",\\\"mac\\\":\\\"7FBPyp6RFKw529CJi9ykcg==\\\"}}}}\"" + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -9950,20 +23088,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "87" }, { - "name": "content-length", - "value": "17414" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:42 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9982,14 +23120,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 501, + "statusText": "Not Implemented" }, - "startedDateTime": "2024-10-22T22:46:40.201Z", - "time": 255, + "startedDateTime": "2024-11-05T21:21:42.776Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -9997,11 +23135,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 255 + "wait": 109 } }, { - "_id": "00c59a598bc0a39925dcd05b5e05295b", + "_id": "5bc916819d3bb67a4607e372c129f5fa", "_order": 0, "cache": {}, "request": { @@ -10022,11 +23160,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -10041,126 +23179,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1976, + "headersSize": 2003, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services?_action=nextdescendents" - }, - "response": { - "bodySize": 244, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 244, - "text": "{\"result\":[{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}]}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 283, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:40.462Z", - "time": 41, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 41 - } - }, - { - "_id": "880e1d131d59635dd44ee69bbc1be2b2", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_queryFilter", + "value": "true" } ], - "headersSize": 1963, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { - "bodySize": 115, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 115, - "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -10182,7 +23217,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -10196,10 +23231,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"515901845\"" - }, { "name": "expires", "value": "0" @@ -10214,15 +23245,15 @@ }, { "name": "content-length", - "value": "115" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "value": "Tue, 05 Nov 2024 21:21:42 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10241,14 +23272,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:40.509Z", - "time": 325, + "startedDateTime": "2024-11-05T21:21:42.777Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -10256,11 +23287,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 325 + "wait": 108 } }, { - "_id": "5503ee06dd7c79e49bac04fc6fd39604", + "_id": "f4133ac6ad5b31dac504f3ba13b12318", "_order": 0, "cache": {}, "request": { @@ -10281,11 +23312,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -10300,23 +23331,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1988, + "headersSize": 2010, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService?_action=nextdescendents" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 810, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -10338,7 +23369,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -10366,15 +23397,15 @@ }, { "name": "content-length", - "value": "13" + "value": "810" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "value": "Tue, 05 Nov 2024 21:21:42 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10393,14 +23424,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:40.510Z", - "time": 279, + "startedDateTime": "2024-11-05T21:21:42.777Z", + "time": 121, "timings": { "blocked": -1, "connect": -1, @@ -10408,11 +23439,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 121 } }, { - "_id": "274f52cc72a61338f1ec66f332f437fb", + "_id": "fa304c8238e2ce56ab11d5eb0a26d517", "_order": 0, "cache": {}, "request": { @@ -10433,11 +23464,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -10452,18 +23483,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1961, + "headersSize": 2009, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { - "bodySize": 131, + "bodySize": 478, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -10485,7 +23521,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -10499,10 +23535,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"436796111\"" - }, { "name": "expires", "value": "0" @@ -10517,15 +23549,15 @@ }, { "name": "content-length", - "value": "131" + "value": "478" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "value": "Tue, 05 Nov 2024 21:21:42 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10544,14 +23576,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:40.511Z", - "time": 381, + "startedDateTime": "2024-11-05T21:21:42.778Z", + "time": 135, "timings": { "blocked": -1, "connect": -1, @@ -10559,11 +23591,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 381 + "wait": 135 } }, { - "_id": "2558303e6826898c61b79f0ac55baefc", + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", "_order": 0, "cache": {}, "request": { @@ -10584,11 +23616,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -10603,23 +23635,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2000, "httpVersion": "HTTP/1.1", - "method": "POST", + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard?_action=nextdescendents" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { - "bodySize": 797, + "bodySize": 7320, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 797, - "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + "size": 7320, + "text": "{\"result\":[{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -10641,7 +23673,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -10669,15 +23701,15 @@ }, { "name": "content-length", - "value": "797" + "value": "7320" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:40 GMT" + "value": "Tue, 05 Nov 2024 21:21:42 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10696,113 +23728,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:40.512Z", - "time": 392, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 392 - } - }, - { - "_id": "49c64431f90c263c4e22873dcf498dcb", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1871, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/environment/variables" - }, - "response": { - "bodySize": 3247, - "content": { - "mimeType": "application/json", - "size": 3247, - "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-blue-piller\",\"description\":\"Zion membership criteria.\",\"expressionType\":\"bool\",\"lastChangeDate\":\"2024-07-05T20:01:11.78347Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"ZmFsc2U=\"},{\"_id\":\"esv-ipv4-cidr-access-rules\",\"description\":\"IPv4 CIDR access rules: { \\\"allow\\\": [ \\\"address/mask\\\" ] }\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:13.987057Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyAiYWxsb3ciOiBbICIxNDUuMTE4LjAuMC8xNiIsICIxMzIuMzUuMC4wLzE2IiwgIjEwMS4yMjYuMC4wLzE2IiwgIjk5LjcyLjI4LjE4Mi8zMiIgXSB9\"},{\"_id\":\"esv-nebuchadnezzar-crew\",\"description\":\"The crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"array\",\"lastChangeDate\":\"2024-07-05T20:01:05.216699Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"WyJNb3JwaGV1cyIsIlRyaW5pdHkiLCJMaW5rIiwiVGFuayIsIkRvemVyIiwiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl0=\"},{\"_id\":\"esv-nebuchadnezzar-crew-structure\",\"description\":\"The structure of the crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:07.343325Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyJDYXB0YWluIjoiTW9ycGhldXMiLCJGaXJzdE1hdGUiOiJUcmluaXR5IiwiT3BlcmF0b3IiOlsiTGluayIsIlRhbmsiXSwiTWVkaWMiOiJEb3plciIsIkNyZXdtZW4iOlsiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl19\"},{\"_id\":\"esv-neo-age\",\"description\":\"Neo's age in the matrix.\",\"expressionType\":\"int\",\"lastChangeDate\":\"2024-07-05T20:01:09.53586Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"Mjg=\"},{\"_id\":\"esv-number\",\"description\":\"test number\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-05T19:42:20.943131Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"valueBase64\":\"MS4xMzQ=\"},{\"_id\":\"esv-test-var\",\"description\":\"this is a test description\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T22:37:25.846244Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"dGhpcyBpcyBhIHRlc3QgdmFyaWFibGU=\"},{\"_id\":\"esv-test-var-pi\",\"description\":\"This is another test variable.\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-12T17:40:41.283412Z\",\"lastChangedBy\":\"Frodo-SA-1720799681233\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-var-pi-string\",\"description\":\"This is another test variable.\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:16.11117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-variable-light\",\"description\":\"Test variable containing the speed of light in meters per second (as an int).\",\"expressionType\":\"int\",\"lastChangeDate\":\"2023-12-14T15:34:13.446903Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"Mjk5NzkyNDU4\"},{\"_id\":\"esv-trinity-phone\",\"description\":\"In the opening of The Matrix (1999), the phone number Trinity is calling from is traced to (312)-555-0690\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:03.141204Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"KDMxMiktNTU1LTA2OTA=\"}],\"resultCount\":11,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:42 GMT" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 267, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:40.910Z", - "time": 1113, + "startedDateTime": "2024-11-05T21:21:42.779Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -10810,11 +23743,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1113 + "wait": 137 } }, { - "_id": "fc71be44855f4e764537c68893e9a626", + "_id": "021b4afb5ca0748125293d177c012d67", "_order": 0, "cache": {}, "request": { @@ -10835,11 +23768,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -10854,23 +23787,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1968, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/realms/?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc" }, "response": { - "bodySize": 331, + "bodySize": 8672, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 331, - "text": "{\"result\":[{\"_id\":\"L2FscGhh\",\"_rev\":\"362268810\",\"parentPath\":\"/\",\"active\":true,\"name\":\"alpha\",\"aliases\":[]},{\"_id\":\"L2JyYXZv\",\"_rev\":\"480875699\",\"parentPath\":\"/\",\"active\":true,\"name\":\"bravo\",\"aliases\":[]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 8672, + "text": "{\"_id\":\"\",\"_rev\":\"611625667\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -10892,7 +23820,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.0, resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -10906,6 +23834,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"611625667\"" + }, { "name": "expires", "value": "0" @@ -10920,11 +23852,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:42 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10947,14 +23879,14 @@ "value": "chunked" } ], - "headersSize": 800, + "headersSize": 792, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:42.029Z", - "time": 295, + "startedDateTime": "2024-11-05T21:21:42.937Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -10962,11 +23894,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 295 + "wait": 81 } }, { - "_id": "54c5959fa697111ab81bada4a7f8294e", + "_id": "4bf9e4fd3e79d03439fec3771b0435d5", "_order": 0, "cache": {}, "request": { @@ -10987,11 +23919,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -11006,7 +23938,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1990, + "headersSize": 2004, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -11015,14 +23947,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 413, + "bodySize": 62581, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 413, - "text": "{\"result\":[{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "size": 62581, + "text": "{\"result\":[{\"_id\":\"EncoreRCSClient\",\"_rev\":\"-1430071664\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"hrlite-client\",\"_rev\":\"-778017687\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\",\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"client_credentials\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"hrlite/id_token/callback\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback\"],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"916377869\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"customLoginUrlTemplate\":null,\"accessTokenModifierClass\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"tosURI\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"refreshTokenGracePeriod\":0,\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test Application\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"userinfoResponseFormat\":\"JSON\",\"mTLSCertificateBoundAccessTokens\":false,\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"60b7b032-68fc-45ed-98ca-262c1985fb7e\",\"_rev\":\"-114090658\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 8:09:47 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"60b7b032-68fc-45ed-98ca-262c1985fb7e\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\",\"_rev\":\"-1994175968\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:30:37 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"frodo-idm-access\",\"_rev\":\"1309399033\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"http://localhost:8712\",\"https://openam-frodo-dev.forgeblocks.com\",\"https://openam-frodo-dev.forgeblocks.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_post\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Frodo IDM Access\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"frodo-idm-access\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"http://localhost:8712/frodo\",\"https://openam-frodo-dev.forgeblocks.com/platform/appAuthHelperRedirect.html\"],\"authorizationCodeLifetime\":120},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"RCSClient\",\"_rev\":\"-1061027698\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"EncoreWindowsRCSClient\",\"_rev\":\"-245014983\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"rfc7523-client1\",\"_rev\":\"-1045870735\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:am:*\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"clientName\":[\"rfc7523-client1\"],\"clientType\":\"Public\",\"authorizationCodeLifetime\":120},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE\\\"}]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"49a2981c-e192-4739-a0e6-c7582168bdf5\",\"_rev\":\"2145207361\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 5/13/2023, 8:07:37 PM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"49a2981c-e192-4739-a0e6-c7582168bdf5\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-device\",\"_rev\":\"-304439226\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:device_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"Streaming Services\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ios-sdk\",\"_rev\":\"-380249535\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"forgerock://oidc_callback\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ciba\",\"_rev\":\"640454649\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:openid:params:grant-type:ciba\",\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":\"{\\\"keys\\\" :[{ \\\"kty\\\": \\\"EC\\\", \\\"d\\\": \\\"bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k\\\", \\\"use\\\": \\\"sig\\\", \\\"crv\\\": \\\"P-256\\\", \\\"kid\\\": \\\"mykey\\\", \\\"x\\\": \\\"E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s\\\", \\\"y\\\": \\\"1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ\\\" }]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-web\",\"_rev\":\"1513280137\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\",\"_rev\":\"1950851195\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:46:11 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"test2\",\"_rev\":\"190847602\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"openid\"],\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[\"test2\"],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"remoteConsentServiceId\":null,\"tokenEncryptionEnabled\":false,\"enableRemoteConsent\":false,\"oidcMayActScript\":\"[Empty]\",\"usePolicyEngineForScope\":false,\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"providerOverridesEnabled\":false,\"issueRefreshTokenOnRefreshedToken\":true,\"statelessTokensEnabled\":false},\"advancedOAuth2ClientConfig\":{\"descriptions\":[\"Modified by Frodo on 4/16/2022, 8:41:59 PM\"],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\",\"client_credentials\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"393665749\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -11044,7 +23976,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0, resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -11070,17 +24002,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "413" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:44 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11097,16 +24025,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 793, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:42.331Z", - "time": 2172, + "startedDateTime": "2024-11-05T21:21:43.022Z", + "time": 136, "timings": { "blocked": -1, "connect": -1, @@ -11114,11 +24046,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 2172 + "wait": 136 } }, { - "_id": "6b977642417440b9bc117cf865b024c2", + "_id": "567773b06e735b1cc8a5ad23a155606f", "_order": 0, "cache": {}, "request": { @@ -11139,11 +24071,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=2.0" }, { "name": "authorization", @@ -11158,18 +24090,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1991, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/aVNQQXp1cmU" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" }, "response": { - "bodySize": 3991, + "bodySize": 1438, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3991, - "text": "{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"-1533212691\",\"entityId\":\"iSPAzure\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{},\"clientAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"http://schemas.microsoft.com/identity/claims/displayname\",\"value\":\"cn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname\",\"value\":\"givenName\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname\",\"value\":\"sn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\",\"value\":\"mail\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\"value\":\"uid\"}]},\"autoFederation\":{\"autoFedEnabled\":false},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\",\"useNameIDAsSPUserID\":true},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{}},\"services\":{\"metaAlias\":\"/alpha/iSPAzure\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPSloSoap/metaAlias/alpha/iSPAzure\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://idc.scheuber.io/am/Consumer/ECP/metaAlias/alpha/iSPAzure\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"https://idc.scheuber.io/am/spsaehandler/metaAlias/alpha/iSPAzure\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + "size": 1438, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11191,7 +24123,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -11207,7 +24139,7 @@ }, { "name": "etag", - "value": "\"-1533212691\"" + "value": "\"-1952817720\"" }, { "name": "expires", @@ -11223,15 +24155,15 @@ }, { "name": "content-length", - "value": "3991" + "value": "1438" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:44 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11256,8 +24188,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:44.506Z", - "time": 313, + "startedDateTime": "2024-11-05T21:21:43.164Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -11265,15 +24197,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 313 + "wait": 69 } }, { - "_id": "d57da9b8b270a5179c43658a6863a87d", + "_id": "f403c414204898428169f781b6348757", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -11290,7 +24222,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -11300,6 +24232,10 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -11309,37 +24245,30 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1985, + "headersSize": 2043, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { - "name": "entityid", - "value": "iSPAzure" - }, - { - "name": "realm", - "value": "/alpha" + "name": "_action", + "value": "nextdescendents" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=iSPAzure&realm=%2Falpha" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 6544, + "bodySize": 10076, "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 6544, - "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + "mimeType": "application/json;charset=UTF-8", + "size": 10076, + "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" }, - "cookies": [ - { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "secure": true, - "value": "" - } - ], + "cookies": [], "headers": [ { "name": "x-frame-options", @@ -11354,9 +24283,28 @@ "value": "nosniff" }, { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" }, { "name": "pragma", @@ -11364,19 +24312,15 @@ }, { "name": "content-type", - "value": "text/xml;charset=utf-8" - }, - { - "name": "content-length", - "value": "6544" + "value": "application/json;charset=UTF-8" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:50 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11393,16 +24337,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 613, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:44.825Z", - "time": 5671, + "startedDateTime": "2024-11-05T21:21:43.239Z", + "time": 257, "timings": { "blocked": -1, "connect": -1, @@ -11410,11 +24358,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 5671 + "wait": 257 } }, { - "_id": "94377b08c532145d0686d3ccc08e9898", + "_id": "fdbfb6d6c3db5fe2a6944c62628e38e6", "_order": 0, "cache": {}, "request": { @@ -11435,11 +24383,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11454,18 +24402,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/58d29080-4563-480b-89bb-1e7719776a21" }, "response": { - "bodySize": 1581, + "bodySize": 1539, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1581, - "text": "{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"1007701944\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{\"assertion\":true},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:mace:shibboleth:1.0:nameIdentifier\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"]},\"secrets\":{},\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMap\":[{\"samlAttribute\":\"IDPEmail\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"UOPClassID\",\"localAttribute\":\"UOPClassID\",\"binary\":false}]},\"accountMapper\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"}},\"services\":{\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{},\"idpProxy\":{}}}}" + "size": 1539, + "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11487,7 +24435,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11501,10 +24449,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1007701944\"" - }, { "name": "expires", "value": "0" @@ -11519,15 +24463,15 @@ }, { "name": "content-length", - "value": "1581" + "value": "1539" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:50 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11546,14 +24490,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.501Z", - "time": 132, + "startedDateTime": "2024-11-05T21:21:43.502Z", + "time": 215, "timings": { "blocked": -1, "connect": -1, @@ -11561,11 +24505,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 132 + "wait": 215 } }, { - "_id": "e8ce97a39a50b7d0ef68e6e0d5c1ad4e", + "_id": "0a5b6821545d411bf41eef7f3fef8502", "_order": 0, "cache": {}, "request": { @@ -11586,11 +24530,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11605,37 +24549,20 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "entityid", - "value": "urn:federation:MicrosoftOnline" - }, - { - "name": "realm", - "value": "/alpha" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=urn%3Afederation%3AMicrosoftOnline&realm=%2Falpha" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/23143919-6b78-40c3-b25e-beca19b229e0" }, "response": { - "bodySize": 10896, + "bodySize": 1437, "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 10896, - "text": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:mace:shibboleth:1.0:nameIdentifier\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n \n \n \n \n\n\n" + "mimeType": "application/json;charset=UTF-8", + "size": 1437, + "text": "{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, - "cookies": [ - { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "secure": true, - "value": "" - } - ], + "cookies": [], "headers": [ { "name": "x-frame-options", @@ -11650,9 +24577,28 @@ "value": "nosniff" }, { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" }, { "name": "pragma", @@ -11660,15 +24606,19 @@ }, { "name": "content-type", - "value": "text/xml;charset=utf-8" + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:50 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11685,20 +24635,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 619, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.638Z", - "time": 54, + "startedDateTime": "2024-11-05T21:21:43.723Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -11706,11 +24652,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 57 } }, { - "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_id": "442bd2ef6d9a89c57b1ccd90ec88eb38", "_order": 0, "cache": {}, "request": { @@ -11731,11 +24677,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11750,23 +24696,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2010, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/484e6246-dbc6-4288-97e6-54e55431402e" }, "response": { - "bodySize": 865, + "bodySize": 3085, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 865, - "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"affiliation-test\",\"_rev\":\"838041851\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 3085, + "text": "{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11788,7 +24729,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11816,15 +24757,15 @@ }, { "name": "content-length", - "value": "865" + "value": "3085" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:50 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11843,14 +24784,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 793, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.698Z", - "time": 165, + "startedDateTime": "2024-11-05T21:21:43.785Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -11858,11 +24799,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 165 + "wait": 65 } }, { - "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_id": "8109fc84b27d7c657a7c1e36279ec52c", "_order": 0, "cache": {}, "request": { @@ -11883,11 +24824,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11902,23 +24843,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/6325cf19-a49b-471e-8d26-7e4df76df0e2" }, "response": { - "bodySize": 1847, + "bodySize": 1442, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1847, - "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + "size": 1442, + "text": "{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11940,7 +24876,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11968,15 +24904,15 @@ }, { "name": "content-length", - "value": "1847" + "value": "1442" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:43 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11995,14 +24931,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.868Z", - "time": 343, + "startedDateTime": "2024-11-05T21:21:43.928Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -12010,11 +24946,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 343 + "wait": 60 } }, { - "_id": "58e82498bfa5079883e52d1a0b52b452", + "_id": "8b27a3f6ee15f60734dec43325ccf443", "_order": 0, "cache": {}, "request": { @@ -12035,11 +24971,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -12054,23 +24990,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2001, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/dbe0bf9a-72aa-49d5-8483-9db147985a47" }, "response": { - "bodySize": 10677, + "bodySize": 7225, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10677, - "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "size": 7225, + "text": "{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -12092,7 +25023,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -12118,13 +25049,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "7225" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12141,20 +25076,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.869Z", - "time": 333, + "startedDateTime": "2024-11-05T21:21:43.993Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -12162,11 +25093,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 333 + "wait": 68 } }, { - "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_id": "7430e4cabb066ba655343f3a21f9054a", "_order": 0, "cache": {}, "request": { @@ -12187,11 +25118,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -12206,23 +25137,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/73cecbfc-dad0-4395-be6a-6858ee3a80e5" }, "response": { - "bodySize": 7320, + "bodySize": 2773, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7320, - "text": "{\"result\":[{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "size": 2773, + "text": "{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -12244,7 +25170,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -12272,15 +25198,15 @@ }, { "name": "content-length", - "value": "7320" + "value": "2773" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12299,14 +25225,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:50.870Z", - "time": 336, + "startedDateTime": "2024-11-05T21:21:44.066Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -12314,11 +25240,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 336 + "wait": 64 } }, { - "_id": "021b4afb5ca0748125293d177c012d67", + "_id": "cc968d4ca98755f27cb44bad450498ad", "_order": 0, "cache": {}, "request": { @@ -12339,7 +25265,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -12358,18 +25284,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 8672, + "bodySize": 31869, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8672, - "text": "{\"_id\":\"\",\"_rev\":\"611625667\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 31869, + "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":21,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -12391,7 +25322,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -12405,10 +25336,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"611625667\"" - }, { "name": "expires", "value": "0" @@ -12423,11 +25350,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12450,14 +25377,14 @@ "value": "chunked" } ], - "headersSize": 792, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:51.220Z", - "time": 122, + "startedDateTime": "2024-11-05T21:21:44.137Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -12465,11 +25392,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 73 } }, { - "_id": "4bf9e4fd3e79d03439fec3771b0435d5", + "_id": "b3fe3510cd92f9e432c12a7d11f8d5a0", "_order": 0, "cache": {}, "request": { @@ -12490,7 +25417,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -12509,23 +25436,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2004, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" }, "response": { - "bodySize": 62479, + "bodySize": 1273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 62479, - "text": "{\"result\":[{\"_id\":\"EncoreRCSClient\",\"_rev\":\"-1430071664\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"hrlite-client\",\"_rev\":\"-778017687\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\",\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"client_credentials\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"hrlite/id_token/callback\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback\"],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"1016703842\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test Application\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"60b7b032-68fc-45ed-98ca-262c1985fb7e\",\"_rev\":\"-114090658\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 8:09:47 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"60b7b032-68fc-45ed-98ca-262c1985fb7e\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\",\"_rev\":\"-1994175968\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:30:37 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"frodo-idm-access\",\"_rev\":\"1309399033\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"http://localhost:8712\",\"https://openam-frodo-dev.forgeblocks.com\",\"https://openam-frodo-dev.forgeblocks.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_post\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Frodo IDM Access\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"frodo-idm-access\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"http://localhost:8712/frodo\",\"https://openam-frodo-dev.forgeblocks.com/platform/appAuthHelperRedirect.html\"],\"authorizationCodeLifetime\":120},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"RCSClient\",\"_rev\":\"-1061027698\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"EncoreWindowsRCSClient\",\"_rev\":\"-245014983\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"rfc7523-client1\",\"_rev\":\"-1045870735\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:am:*\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"clientName\":[\"rfc7523-client1\"],\"clientType\":\"Public\",\"authorizationCodeLifetime\":120},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE\\\"}]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"49a2981c-e192-4739-a0e6-c7582168bdf5\",\"_rev\":\"2145207361\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 5/13/2023, 8:07:37 PM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"49a2981c-e192-4739-a0e6-c7582168bdf5\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-device\",\"_rev\":\"-304439226\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:device_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"Streaming Services\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ios-sdk\",\"_rev\":\"-380249535\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"forgerock://oidc_callback\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ciba\",\"_rev\":\"640454649\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:openid:params:grant-type:ciba\",\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":\"{\\\"keys\\\" :[{ \\\"kty\\\": \\\"EC\\\", \\\"d\\\": \\\"bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k\\\", \\\"use\\\": \\\"sig\\\", \\\"crv\\\": \\\"P-256\\\", \\\"kid\\\": \\\"mykey\\\", \\\"x\\\": \\\"E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s\\\", \\\"y\\\": \\\"1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ\\\" }]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-web\",\"_rev\":\"1513280137\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\",\"_rev\":\"1950851195\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:46:11 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"test2\",\"_rev\":\"190847602\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"openid\"],\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[\"test2\"],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"remoteConsentServiceId\":null,\"tokenEncryptionEnabled\":false,\"enableRemoteConsent\":false,\"oidcMayActScript\":\"[Empty]\",\"usePolicyEngineForScope\":false,\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"providerOverridesEnabled\":false,\"issueRefreshTokenOnRefreshedToken\":true,\"statelessTokensEnabled\":false},\"advancedOAuth2ClientConfig\":{\"descriptions\":[\"Modified by Frodo on 4/16/2022, 8:41:59 PM\"],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\",\"client_credentials\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"393665749\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" + "size": 1273, + "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -12547,7 +25469,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -12561,6 +25483,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1703131230\"" + }, { "name": "expires", "value": "0" @@ -12573,13 +25499,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "1273" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12596,20 +25526,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:51.349Z", - "time": 206, + "startedDateTime": "2024-11-05T21:21:44.217Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -12617,11 +25543,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 206 + "wait": 68 } }, { - "_id": "567773b06e735b1cc8a5ad23a155606f", + "_id": "710c38486084ac7b99b5145198d5e62b", "_order": 0, "cache": {}, "request": { @@ -12642,11 +25568,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -12661,18 +25587,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" }, "response": { - "bodySize": 1438, + "bodySize": 451, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1438, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 451, + "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -12710,7 +25636,7 @@ }, { "name": "etag", - "value": "\"-1952817720\"" + "value": "\"-1421046051\"" }, { "name": "expires", @@ -12726,15 +25652,15 @@ }, { "name": "content-length", - "value": "1438" + "value": "451" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12753,14 +25679,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:51.562Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:44.291Z", + "time": 393, "timings": { "blocked": -1, "connect": -1, @@ -12768,15 +25694,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 393 } }, { - "_id": "f403c414204898428169f781b6348757", + "_id": "9622062f1bc993445582b8c38d8bd6c4", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -12793,20 +25719,16 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -12816,28 +25738,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2043, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" + }, + "response": { + "bodySize": 256, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 256, + "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, - "queryString": [ + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1389809903\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "256" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:44 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:44.294Z", + "time": 433, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 433 + } + }, + { + "_id": "2a438656c535bf6497f6b74fa011172b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2069, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" }, "response": { - "bodySize": 10076, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10076, - "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" + "size": 296, + "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -12859,7 +25922,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -12873,6 +25936,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-626658673\"" + }, { "name": "expires", "value": "0" @@ -12885,13 +25952,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "296" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:51 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12908,20 +25979,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:51.642Z", - "time": 339, + "startedDateTime": "2024-11-05T21:21:44.295Z", + "time": 209, "timings": { "blocked": -1, "connect": -1, @@ -12929,11 +25996,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 339 + "wait": 209 } }, { - "_id": "fdbfb6d6c3db5fe2a6944c62628e38e6", + "_id": "3a0066f1671cf4c1502e674e85b5c1b1", "_order": 0, "cache": {}, "request": { @@ -12954,11 +26021,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -12973,18 +26040,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/58d29080-4563-480b-89bb-1e7719776a21" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" }, "response": { - "bodySize": 1539, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1539, - "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 436, + "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -13006,7 +26073,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13020,6 +26087,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2035832000\"" + }, { "name": "expires", "value": "0" @@ -13034,15 +26105,15 @@ }, { "name": "content-length", - "value": "1539" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13061,14 +26132,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:51.987Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:44.295Z", + "time": 210, "timings": { "blocked": -1, "connect": -1, @@ -13076,11 +26147,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 210 } }, { - "_id": "0a5b6821545d411bf41eef7f3fef8502", + "_id": "56a36eacbdf48c30f1c8494b58810a6f", "_order": 0, "cache": {}, "request": { @@ -13101,11 +26172,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13120,18 +26191,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/23143919-6b78-40c3-b25e-beca19b229e0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" }, "response": { - "bodySize": 1437, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1437, - "text": "{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 307, + "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -13153,7 +26224,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13167,6 +26238,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1331445210\"" + }, { "name": "expires", "value": "0" @@ -13181,15 +26256,15 @@ }, { "name": "content-length", - "value": "1437" + "value": "307" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13208,14 +26283,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.070Z", - "time": 82, + "startedDateTime": "2024-11-05T21:21:44.733Z", + "time": 149, "timings": { "blocked": -1, "connect": -1, @@ -13223,11 +26298,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 149 } }, { - "_id": "442bd2ef6d9a89c57b1ccd90ec88eb38", + "_id": "84d251b736d069d67c1b7fdb6458ee02", "_order": 0, "cache": {}, "request": { @@ -13248,11 +26323,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13267,18 +26342,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2017, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/484e6246-dbc6-4288-97e6-54e55431402e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/FrodoTest" }, "response": { - "bodySize": 3085, + "bodySize": 2431, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3085, - "text": "{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 2431, + "text": "{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -13300,7 +26375,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13314,6 +26389,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1975823900\"" + }, { "name": "expires", "value": "0" @@ -13328,15 +26407,15 @@ }, { "name": "content-length", - "value": "3085" + "value": "2431" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:44 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13355,14 +26434,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.158Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:44.887Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -13370,11 +26449,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 68 } }, { - "_id": "8109fc84b27d7c657a7c1e36279ec52c", + "_id": "d9f16c7616e73b22bb652e7dc288cbc4", "_order": 0, "cache": {}, "request": { @@ -13395,11 +26474,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13414,18 +26493,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/6325cf19-a49b-471e-8d26-7e4df76df0e2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046" }, "response": { - "bodySize": 1442, + "bodySize": 641, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1442, - "text": "{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 641, + "text": "{\"_id\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\",\"_rev\":\"-1455503261\",\"nodes\":[{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Username\"},{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -13447,7 +26526,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13461,6 +26540,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1455503261\"" + }, { "name": "expires", "value": "0" @@ -13475,15 +26558,15 @@ }, { "name": "content-length", - "value": "1442" + "value": "641" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13502,14 +26585,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.305Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:44.962Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -13517,11 +26600,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 109 } }, { - "_id": "8b27a3f6ee15f60734dec43325ccf443", + "_id": "7db4363f6645ba01722de86b1000051e", "_order": 0, "cache": {}, "request": { @@ -13542,11 +26625,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13561,18 +26644,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/dbe0bf9a-72aa-49d5-8483-9db147985a47" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3" }, "response": { - "bodySize": 7225, + "bodySize": 533, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7225, - "text": "{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 533, + "text": "{\"_id\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"_rev\":\"1250582707\",\"nodes\":[{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -13594,7 +26677,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13608,6 +26691,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1250582707\"" + }, { "name": "expires", "value": "0" @@ -13622,15 +26709,15 @@ }, { "name": "content-length", - "value": "7225" + "value": "533" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13649,14 +26736,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.377Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:44.964Z", + "time": 112, "timings": { "blocked": -1, "connect": -1, @@ -13664,11 +26751,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 112 } }, { - "_id": "7430e4cabb066ba655343f3a21f9054a", + "_id": "34439a0cc18bbf2011e5612fe1d744bb", "_order": 0, "cache": {}, "request": { @@ -13689,11 +26776,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13708,18 +26795,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2062, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/73cecbfc-dad0-4395-be6a-6858ee3a80e5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461" }, "response": { - "bodySize": 2773, + "bodySize": 612, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2773, - "text": "{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 612, + "text": "{\"_id\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\",\"_rev\":\"370099639\",\"metaAlias\":\"/alpha/iSPAzure\",\"allowCreate\":true,\"authnContextClassRef\":[],\"authnContextDeclRef\":[],\"authComparison\":\"MINIMUM\",\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"requestBinding\":\"HTTP_REDIRECT\",\"binding\":\"HTTP_ARTIFACT\",\"forceAuthn\":false,\"idpEntityId\":\"urn:federation:MicrosoftOnline\",\"isPassive\":false,\"_type\":{\"_id\":\"product-Saml2Node\",\"name\":\"SAML2 Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -13741,7 +26828,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13755,6 +26842,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"370099639\"" + }, { "name": "expires", "value": "0" @@ -13769,15 +26860,15 @@ }, { "name": "content-length", - "value": "2773" + "value": "612" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "value": "Tue, 05 Nov 2024 21:21:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13796,14 +26887,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.448Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:44.964Z", + "time": 187, "timings": { "blocked": -1, "connect": -1, @@ -13811,11 +26902,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 187 } }, { - "_id": "31ad319ca7114c6e8608b7f072b78668", + "_id": "db405b41f64e349ee40e45abfbf1f026", "_order": 0, "cache": {}, "request": { @@ -13836,7 +26927,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13851,49 +26946,44 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2083, + "headersSize": 2062, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - }, - { - "name": "_pageSize", - "value": "1000" - }, - { - "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e" }, "response": { - "bodySize": 4672, + "bodySize": 349, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 4672, - "text": "{\"result\":[{\"_id\":\"0f357b7e-6c54-4351-a094-43916877d7e5\",\"_rev\":\"00f417da-de18-42cd-b4e4-d8af90fe833c-3073\",\"authoritative\":false,\"connectorId\":\"Azure\",\"description\":\"Azure\",\"icon\":\"\",\"mappingNames\":[\"systemAzureUser_managedAlpha_user\",\"managedAlpha_user_systemAzureUser\",\"systemAzure__group___managedAlpha_assignment\",\"systemAzureDirectoryrole_managedAlpha_assignment\",\"systemAzureServiceplan_managedAlpha_assignment\"],\"name\":\"Azure\",\"templateName\":\"azure.ad\",\"templateVersion\":\"3.3\",\"uiConfig\":{\"objectTypes\":{\"User\":{\"properties\":{\"__PASSWORD__\":{\"displayName\":\"Password\",\"order\":17,\"userSpecific\":true},\"__roles__\":{\"displayName\":\"Roles\",\"nonAccountObject\":\"directoryRole\",\"order\":3,\"userSpecific\":true},\"__servicePlanIds__\":{\"displayName\":\"Service Plan Ids\",\"nonAccountObject\":\"servicePlan\",\"order\":27,\"userSpecific\":true},\"accountEnabled\":{\"displayName\":\"Account Enabled\",\"order\":0,\"userSpecific\":true},\"city\":{\"displayName\":\"City\",\"order\":5,\"userSpecific\":true},\"companyName\":{\"displayName\":\"Company Name\",\"order\":4,\"userSpecific\":true},\"country\":{\"displayName\":\"Country\",\"order\":6,\"userSpecific\":true},\"department\":{\"displayName\":\"Department\",\"order\":7,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":8,\"userSpecific\":true},\"givenName\":{\"displayName\":\"Given Name\",\"order\":9,\"userSpecific\":true},\"jobTitle\":{\"displayName\":\"Job Title\",\"order\":11,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"isDisplay\":true,\"isMail\":true,\"order\":1,\"userSpecific\":true},\"mailNickname\":{\"displayName\":\"Mail Nickname\",\"order\":12,\"userSpecific\":true},\"manager\":{\"displayName\":\"Manager\",\"order\":13,\"userSpecific\":true},\"memberOf\":{\"displayName\":\"Member Of\",\"nonAccountObject\":\"__GROUP__\",\"order\":2,\"userSpecific\":true},\"mobilePhone\":{\"displayName\":\"Mobile Phone\",\"order\":14,\"userSpecific\":true},\"onPremisesImmutableId\":{\"displayName\":\"On Premises Immutable Id\",\"order\":10,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":15,\"userSpecific\":true},\"otherMails\":{\"displayName\":\"Other Mails\",\"order\":16,\"userSpecific\":true},\"postalCode\":{\"displayName\":\"Postal Code\",\"order\":18,\"userSpecific\":true},\"preferredLanguage\":{\"displayName\":\"Preferred Language\",\"order\":19,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":20,\"userSpecific\":true},\"state\":{\"displayName\":\"State\",\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"displayName\":\"Street Address\",\"order\":22,\"userSpecific\":true},\"surname\":{\"displayName\":\"Surname\",\"order\":23,\"userSpecific\":true},\"usageLocation\":{\"displayName\":\"Usage Location\",\"order\":24,\"userSpecific\":true},\"userPrincipalName\":{\"displayName\":\"User Principal Name\",\"isUsername\":true,\"order\":25,\"userSpecific\":true},\"userType\":{\"displayName\":\"User Type\",\"order\":26,\"userSpecific\":true}}},\"__GROUP__\":{\"properties\":{\"__NAME__\":{\"displayName\":\"Name\",\"order\":2,\"userSpecific\":true},\"description\":{\"displayName\":\"Description\",\"order\":4,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":3,\"userSpecific\":true},\"groupTypes\":{\"displayName\":\"Group Types\",\"order\":10,\"userSpecific\":true},\"id\":{\"displayName\":\"Id\",\"order\":0,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"order\":5,\"userSpecific\":true},\"mailEnabled\":{\"displayName\":\"Mail Enabled\",\"order\":6,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":7,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":8,\"userSpecific\":true},\"securityEnabled\":{\"displayName\":\"Security Enabled\",\"order\":9,\"userSpecific\":true},\"type\":{\"displayName\":\"Type\",\"order\":1,\"userSpecific\":true}}},\"directoryRole\":{\"properties\":{\"description\":{\"displayName\":\"description\",\"order\":0,\"userSpecific\":true},\"displayName\":{\"displayName\":\"displayName\",\"order\":1,\"userSpecific\":true}}},\"servicePlan\":{\"properties\":{\"__NAME__\":{\"displayName\":\"__NAME__\",\"order\":5,\"userSpecific\":true},\"appliesTo\":{\"displayName\":\"appliesTo\",\"order\":0,\"userSpecific\":true},\"provisioningStatus\":{\"displayName\":\"provisioningStatus\",\"order\":2,\"userSpecific\":true},\"servicePlanId\":{\"displayName\":\"servicePlanId\",\"order\":1,\"userSpecific\":true},\"servicePlanName\":{\"displayName\":\"servicePlanName\",\"order\":4,\"userSpecific\":true},\"subscriberSkuId\":{\"displayName\":\"subscriberSkuId\",\"order\":3,\"userSpecific\":true}}}}}},{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\",\"authoritative\":true,\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\",\"description\":\"desc\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 349, + "text": "{\"_id\":\"bf153f37-83dd-4f39-aa0c-74135430242e\",\"_rev\":\"707624425\",\"emailTemplateName\":\"welcome\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"_type\":{\"_id\":\"EmailTemplateNode\",\"name\":\"Email Template Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"EMAIL_SENT\",\"displayName\":\"Email Sent\"},{\"id\":\"EMAIL_NOT_SENT\",\"displayName\":\"Email Not Sent\"}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:52 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=utf-8" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "cross-origin-opener-policy", @@ -13903,6 +26993,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"707624425\"" + }, { "name": "expires", "value": "0" @@ -13912,20 +27006,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "349" }, { - "name": "content-length", - "value": "4672" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13944,14 +27038,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 617, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.521Z", - "time": 151, + "startedDateTime": "2024-11-05T21:21:44.965Z", + "time": 182, "timings": { "blocked": -1, "connect": -1, @@ -13959,11 +27053,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 151 + "wait": 182 } }, { - "_id": "082cd7a23ef51a8fbb1328a7d8d423b0", + "_id": "963e1f3ff05d0f498b612ae093a10e18", "_order": 0, "cache": {}, "request": { @@ -13984,11 +27078,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14003,23 +27097,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1967, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/policies?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67" }, "response": { - "bodySize": 4113, + "bodySize": 395, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4113, - "text": "{\"result\":[{\"_id\":\"FeatureStorePolicy\",\"_rev\":\"1728915487133\",\"name\":\"FeatureStorePolicy\",\"active\":true,\"description\":\"FeatureStorePolicy\",\"resources\":[\"https://www.example.com:443/*\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.133Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.248Z\"},{\"_id\":\"HR-webapp\",\"_rev\":\"1728915487538\",\"name\":\"HR-webapp\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/apps/hrlite/*\",\"*://*:*/apps/hrlite?*\",\"*://*:*/apps/contractor\",\"*://*:*/apps/contractor/*\",\"*://*:*/apps/contractor?*\",\"*://*:*/apps/hrlite\"],\"applicationName\":\"EdgePolicySet\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"Identity\",\"subjectValues\":[\"id=hradmins,ou=group,o=alpha,ou=services,ou=am-config\"]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.538Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.1Z\"},{\"_id\":\"Test Policy\",\"_rev\":\"1728915487679\",\"name\":\"Test Policy\",\"active\":false,\"description\":\"Test Policy Description\",\"resources\":[\"lorem://ipsum:dolor/sit\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{\"POST\":false,\"GET\":true},\"subject\":{\"type\":\"NONE\"},\"condition\":{\"type\":\"AND\",\"conditions\":[{\"type\":\"SimpleTime\",\"startTime\":\"12:00\",\"endTime\":\"11:59\",\"startDay\":\"mon\",\"endDay\":\"fri\",\"startDate\":\"2023:08:01\",\"endDate\":\"2023:08:02\",\"enforcementTimeZone\":\"GMT\"},{\"type\":\"Script\",\"scriptId\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\"}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"resourceAttributes\":[{\"type\":\"Static\",\"propertyName\":\"Test_Name\",\"propertyValues\":[\"Test_Value\"]}],\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.679Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.356Z\"},{\"_id\":\"actions\",\"_rev\":\"1728915487796\",\"name\":\"actions\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/actions\"],\"applicationName\":\"data\",\"actionValues\":{\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.796Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.202Z\"},{\"_id\":\"activity\",\"_rev\":\"1728915488165\",\"name\":\"activity\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/activity\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:08.165Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.288Z\"},{\"_id\":\"apply\",\"_rev\":\"1728915488525\",\"name\":\"apply\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/apply\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"condition\":{\"type\":\"Transaction\",\"authenticationStrategy\":\"AuthenticateToTreeConditionAdvice\",\"strategySpecifier\":\"Baseline-Transaction\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:08.525Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.368Z\"}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 395, + "text": "{\"_id\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\",\"_rev\":\"60612304\",\"clientType\":\"BROWSER\",\"script\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"usernameAttribute\":\"userName\",\"_type\":{\"_id\":\"SocialProviderHandlerNode\",\"name\":\"Legacy Social Provider Handler Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -14041,7 +27130,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14055,6 +27144,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"60612304\"" + }, { "name": "expires", "value": "0" @@ -14069,15 +27162,15 @@ }, { "name": "content-length", - "value": "4113" + "value": "395" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:53 GMT" + "value": "Tue, 05 Nov 2024 21:21:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14096,14 +27189,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:52.677Z", - "time": 391, + "startedDateTime": "2024-11-05T21:21:44.966Z", + "time": 164, "timings": { "blocked": -1, "connect": -1, @@ -14111,11 +27204,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 391 + "wait": 164 } }, { - "_id": "6c28db473956c916f36338201b5c11ed", + "_id": "ae1ae17ca179e4ed5ede1b4a7396d093", "_order": 0, "cache": {}, "request": { @@ -14136,11 +27229,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14155,27 +27248,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2057, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b" }, "response": { - "bodySize": 4684, + "bodySize": 352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4684, - "text": "{\"result\":[{\"name\":\"EdgePolicySet\",\"displayName\":null,\"description\":\"Policy Set EdgePolicySet\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"ClientId\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"Expiration\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"Uma\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"creationDate\":1669672555404,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915485939,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"FeatureStorePolicySet\",\"displayName\":\"FeatureStorePolicySet\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=8efaa5b6-8c98-4489-9b21-ee41f5589ab7,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"creationDate\":1695912757709,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486071,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"data\",\"displayName\":\"Baseline Demo\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=df492700-ba67-4345-83a9-58305850596c,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"IPv4\",\"SimpleTime\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"OAuth2Scope\",\"SessionProperty\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"creationDate\":1610648242757,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486243,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486667,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]},{\"name\":\"test-policy-set\",\"displayName\":\"Test Policy Set\",\"description\":\"Test Policy Set Description\",\"attributeNames\":[],\"createdBy\":\"id=fbdeb2a9-beb6-4a14-ae66-e35f16ce421d,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"creationDate\":1693494279401,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486893,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]}],\"resultCount\":5,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 352, + "text": "{\"_id\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"_rev\":\"-495106283\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -14197,7 +27281,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14211,6 +27295,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-495106283\"" + }, { "name": "expires", "value": "0" @@ -14225,15 +27313,15 @@ }, { "name": "content-length", - "value": "4684" + "value": "352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:53 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14252,14 +27340,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:53.073Z", - "time": 204, + "startedDateTime": "2024-11-05T21:21:44.967Z", + "time": 1550, "timings": { "blocked": -1, "connect": -1, @@ -14267,11 +27355,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 204 + "wait": 1550 } }, { - "_id": "379e8f1f5314f19b1c94973252aa4422", + "_id": "1e60c1d5bcea0926192c9cab2d4ecad0", "_order": 0, "cache": {}, "request": { @@ -14292,11 +27380,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14311,27 +27399,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67" + }, + "response": { + "bodySize": 475, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 475, + "text": "{\"_id\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"_rev\":\"-1432043869\",\"useUniversalIdForUsername\":true,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_sortKeys", - "value": "name" + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1432043869\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "475" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:45 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:44.968Z", + "time": 226, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 226 + } + }, + { + "_id": "24f7f35031d7af469ab0b9edf27d69cf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2066, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556" }, "response": { - "bodySize": 3600, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3600, - "text": "{\"result\":[{\"uuid\":\"993eba78-1c3f-4f27-b205-b4b29418f831\",\"name\":\"FrodoTestResourceType11\",\"description\":\"Frodo Test Resource Type Eleven\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400290,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478164},{\"uuid\":\"3fc799d7-b73f-49e0-a70b-e37990e54e56\",\"name\":\"FrodoTestResourceType12\",\"description\":\"Frodo Test Resource Type Twelve\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400511,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478723},{\"uuid\":\"0aa5ed25-0c62-4ff5-9a42-3bda8c5cbb76\",\"name\":\"FrodoTestResourceType13\",\"description\":\"Frodo Test Resource Type Thirteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400601,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479106},{\"uuid\":\"119b291c-40b3-4b1e-8d84-c2a561a2cb1f\",\"name\":\"FrodoTestResourceType14\",\"description\":\"Frodo Test Resource Type Fourteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400702,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479259},{\"uuid\":\"3c5f13af-ca17-403e-b47d-d15263cce954\",\"name\":\"FrodoTestResourceType15\",\"description\":\"Frodo Test Resource Type Fifteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400790,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479417},{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479805},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479980},{\"uuid\":\"1f445c60-0828-41ac-9a4e-a16c026e9536\",\"name\":\"test_resource\",\"description\":\"\",\"patterns\":[\"type1/node1\",\"type2/node2\"],\"actions\":{\"allow\":true},\"createdBy\":\"id=1e9280f6-eab6-467e-889c-83d147c8b936,ou=user,ou=am-config\",\"creationDate\":1725916543746,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915480141}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 259, + "text": "{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"_rev\":\"1005646283\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14353,7 +27583,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14367,6 +27597,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1005646283\"" + }, { "name": "expires", "value": "0" @@ -14381,15 +27615,15 @@ }, { "name": "content-length", - "value": "3600" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:53 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14408,14 +27642,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:53.282Z", - "time": 146, + "startedDateTime": "2024-11-05T21:21:46.524Z", + "time": 147, "timings": { "blocked": -1, "connect": -1, @@ -14423,11 +27657,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 146 + "wait": 147 } }, { - "_id": "d5f3c78a168efd303e4ac23237ac992b", + "_id": "2ded1da71fd6943aec890c2900e80cf5", "_order": 0, "cache": {}, "request": { @@ -14448,11 +27682,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14467,23 +27701,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1979, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782" }, "response": { - "bodySize": 389179, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 389179, - "text": "{\"result\":[{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":66,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 258, + "text": "{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"_rev\":\"695550246\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14505,7 +27734,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14519,6 +27748,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"695550246\"" + }, { "name": "expires", "value": "0" @@ -14531,13 +27764,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "258" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:53 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14554,20 +27791,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:53.433Z", - "time": 202, + "startedDateTime": "2024-11-05T21:21:46.524Z", + "time": 213, "timings": { "blocked": -1, "connect": -1, @@ -14575,11 +27808,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 202 + "wait": 213 } }, { - "_id": "e374bc9e42d7fe4e315057818a2f37e4", + "_id": "d3af3161eacb107f66633f5e808922cc", "_order": 0, "cache": {}, "request": { @@ -14600,11 +27833,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14619,23 +27852,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2058, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf" }, "response": { - "bodySize": 148894, + "bodySize": 440, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148894, - "text": "{\"result\":[{\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"Okta Profile Normalization\",\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"description\":\"Script that uses secrets and variables\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test-script-with-secrets-and-variables\",\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"description\":\"Always redirect browser pre-auth\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_IDP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Dummy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Dummy\",\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"EmailAsUsername\",\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"description\":\"set per level shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"level\",\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Other Example Library Script\",\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"description\":\"Normalizes raw profile data from ADFS\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"ADFS Profile Normalization (JS)\",\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Inactive Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Inactive Device Match Script\",\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Check if mode has already been set.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"mode\",\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"GitHub Profile Normalization (VS)\",\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Format Username\",\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"description\":\"set the same shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"shared\",\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"description\":\"My Example Script Using Libraries\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Script Using Libraries\",\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"Custom Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Custom Device Match Script\",\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_SP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"FrodoSPAdapter\",\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"description\":\"My Example Library\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Library\",\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default alpha realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OIDC Claims Script\",\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" + "size": 440, + "text": "{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"_rev\":\"-1175277026\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -14671,6 +27899,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1175277026\"" + }, { "name": "expires", "value": "0" @@ -14683,13 +27915,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "440" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14706,20 +27942,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:53.646Z", - "time": 689, + "startedDateTime": "2024-11-05T21:21:46.525Z", + "time": 128, "timings": { "blocked": -1, "connect": -1, @@ -14727,11 +27959,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 689 + "wait": 128 } }, { - "_id": "02e90a0a7d26ea2e13d332c6c0b5cfcf", + "_id": "d39732c018c2ba2f67bec6ab36304059", "_order": 0, "cache": {}, "request": { @@ -14752,11 +27984,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14771,18 +28003,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21" }, "response": { - "bodySize": 176, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176, - "text": "{\"_id\":\"\",\"_rev\":\"-548141557\",\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" + "size": 439, + "text": "{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"_rev\":\"-409686295\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -14820,7 +28052,7 @@ }, { "name": "etag", - "value": "\"-548141557\"" + "value": "\"-409686295\"" }, { "name": "expires", @@ -14836,15 +28068,15 @@ }, { "name": "content-length", - "value": "176" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14869,8 +28101,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.349Z", - "time": 104, + "startedDateTime": "2024-11-05T21:21:46.526Z", + "time": 128, "timings": { "blocked": -1, "connect": -1, @@ -14878,11 +28110,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 104 + "wait": 128 } }, { - "_id": "b616cbb332784de37b63e08eddb36a7a", + "_id": "e69a9f5d2435f5f6663f35a3489959ad", "_order": 0, "cache": {}, "request": { @@ -14903,11 +28135,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14922,23 +28154,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2066, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524" }, "response": { - "bodySize": 13, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 258, + "text": "{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"_rev\":\"148590759\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14974,6 +28201,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"148590759\"" + }, { "name": "expires", "value": "0" @@ -14988,15 +28219,15 @@ }, { "name": "content-length", - "value": "13" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15015,14 +28246,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.350Z", - "time": 96, + "startedDateTime": "2024-11-05T21:21:46.526Z", + "time": 213, "timings": { "blocked": -1, "connect": -1, @@ -15030,11 +28261,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 213 } }, { - "_id": "887c82329026ac2e059fd02a3332aa14", + "_id": "b1e3860191f9205d1a40b2050ac6012e", "_order": 0, "cache": {}, "request": { @@ -15055,11 +28286,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15074,18 +28305,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j00" }, "response": { - "bodySize": 365, + "bodySize": 1588, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 365, - "text": "{\"_id\":\"\",\"_rev\":\"-439720564\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 1588, + "text": "{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -15123,7 +28354,7 @@ }, { "name": "etag", - "value": "\"-439720564\"" + "value": "\"214130857\"" }, { "name": "expires", @@ -15139,15 +28370,15 @@ }, { "name": "content-length", - "value": "365" + "value": "1588" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15172,8 +28403,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.351Z", - "time": 87, + "startedDateTime": "2024-11-05T21:21:46.742Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -15181,11 +28412,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 61 } }, { - "_id": "52ae24f6c29871e39dfc419a68492bc8", + "_id": "598416e130a75705f73791f1e78fb8e3", "_order": 0, "cache": {}, "request": { @@ -15206,11 +28437,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15225,23 +28456,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2006, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/01d3785f-7fb4-44a7-9458-72c380a9818f" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"_rev\":\"-853523981\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-853523981\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:46 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email?_action=nextdescendents" + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:46.811Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + }, + { + "_id": "13c60f0b6a4038c2c8d28c16159bbe62", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/39b48197-f4be-42b9-800a-866587b4b9b5" }, "response": { - "bodySize": 256, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"result\":[{\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"username\":\"vscheuber@gmail.com\",\"sslState\":\"SSL\",\"hostname\":\"smtp.gmail.com\",\"_id\":\"gmail\",\"_type\":{\"_id\":\"smtpTransports\",\"name\":\"SMTP\",\"collection\":true}}]}" + "size": 298, + "text": "{\"_id\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"_rev\":\"1609152298\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15277,6 +28654,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1609152298\"" + }, { "name": "expires", "value": "0" @@ -15291,15 +28672,15 @@ }, { "name": "content-length", - "value": "256" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15318,14 +28699,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.351Z", - "time": 137, + "startedDateTime": "2024-11-05T21:21:46.812Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -15333,11 +28714,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 137 + "wait": 74 } }, { - "_id": "0336fc6ba91110f3e276bf8a288b981f", + "_id": "4c6da772b271182ec7655070aa710eeb", "_order": 0, "cache": {}, "request": { @@ -15358,11 +28739,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15377,18 +28758,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1985, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/513a2ab4-f0b8-4f94-b840-6fe14796cc84" }, "response": { - "bodySize": 116, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 116, - "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 529, + "text": "{\"_id\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"_rev\":\"-318011549\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -15426,7 +28807,7 @@ }, { "name": "etag", - "value": "\"6506753\"" + "value": "\"-318011549\"" }, { "name": "expires", @@ -15442,15 +28823,15 @@ }, { "name": "content-length", - "value": "116" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15469,14 +28850,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 783, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.353Z", - "time": 133, + "startedDateTime": "2024-11-05T21:21:46.813Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -15484,11 +28865,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 133 + "wait": 72 } }, { - "_id": "383887ff55b9d3e93c4f48578c466099", + "_id": "b88182778c7d6e3421f31467b46cb975", "_order": 0, "cache": {}, "request": { @@ -15509,11 +28890,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15528,23 +28909,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2010, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c1e8d61-0c48-44ba-86dc-52e9555b6aeb" }, "response": { - "bodySize": 13, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 298, + "text": "{\"_id\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\",\"_rev\":\"1672315064\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15580,6 +28956,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1672315064\"" + }, { "name": "expires", "value": "0" @@ -15594,15 +28974,15 @@ }, { "name": "content-length", - "value": "13" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15621,14 +29001,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.354Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:46.813Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -15636,11 +29016,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 75 } }, { - "_id": "a40075bb0ef119b2ce419f243f66c32e", + "_id": "f18f3d1b855cb17e438fbd4cd97a4d7f", "_order": 0, "cache": {}, "request": { @@ -15661,11 +29041,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15680,18 +29060,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1995, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ba503a1e-633e-4d0d-ba18-c9a9b1105b5b" }, "response": { - "bodySize": 837, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 837, - "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 297, + "text": "{\"_id\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"_rev\":\"970966657\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15729,7 +29109,7 @@ }, { "name": "etag", - "value": "\"-1504612008\"" + "value": "\"970966657\"" }, { "name": "expires", @@ -15745,15 +29125,15 @@ }, { "name": "content-length", - "value": "837" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15772,14 +29152,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.354Z", - "time": 100, + "startedDateTime": "2024-11-05T21:21:46.814Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -15787,11 +29167,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 71 } }, { - "_id": "a9f1d3fc495909d075260ee04e3ca64e", + "_id": "f88e483229e4ef5061285aa47c86b596", "_order": 0, "cache": {}, "request": { @@ -15812,11 +29192,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15831,23 +29211,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d17ffaa1-2c61-4abd-9bb1-2559160d0a5c" }, "response": { - "bodySize": 13, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 299, + "text": "{\"_id\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\",\"_rev\":\"-2064120483\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15883,6 +29258,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2064120483\"" + }, { "name": "expires", "value": "0" @@ -15897,15 +29276,15 @@ }, { "name": "content-length", - "value": "13" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15924,14 +29303,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.355Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:46.814Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -15939,11 +29318,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 77 } }, { - "_id": "f4d9d124d04a427d9d2de2764e6510be", + "_id": "7325ee70e86396f36ff64734fc8ec584", "_order": 0, "cache": {}, "request": { @@ -15964,11 +29343,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15983,18 +29362,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j01" }, "response": { - "bodySize": 279, + "bodySize": 1619, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 1619, + "text": "{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -16032,7 +29411,7 @@ }, { "name": "etag", - "value": "\"-948959244\"" + "value": "\"-523887030\"" }, { "name": "expires", @@ -16048,15 +29427,15 @@ }, { "name": "content-length", - "value": "279" + "value": "1619" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:46 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16075,14 +29454,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.356Z", - "time": 83, + "startedDateTime": "2024-11-05T21:21:46.895Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -16090,11 +29469,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 62 } }, { - "_id": "612f52313bf9113c27e4f24671b03c02", + "_id": "d1e3cdda9102bc0e93c2f874ead8ca76", "_order": 0, "cache": {}, "request": { @@ -16115,11 +29494,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16134,23 +29513,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6674b4ac-dd89-4e13-9440-6f81194e3a22" }, "response": { - "bodySize": 13, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 298, + "text": "{\"_id\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\",\"_rev\":\"-572093512\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -16186,6 +29560,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-572093512\"" + }, { "name": "expires", "value": "0" @@ -16200,15 +29578,15 @@ }, { "name": "content-length", - "value": "13" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16227,14 +29605,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.356Z", - "time": 98, + "startedDateTime": "2024-11-05T21:21:46.963Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -16242,11 +29620,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 66 } }, { - "_id": "f3f6a254e1c6a207b4a25b1228841a6e", + "_id": "dd1d09643b1692c97bccfbaf7259d98e", "_order": 0, "cache": {}, "request": { @@ -16267,11 +29645,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16286,18 +29664,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1999, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/89ce5d57-82fa-4d58-8d15-0329f7dbd7e7" }, "response": { - "bodySize": 148, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 299, + "text": "{\"_id\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"_rev\":\"-1475826260\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -16335,7 +29713,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"-1475826260\"" }, { "name": "expires", @@ -16351,15 +29729,15 @@ }, { "name": "content-length", - "value": "148" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16378,14 +29756,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.357Z", - "time": 167, + "startedDateTime": "2024-11-05T21:21:46.963Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -16393,11 +29771,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 167 + "wait": 84 } }, { - "_id": "ad5b89c263fdb9ea6316cbdb6faab3da", + "_id": "ca1ff8137135c91da78e9a6a657b7418", "_order": 0, "cache": {}, "request": { @@ -16418,11 +29796,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16437,23 +29815,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2024, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bb1e96af-f316-4eb0-b1c6-36b3f1af9e35" }, "response": { - "bodySize": 10076, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10076, - "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" + "size": 254, + "text": "{\"_id\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"_rev\":\"2105288152\",\"tree\":\"j00\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -16489,6 +29862,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2105288152\"" + }, { "name": "expires", "value": "0" @@ -16501,13 +29878,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "254" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16524,20 +29905,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.359Z", - "time": 199, + "startedDateTime": "2024-11-05T21:21:46.964Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -16545,11 +29922,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 199 + "wait": 82 } }, { - "_id": "333a2d53709afae6dd06db50fd306b33", + "_id": "5b9e8b3d0f7fc7c52767bd680eb49fab", "_order": 0, "cache": {}, "request": { @@ -16570,11 +29947,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16589,23 +29966,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e92d5139-b8a6-43dc-9b13-95ba1d0dc53c" }, "response": { - "bodySize": 13, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 297, + "text": "{\"_id\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"_rev\":\"288852992\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -16641,6 +30013,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"288852992\"" + }, { "name": "expires", "value": "0" @@ -16655,15 +30031,15 @@ }, { "name": "content-length", - "value": "13" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16682,14 +30058,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.361Z", - "time": 200, + "startedDateTime": "2024-11-05T21:21:46.965Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -16697,11 +30073,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 200 + "wait": 79 } }, { - "_id": "22bbc7fa51ae11fc12551f293689b75c", + "_id": "c42914f0baab01a83cd1ab498ce85ae0", "_order": 0, "cache": {}, "request": { @@ -16722,11 +30098,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16741,144 +30117,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1991, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bdfbe97c-1ff4-4162-85bc-47f6f14b2c66" }, "response": { - "bodySize": 114, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 298, + "text": "{\"_id\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\",\"_rev\":\"-939615205\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ { - "name": "cache-control", - "value": "private, no-store" + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "name": "cache-control", + "value": "private" }, { - "name": "via", - "value": "1.1 google" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 292, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 403, - "statusText": "Forbidden" - }, - "startedDateTime": "2024-10-22T22:46:54.362Z", - "time": 123, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 123 - } - }, - { - "_id": "05894705a21149f7f6a8a9ade2f4fb06", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" + "name": "cross-origin-opener-policy", + "value": "same-origin" }, { - "name": "content-type", - "value": "application/json" + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "name": "etag", + "value": "\"-939615205\"" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "expires", + "value": "0" }, { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "name": "pragma", + "value": "no-cache" }, { - "name": "authorization", - "value": "Bearer " + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "content-length", + "value": "298" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2016, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories?_action=nextdescendents" - }, - "response": { - "bodySize": 114, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "no-cache" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "value": "max-age=31536000; includeSubDomains; preload;" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -16887,20 +30207,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.364Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:46.965Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -16908,11 +30224,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 87 } }, { - "_id": "255a10eae87b0b9a83474b491fe6fa9e", + "_id": "83b59d10d1e9bce434647ff9667b577c", "_order": 0, "cache": {}, "request": { @@ -16933,11 +30249,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16952,18 +30268,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1996, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f129f0df-b49e-453b-97fb-db508e3893ce" }, "response": { - "bodySize": 135, + "bodySize": 527, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 527, + "text": "{\"_id\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"_rev\":\"52245222\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -17001,7 +30317,7 @@ }, { "name": "etag", - "value": "\"-945038405\"" + "value": "\"52245222\"" }, { "name": "expires", @@ -17017,15 +30333,15 @@ }, { "name": "content-length", - "value": "135" + "value": "527" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17044,14 +30360,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.365Z", - "time": 165, + "startedDateTime": "2024-11-05T21:21:46.966Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -17059,11 +30375,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 165 + "wait": 84 } }, { - "_id": "8360d3092f5d10ac3ed1f279d93a8d72", + "_id": "8d027217e0ff5bd8243f83b7689d83c4", "_order": 0, "cache": {}, "request": { @@ -17084,11 +30400,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17103,23 +30419,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j02" }, "response": { - "bodySize": 13, + "bodySize": 1685, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1685, + "text": "{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -17155,6 +30466,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2029292005\"" + }, { "name": "expires", "value": "0" @@ -17169,15 +30484,15 @@ }, { "name": "content-length", - "value": "13" + "value": "1685" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17196,14 +30511,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.366Z", - "time": 216, + "startedDateTime": "2024-11-05T21:21:47.056Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -17211,11 +30526,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 216 + "wait": 65 } }, { - "_id": "06a173e8dc91053221929bcf661f6245", + "_id": "ba4aeff54598cee3c70eee4953ffa6ee", "_order": 0, "cache": {}, "request": { @@ -17236,11 +30551,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17255,18 +30570,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2dbd2d37-c659-48cf-8357-c9fc1166e3a7" }, "response": { - "bodySize": 178, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 178, - "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\",\"_rev\":\"1485747872\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -17304,7 +30619,7 @@ }, { "name": "etag", - "value": "\"-1889820858\"" + "value": "\"1485747872\"" }, { "name": "expires", @@ -17320,15 +30635,15 @@ }, { "name": "content-length", - "value": "178" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17347,14 +30662,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.367Z", - "time": 172, + "startedDateTime": "2024-11-05T21:21:47.129Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -17362,11 +30677,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 172 + "wait": 78 } }, { - "_id": "a7ffcf2fdd14bf4cdd5448b61131a795", + "_id": "cd2426a7fc35128cbb977da802fc84ba", "_order": 0, "cache": {}, "request": { @@ -17387,11 +30702,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17406,23 +30721,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4416aff7-3ebd-47e6-9831-c2f6bbe3ae24" }, "response": { - "bodySize": 13, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 297, + "text": "{\"_id\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"_rev\":\"978548317\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -17458,6 +30768,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"978548317\"" + }, { "name": "expires", "value": "0" @@ -17472,15 +30786,15 @@ }, { "name": "content-length", - "value": "13" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17499,14 +30813,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.368Z", - "time": 172, + "startedDateTime": "2024-11-05T21:21:47.130Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -17514,11 +30828,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 172 + "wait": 93 } }, { - "_id": "997d804b9cfd50ea780496dde25ac43d", + "_id": "4b507830211bc6c301ab324907ce233c", "_order": 0, "cache": {}, "request": { @@ -17539,11 +30853,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17558,18 +30872,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/56899fef-92a1-4f2a-ade3-973c81eb3af1" }, "response": { - "bodySize": 175, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 175, - "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 254, + "text": "{\"_id\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"_rev\":\"-568833890\",\"tree\":\"j01\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -17607,7 +30921,7 @@ }, { "name": "etag", - "value": "\"896681690\"" + "value": "\"-568833890\"" }, { "name": "expires", @@ -17623,15 +30937,15 @@ }, { "name": "content-length", - "value": "175" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17650,14 +30964,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.370Z", - "time": 159, + "startedDateTime": "2024-11-05T21:21:47.132Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -17665,11 +30979,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 159 + "wait": 88 } }, { - "_id": "ef704793f963746022895744e772ed2c", + "_id": "aa755c264e89664042c87c06f2eb4521", "_order": 0, "cache": {}, "request": { @@ -17690,11 +31004,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17709,23 +31023,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/59b06306-a886-443d-92df-7a27a60c394e" }, "response": { - "bodySize": 13, + "bodySize": 527, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 527, + "text": "{\"_id\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"_rev\":\"49592573\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -17761,6 +31070,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"49592573\"" + }, { "name": "expires", "value": "0" @@ -17775,15 +31088,15 @@ }, { "name": "content-length", - "value": "13" + "value": "527" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17802,14 +31115,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.371Z", - "time": 158, + "startedDateTime": "2024-11-05T21:21:47.132Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -17817,11 +31130,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 158 + "wait": 92 } }, { - "_id": "a3edc3199d9a982b9137685a3b351139", + "_id": "5ecede6f97c90cddb1f9a134e49b0313", "_order": 0, "cache": {}, "request": { @@ -17842,11 +31155,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17861,144 +31174,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbb3d506-b267-4b99-9edd-363e90aac997" }, "response": { - "bodySize": 114, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 299, + "text": "{\"_id\":\"cbb3d506-b267-4b99-9edd-363e90aac997\",\"_rev\":\"-1997428236\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ { - "name": "cache-control", - "value": "private, no-store" + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "name": "cache-control", + "value": "private" }, { - "name": "via", - "value": "1.1 google" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 292, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 403, - "statusText": "Forbidden" - }, - "startedDateTime": "2024-10-22T22:46:54.372Z", - "time": 94, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 94 - } - }, - { - "_id": "e1f511d66a8b66a7c7aec47c63713084", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" + "name": "cross-origin-opener-policy", + "value": "same-origin" }, { - "name": "content-type", - "value": "application/json" + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "name": "etag", + "value": "\"-1997428236\"" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "expires", + "value": "0" }, { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "name": "pragma", + "value": "no-cache" }, { - "name": "authorization", - "value": "Bearer " + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "content-length", + "value": "299" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2017, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService?_action=nextdescendents" - }, - "response": { - "bodySize": 114, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "no-cache" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "value": "max-age=31536000; includeSubDomains; preload;" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -18007,20 +31264,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.373Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:47.133Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -18028,11 +31281,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 80 } }, { - "_id": "cc968d4ca98755f27cb44bad450498ad", + "_id": "5a0fb0a7d7a63deb5bd06a6aabe86260", "_order": 0, "cache": {}, "request": { @@ -18053,7 +31306,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18072,23 +31325,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0983ead-4918-48f6-858d-9aff0f03759c" }, "response": { - "bodySize": 31869, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 31869, - "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":21,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 298, + "text": "{\"_id\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"_rev\":\"1611025039\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18110,7 +31358,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -18124,6 +31372,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1611025039\"" + }, { "name": "expires", "value": "0" @@ -18136,13 +31388,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "298" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18159,20 +31415,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.693Z", - "time": 159, + "startedDateTime": "2024-11-05T21:21:47.133Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -18180,11 +31432,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 159 + "wait": 89 } }, { - "_id": "b3fe3510cd92f9e432c12a7d11f8d5a0", + "_id": "913b982d8e01092f68ba6251c8ccb852", "_order": 0, "cache": {}, "request": { @@ -18205,7 +31457,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18224,18 +31476,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j03" }, "response": { - "bodySize": 1273, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1273, - "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 1686, + "text": "{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -18273,7 +31525,7 @@ }, { "name": "etag", - "value": "\"1703131230\"" + "value": "\"-1352811052\"" }, { "name": "expires", @@ -18289,15 +31541,15 @@ }, { "name": "content-length", - "value": "1273" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:54 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18316,14 +31568,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.858Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:47.228Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -18331,11 +31583,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 65 } }, { - "_id": "710c38486084ac7b99b5145198d5e62b", + "_id": "4fe3fe52b433c85de2f6efe61528b695", "_order": 0, "cache": {}, "request": { @@ -18356,7 +31608,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18375,169 +31627,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" - }, - "response": { - "bodySize": 451, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 451, - "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1421046051\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "451" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:54.927Z", - "time": 464, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 464 - } - }, - { - "_id": "2a438656c535bf6497f6b74fa011172b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/35a4f94b-c895-46b9-bc0a-93cf59233759" }, "response": { - "bodySize": 296, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"_rev\":\"1564723806\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18575,7 +31676,7 @@ }, { "name": "etag", - "value": "\"-626658673\"" + "value": "\"1564723806\"" }, { "name": "expires", @@ -18591,15 +31692,15 @@ }, { "name": "content-length", - "value": "296" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18624,8 +31725,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.928Z", - "time": 197, + "startedDateTime": "2024-11-05T21:21:47.301Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -18633,11 +31734,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 197 + "wait": 84 } }, { - "_id": "9622062f1bc993445582b8c38d8bd6c4", + "_id": "0cd50e00beb73999dc1874def405941c", "_order": 0, "cache": {}, "request": { @@ -18658,7 +31759,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18677,18 +31778,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3a92300d-6d64-451d-8156-30cb51781026" }, "response": { - "bodySize": 256, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"3a92300d-6d64-451d-8156-30cb51781026\",\"_rev\":\"2096216426\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18726,7 +31827,7 @@ }, { "name": "etag", - "value": "\"1389809903\"" + "value": "\"2096216426\"" }, { "name": "expires", @@ -18742,15 +31843,15 @@ }, { "name": "content-length", - "value": "256" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18775,8 +31876,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.928Z", - "time": 511, + "startedDateTime": "2024-11-05T21:21:47.302Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -18784,11 +31885,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 511 + "wait": 75 } }, { - "_id": "3a0066f1671cf4c1502e674e85b5c1b1", + "_id": "b41d5a80336397c469890bd8945c4f41", "_order": 0, "cache": {}, "request": { @@ -18809,7 +31910,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18828,18 +31929,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6f9de973-9ed4-41f5-b43d-4036041e2b96" }, "response": { - "bodySize": 436, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"_rev\":\"846932888\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18877,7 +31978,7 @@ }, { "name": "etag", - "value": "\"2035832000\"" + "value": "\"846932888\"" }, { "name": "expires", @@ -18893,15 +31994,15 @@ }, { "name": "content-length", - "value": "436" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18920,14 +32021,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:54.929Z", - "time": 290, + "startedDateTime": "2024-11-05T21:21:47.302Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -18935,11 +32036,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 290 + "wait": 85 } }, { - "_id": "56a36eacbdf48c30f1c8494b58810a6f", + "_id": "d60340a7f5e5656ea81fc192dda4840c", "_order": 0, "cache": {}, "request": { @@ -18960,7 +32061,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18983,14 +32084,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bcb8c535-5ecd-4d3d-b970-26816de96bf2" }, "response": { - "bodySize": 307, + "bodySize": 255, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 255, + "text": "{\"_id\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"_rev\":\"-2072424763\",\"tree\":\"j02\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -19028,7 +32129,7 @@ }, { "name": "etag", - "value": "\"-1331445210\"" + "value": "\"-2072424763\"" }, { "name": "expires", @@ -19044,15 +32145,15 @@ }, { "name": "content-length", - "value": "307" + "value": "255" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19077,8 +32178,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.444Z", - "time": 214, + "startedDateTime": "2024-11-05T21:21:47.303Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -19086,11 +32187,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 214 + "wait": 82 } }, { - "_id": "84d251b736d069d67c1b7fdb6458ee02", + "_id": "b57733ba7c2ee94a3169dd6b89715068", "_order": 0, "cache": {}, "request": { @@ -19111,7 +32212,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19130,18 +32231,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/FrodoTest" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0cfbd13-6f1e-4924-9d2d-0f7c23507172" }, "response": { - "bodySize": 2431, + "bodySize": 528, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2431, - "text": "{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true}" + "size": 528, + "text": "{\"_id\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"_rev\":\"278641360\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -19179,7 +32280,7 @@ }, { "name": "etag", - "value": "\"1975823900\"" + "value": "\"278641360\"" }, { "name": "expires", @@ -19195,15 +32296,15 @@ }, { "name": "content-length", - "value": "2431" + "value": "528" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19222,14 +32323,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.662Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:47.303Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -19237,11 +32338,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 82 } }, { - "_id": "d9f16c7616e73b22bb652e7dc288cbc4", + "_id": "c312a41b098262892c7e99229bf7e941", "_order": 0, "cache": {}, "request": { @@ -19262,7 +32363,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19281,18 +32382,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fae7424e-13c9-45bd-b3a2-045773671a3f" }, "response": { - "bodySize": 641, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 641, - "text": "{\"_id\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\",\"_rev\":\"-1455503261\",\"nodes\":[{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Username\"},{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 298, + "text": "{\"_id\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\",\"_rev\":\"-502225245\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -19330,7 +32431,7 @@ }, { "name": "etag", - "value": "\"-1455503261\"" + "value": "\"-502225245\"" }, { "name": "expires", @@ -19346,15 +32447,15 @@ }, { "name": "content-length", - "value": "641" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19373,14 +32474,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.731Z", - "time": 113, + "startedDateTime": "2024-11-05T21:21:47.304Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -19388,11 +32489,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 113 + "wait": 82 } }, { - "_id": "34439a0cc18bbf2011e5612fe1d744bb", + "_id": "4684856543f16d16c04c97e00647c335", "_order": 0, "cache": {}, "request": { @@ -19413,7 +32514,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19432,169 +32533,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2062, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461" - }, - "response": { - "bodySize": 612, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 612, - "text": "{\"_id\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\",\"_rev\":\"370099639\",\"metaAlias\":\"/alpha/iSPAzure\",\"allowCreate\":true,\"authnContextClassRef\":[],\"authnContextDeclRef\":[],\"authComparison\":\"MINIMUM\",\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"requestBinding\":\"HTTP_REDIRECT\",\"binding\":\"HTTP_ARTIFACT\",\"forceAuthn\":false,\"idpEntityId\":\"urn:federation:MicrosoftOnline\",\"isPassive\":false,\"_type\":{\"_id\":\"product-Saml2Node\",\"name\":\"SAML2 Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"370099639\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "612" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:56 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 785, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:55.732Z", - "time": 300, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 300 - } - }, - { - "_id": "7db4363f6645ba01722de86b1000051e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2053, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j04" }, "response": { - "bodySize": 533, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 533, - "text": "{\"_id\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"_rev\":\"1250582707\",\"nodes\":[{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 1686, + "text": "{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -19632,7 +32582,7 @@ }, { "name": "etag", - "value": "\"1250582707\"" + "value": "\"-1089876293\"" }, { "name": "expires", @@ -19648,15 +32598,15 @@ }, { "name": "content-length", - "value": "533" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19675,14 +32625,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.733Z", - "time": 112, + "startedDateTime": "2024-11-05T21:21:47.392Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -19690,11 +32640,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 112 + "wait": 64 } }, { - "_id": "db405b41f64e349ee40e45abfbf1f026", + "_id": "987c06ea446d93dc2da56452976681f8", "_order": 0, "cache": {}, "request": { @@ -19715,7 +32665,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19734,18 +32684,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2062, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/00e75aa0-2f9b-4895-9257-d515286fd64b" }, "response": { - "bodySize": 349, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"bf153f37-83dd-4f39-aa0c-74135430242e\",\"_rev\":\"707624425\",\"emailTemplateName\":\"welcome\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"_type\":{\"_id\":\"EmailTemplateNode\",\"name\":\"Email Template Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"EMAIL_SENT\",\"displayName\":\"Email Sent\"},{\"id\":\"EMAIL_NOT_SENT\",\"displayName\":\"Email Not Sent\"}]}" + "size": 253, + "text": "{\"_id\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"_rev\":\"415392584\",\"tree\":\"j03\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -19783,7 +32733,7 @@ }, { "name": "etag", - "value": "\"707624425\"" + "value": "\"415392584\"" }, { "name": "expires", @@ -19799,15 +32749,15 @@ }, { "name": "content-length", - "value": "349" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19832,8 +32782,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.733Z", - "time": 174, + "startedDateTime": "2024-11-05T21:21:47.465Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -19841,11 +32791,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 174 + "wait": 93 } }, { - "_id": "963e1f3ff05d0f498b612ae093a10e18", + "_id": "b0c8dbd31d2cf5fb222385b648514c79", "_order": 0, "cache": {}, "request": { @@ -19866,7 +32816,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19885,18 +32835,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/040b6c89-313b-4664-92e0-6732017384b8" }, "response": { - "bodySize": 395, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 395, - "text": "{\"_id\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\",\"_rev\":\"60612304\",\"clientType\":\"BROWSER\",\"script\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"usernameAttribute\":\"userName\",\"_type\":{\"_id\":\"SocialProviderHandlerNode\",\"name\":\"Legacy Social Provider Handler Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 529, + "text": "{\"_id\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"_rev\":\"-605917161\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -19934,7 +32884,7 @@ }, { "name": "etag", - "value": "\"60612304\"" + "value": "\"-605917161\"" }, { "name": "expires", @@ -19950,15 +32900,15 @@ }, { "name": "content-length", - "value": "395" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:55 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19977,14 +32927,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.734Z", - "time": 207, + "startedDateTime": "2024-11-05T21:21:47.466Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -19992,11 +32942,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 207 + "wait": 92 } }, { - "_id": "1e60c1d5bcea0926192c9cab2d4ecad0", + "_id": "15327126dda6066ae32c853e20646812", "_order": 0, "cache": {}, "request": { @@ -20017,7 +32967,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20036,18 +32986,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/69ae8ec1-de43-44ac-98e5-733db80ac176" }, "response": { - "bodySize": 475, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 475, - "text": "{\"_id\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"_rev\":\"-1432043869\",\"useUniversalIdForUsername\":true,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 298, + "text": "{\"_id\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\",\"_rev\":\"2146242142\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20085,7 +33035,7 @@ }, { "name": "etag", - "value": "\"-1432043869\"" + "value": "\"2146242142\"" }, { "name": "expires", @@ -20101,15 +33051,15 @@ }, { "name": "content-length", - "value": "475" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:56 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20128,14 +33078,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.735Z", - "time": 315, + "startedDateTime": "2024-11-05T21:21:47.466Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -20143,11 +33093,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 315 + "wait": 98 } }, { - "_id": "ae1ae17ca179e4ed5ede1b4a7396d093", + "_id": "053f364c741884fa5d605b47f550419c", "_order": 0, "cache": {}, "request": { @@ -20168,7 +33118,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20191,14 +33141,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/9603ef52-30f0-4ddc-b3c0-28dac83c7bdb" }, "response": { - "bodySize": 352, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 352, - "text": "{\"_id\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"_rev\":\"-495106283\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 298, + "text": "{\"_id\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\",\"_rev\":\"1934780085\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20236,7 +33186,7 @@ }, { "name": "etag", - "value": "\"-495106283\"" + "value": "\"1934780085\"" }, { "name": "expires", @@ -20252,15 +33202,15 @@ }, { "name": "content-length", - "value": "352" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20285,8 +33235,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:55.735Z", - "time": 1832, + "startedDateTime": "2024-11-05T21:21:47.467Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -20294,11 +33244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1832 + "wait": 87 } }, { - "_id": "24f7f35031d7af469ab0b9edf27d69cf", + "_id": "3e578a09ca6fdd1321dcda32ee5f8033", "_order": 0, "cache": {}, "request": { @@ -20319,7 +33269,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20338,18 +33288,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d10104e9-1f8d-4da6-a110-28d879d13959" }, "response": { - "bodySize": 259, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"_rev\":\"1005646283\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"_rev\":\"-219838938\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20387,7 +33337,7 @@ }, { "name": "etag", - "value": "\"1005646283\"" + "value": "\"-219838938\"" }, { "name": "expires", @@ -20403,15 +33353,15 @@ }, { "name": "content-length", - "value": "259" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20436,8 +33386,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.574Z", - "time": 241, + "startedDateTime": "2024-11-05T21:21:47.468Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -20445,11 +33395,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 241 + "wait": 71 } }, { - "_id": "2ded1da71fd6943aec890c2900e80cf5", + "_id": "e51dc307b38e72dc6b16c79effbb51bd", "_order": 0, "cache": {}, "request": { @@ -20470,7 +33420,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20489,18 +33439,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f5c317ce-fabd-4a10-9907-c71cea037844" }, "response": { - "bodySize": 258, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"_rev\":\"695550246\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"_rev\":\"1796672161\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20538,7 +33488,7 @@ }, { "name": "etag", - "value": "\"695550246\"" + "value": "\"1796672161\"" }, { "name": "expires", @@ -20554,15 +33504,15 @@ }, { "name": "content-length", - "value": "258" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20581,14 +33531,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.575Z", - "time": 291, + "startedDateTime": "2024-11-05T21:21:47.468Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -20596,11 +33546,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 291 + "wait": 89 } }, { - "_id": "d3af3161eacb107f66633f5e808922cc", + "_id": "7ddb7f4cbb398fb6c053bcf4e1261081", "_order": 0, "cache": {}, "request": { @@ -20621,7 +33571,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20640,18 +33590,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j05" }, "response": { - "bodySize": 440, + "bodySize": 1685, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 440, - "text": "{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"_rev\":\"-1175277026\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 1685, + "text": "{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -20689,7 +33639,7 @@ }, { "name": "etag", - "value": "\"-1175277026\"" + "value": "\"1652057497\"" }, { "name": "expires", @@ -20705,15 +33655,15 @@ }, { "name": "content-length", - "value": "440" + "value": "1685" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20738,8 +33688,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.576Z", - "time": 239, + "startedDateTime": "2024-11-05T21:21:47.568Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -20747,11 +33697,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 239 + "wait": 64 } }, { - "_id": "e69a9f5d2435f5f6663f35a3489959ad", + "_id": "dd23206a6b33ee8e573b6bce0af2e897", "_order": 0, "cache": {}, "request": { @@ -20772,7 +33722,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20791,18 +33741,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/11f1c31c-50a9-4717-8213-420f6932481f" }, "response": { - "bodySize": 258, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"_rev\":\"148590759\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"_rev\":\"715843294\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20840,7 +33790,7 @@ }, { "name": "etag", - "value": "\"148590759\"" + "value": "\"715843294\"" }, { "name": "expires", @@ -20856,15 +33806,15 @@ }, { "name": "content-length", - "value": "258" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20889,159 +33839,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.576Z", - "time": 288, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 288 - } - }, - { - "_id": "d39732c018c2ba2f67bec6ab36304059", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2058, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21" - }, - "response": { - "bodySize": 439, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 439, - "text": "{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"_rev\":\"-409686295\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-409686295\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "439" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:57.577Z", - "time": 235, + "startedDateTime": "2024-11-05T21:21:47.638Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -21049,11 +33848,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 235 + "wait": 76 } }, { - "_id": "b1e3860191f9205d1a40b2050ac6012e", + "_id": "b3b35052562eb0ebdba3dda027bf1a40", "_order": 0, "cache": {}, "request": { @@ -21074,7 +33873,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21093,18 +33892,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j00" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/622179cb-98f1-484a-820d-9a0df6e45e95" }, "response": { - "bodySize": 1588, + "bodySize": 530, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1588, - "text": "{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true}" + "size": 530, + "text": "{\"_id\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"_rev\":\"-1022065915\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -21142,7 +33941,7 @@ }, { "name": "etag", - "value": "\"214130857\"" + "value": "\"-1022065915\"" }, { "name": "expires", @@ -21158,15 +33957,15 @@ }, { "name": "content-length", - "value": "1588" + "value": "530" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21185,14 +33984,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.870Z", - "time": 61, + "startedDateTime": "2024-11-05T21:21:47.639Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -21200,11 +33999,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 89 } }, { - "_id": "598416e130a75705f73791f1e78fb8e3", + "_id": "db105f4f6fe2be50621ecad4ec126bb1", "_order": 0, "cache": {}, "request": { @@ -21225,7 +34024,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21248,14 +34047,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/01d3785f-7fb4-44a7-9458-72c380a9818f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c106772-ace7-4808-8f3a-9840de8f67f0" }, "response": { - "bodySize": 298, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"_rev\":\"-853523981\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"_rev\":\"202853816\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -21293,7 +34092,7 @@ }, { "name": "etag", - "value": "\"-853523981\"" + "value": "\"202853816\"" }, { "name": "expires", @@ -21309,15 +34108,15 @@ }, { "name": "content-length", - "value": "298" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21336,14 +34135,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.939Z", - "time": 70, + "startedDateTime": "2024-11-05T21:21:47.639Z", + "time": 96, "timings": { "blocked": -1, "connect": -1, @@ -21351,11 +34150,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 96 } }, { - "_id": "13c60f0b6a4038c2c8d28c16159bbe62", + "_id": "a1da42ac4d483c25ff22e2e1e882d6fb", "_order": 0, "cache": {}, "request": { @@ -21376,7 +34175,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21399,14 +34198,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/39b48197-f4be-42b9-800a-866587b4b9b5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e90ae257-c279-46e0-9b43-5ecd89784d77" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"_rev\":\"1609152298\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\",\"_rev\":\"2040408899\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -21444,7 +34243,7 @@ }, { "name": "etag", - "value": "\"1609152298\"" + "value": "\"2040408899\"" }, { "name": "expires", @@ -21464,11 +34263,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21493,8 +34292,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.940Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:47.640Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -21502,11 +34301,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 79 } }, { - "_id": "b88182778c7d6e3421f31467b46cb975", + "_id": "406753acb4b4e3d27aab3350bad1bb37", "_order": 0, "cache": {}, "request": { @@ -21527,7 +34326,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21550,14 +34349,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c1e8d61-0c48-44ba-86dc-52e9555b6aeb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a0782616-84b7-4bf5-87ed-a01fb3018563" }, "response": { - "bodySize": 298, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\",\"_rev\":\"1672315064\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\",\"_rev\":\"156265951\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -21595,7 +34394,7 @@ }, { "name": "etag", - "value": "\"1672315064\"" + "value": "\"156265951\"" }, { "name": "expires", @@ -21611,15 +34410,15 @@ }, { "name": "content-length", - "value": "298" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:57 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21638,14 +34437,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.942Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:47.640Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -21653,11 +34452,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 84 } }, { - "_id": "4c6da772b271182ec7655070aa710eeb", + "_id": "1a11294b705e0e060e2472a58a3ac54b", "_order": 0, "cache": {}, "request": { @@ -21678,7 +34477,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21697,18 +34496,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/513a2ab4-f0b8-4f94-b840-6fe14796cc84" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/f17ecb7c-abc3-4523-9943-4cbdd90305cb" }, "response": { - "bodySize": 529, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"_rev\":\"-318011549\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 253, + "text": "{\"_id\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"_rev\":\"730701700\",\"tree\":\"j04\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -21746,7 +34545,7 @@ }, { "name": "etag", - "value": "\"-318011549\"" + "value": "\"730701700\"" }, { "name": "expires", @@ -21762,15 +34561,15 @@ }, { "name": "content-length", - "value": "529" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21789,14 +34588,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.943Z", - "time": 83, + "startedDateTime": "2024-11-05T21:21:47.641Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -21804,11 +34603,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 81 } }, { - "_id": "f18f3d1b855cb17e438fbd4cd97a4d7f", + "_id": "b7edc8f7f623ef8e100c183901c807e4", "_order": 0, "cache": {}, "request": { @@ -21829,7 +34628,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21848,18 +34647,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ba503a1e-633e-4d0d-ba18-c9a9b1105b5b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j06" }, "response": { - "bodySize": 297, + "bodySize": 1684, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"_rev\":\"970966657\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1684, + "text": "{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -21897,7 +34696,7 @@ }, { "name": "etag", - "value": "\"970966657\"" + "value": "\"605160891\"" }, { "name": "expires", @@ -21913,15 +34712,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1684" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21940,14 +34739,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.944Z", - "time": 80, + "startedDateTime": "2024-11-05T21:21:47.740Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -21955,11 +34754,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 74 } }, { - "_id": "f88e483229e4ef5061285aa47c86b596", + "_id": "c994e25239221808046df1575f95cf15", "_order": 0, "cache": {}, "request": { @@ -21980,7 +34779,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22003,14 +34802,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d17ffaa1-2c61-4abd-9bb1-2559160d0a5c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1d59caff-243c-45bd-b7d0-6dcc563989c5" }, "response": { "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", "size": 299, - "text": "{\"_id\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\",\"_rev\":\"-2064120483\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"_rev\":\"-1941208375\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22048,7 +34847,7 @@ }, { "name": "etag", - "value": "\"-2064120483\"" + "value": "\"-1941208375\"" }, { "name": "expires", @@ -22068,11 +34867,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22097,8 +34896,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:57.945Z", - "time": 84, + "startedDateTime": "2024-11-05T21:21:47.823Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -22106,11 +34905,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 71 } }, { - "_id": "7325ee70e86396f36ff64734fc8ec584", + "_id": "34a1ad729a4b3396acfe9bcba6b8689b", "_order": 0, "cache": {}, "request": { @@ -22131,7 +34930,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22150,18 +34949,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j01" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/409c251f-c23b-411d-9009-d3b3d26d1b90" }, "response": { - "bodySize": 1619, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1619, - "text": "{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 254, + "text": "{\"_id\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"_rev\":\"-688245766\",\"tree\":\"j05\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -22199,7 +34998,7 @@ }, { "name": "etag", - "value": "\"-523887030\"" + "value": "\"-688245766\"" }, { "name": "expires", @@ -22215,15 +35014,15 @@ }, { "name": "content-length", - "value": "1619" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22242,14 +35041,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.033Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:47.824Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -22257,11 +35056,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 73 } }, { - "_id": "d1e3cdda9102bc0e93c2f874ead8ca76", + "_id": "8f46865c8963b361e61798cad982fd2d", "_order": 0, "cache": {}, "request": { @@ -22282,7 +35081,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22305,14 +35104,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6674b4ac-dd89-4e13-9440-6f81194e3a22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\",\"_rev\":\"-572093512\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\",\"_rev\":\"1105672105\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22350,7 +35149,7 @@ }, { "name": "etag", - "value": "\"-572093512\"" + "value": "\"1105672105\"" }, { "name": "expires", @@ -22370,11 +35169,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22399,8 +35198,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.101Z", - "time": 87, + "startedDateTime": "2024-11-05T21:21:47.824Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -22408,11 +35207,162 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 78 } }, { - "_id": "dd1d09643b1692c97bccfbaf7259d98e", + "_id": "82e391e58d13b2e4013cf7bd3020472c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/44b8651c-7c1e-41f1-b9a6-2e441b0ce05a" + }, + "response": { + "bodySize": 528, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 528, + "text": "{\"_id\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"_rev\":\"600150282\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"600150282\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "528" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:47 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:47.825Z", + "time": 80, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 80 + } + }, + { + "_id": "bec64bd7f5c0e099837d3f569a4b9aac", "_order": 0, "cache": {}, "request": { @@ -22433,7 +35383,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22456,14 +35406,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/89ce5d57-82fa-4d58-8d15-0329f7dbd7e7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/da878771-421c-463f-aad7-4d5f2ad5e59a" }, "response": { - "bodySize": 299, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"_rev\":\"-1475826260\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 298, + "text": "{\"_id\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\",\"_rev\":\"1834306764\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22501,7 +35451,7 @@ }, { "name": "etag", - "value": "\"-1475826260\"" + "value": "\"1834306764\"" }, { "name": "expires", @@ -22517,15 +35467,15 @@ }, { "name": "content-length", - "value": "299" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22544,14 +35494,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.102Z", - "time": 84, + "startedDateTime": "2024-11-05T21:21:47.825Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -22559,11 +35509,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 83 } }, { - "_id": "c42914f0baab01a83cd1ab498ce85ae0", + "_id": "f4003a36be1c3cc22cf7e46c22787889", "_order": 0, "cache": {}, "request": { @@ -22584,7 +35534,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22607,14 +35557,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bdfbe97c-1ff4-4162-85bc-47f6f14b2c66" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fe8f27df-8a27-4d88-9196-834ce398b2b7" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\",\"_rev\":\"-939615205\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"_rev\":\"-274854951\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22652,7 +35602,7 @@ }, { "name": "etag", - "value": "\"-939615205\"" + "value": "\"-274854951\"" }, { "name": "expires", @@ -22672,11 +35622,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22701,8 +35651,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.103Z", - "time": 80, + "startedDateTime": "2024-11-05T21:21:47.826Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -22710,11 +35660,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 82 } }, { - "_id": "ca1ff8137135c91da78e9a6a657b7418", + "_id": "5ca028647d90e87ccf6462dbe26dee7f", "_order": 0, "cache": {}, "request": { @@ -22735,7 +35685,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22754,18 +35704,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bb1e96af-f316-4eb0-b1c6-36b3f1af9e35" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j07" }, "response": { - "bodySize": 254, + "bodySize": 1685, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"_rev\":\"2105288152\",\"tree\":\"j00\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1685, + "text": "{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -22803,7 +35753,7 @@ }, { "name": "etag", - "value": "\"2105288152\"" + "value": "\"-937100459\"" }, { "name": "expires", @@ -22819,15 +35769,166 @@ }, { "name": "content-length", - "value": "254" + "value": "1685" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:47 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:47.913Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "77c7751f098702959a3a6b0cfc889c86", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/13b12fe6-cf53-46a4-a83d-0a3c1fda814f" + }, + "response": { + "bodySize": 529, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 529, + "text": "{\"_id\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"_rev\":\"-729439911\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-729439911\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "529" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22852,8 +35953,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.103Z", - "time": 85, + "startedDateTime": "2024-11-05T21:21:47.978Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -22861,11 +35962,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 82 } }, { - "_id": "5b9e8b3d0f7fc7c52767bd680eb49fab", + "_id": "5c566417ffc3d987bcd0c0bd81e452bd", "_order": 0, "cache": {}, "request": { @@ -22886,7 +35987,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22909,14 +36010,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e92d5139-b8a6-43dc-9b13-95ba1d0dc53c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d90dd9f8-8b12-4e90-abaf-228ecc0174a7" }, "response": { - "bodySize": 297, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"_rev\":\"288852992\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 298, + "text": "{\"_id\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"_rev\":\"1401033700\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22954,7 +36055,7 @@ }, { "name": "etag", - "value": "\"288852992\"" + "value": "\"1401033700\"" }, { "name": "expires", @@ -22970,15 +36071,15 @@ }, { "name": "content-length", - "value": "297" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22997,14 +36098,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.104Z", - "time": 85, + "startedDateTime": "2024-11-05T21:21:47.979Z", + "time": 99, "timings": { "blocked": -1, "connect": -1, @@ -23012,11 +36113,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 99 } }, { - "_id": "83b59d10d1e9bce434647ff9667b577c", + "_id": "b3388109a987c7aa0fd760a2910203c0", "_order": 0, "cache": {}, "request": { @@ -23037,7 +36138,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23060,14 +36161,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f129f0df-b49e-453b-97fb-db508e3893ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0" }, "response": { - "bodySize": 527, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 527, - "text": "{\"_id\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"_rev\":\"52245222\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 298, + "text": "{\"_id\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\",\"_rev\":\"-657863610\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23105,7 +36206,7 @@ }, { "name": "etag", - "value": "\"52245222\"" + "value": "\"-657863610\"" }, { "name": "expires", @@ -23121,15 +36222,15 @@ }, { "name": "content-length", - "value": "527" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23148,14 +36249,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.105Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:47.979Z", + "time": 102, "timings": { "blocked": -1, "connect": -1, @@ -23163,11 +36264,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 102 } }, { - "_id": "8d027217e0ff5bd8243f83b7689d83c4", + "_id": "163da4466c4d604293cd03cfc279986c", "_order": 0, "cache": {}, "request": { @@ -23188,7 +36289,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23207,18 +36308,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j02" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d9a06d3a-7e3f-4244-9a32-63ffa0d26e00" }, "response": { - "bodySize": 1685, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"_rev\":\"-1427545353\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23256,7 +36357,7 @@ }, { "name": "etag", - "value": "\"2029292005\"" + "value": "\"-1427545353\"" }, { "name": "expires", @@ -23272,15 +36373,15 @@ }, { "name": "content-length", - "value": "1685" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23305,8 +36406,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.196Z", - "time": 83, + "startedDateTime": "2024-11-05T21:21:47.980Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -23314,11 +36415,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 81 } }, { - "_id": "ba4aeff54598cee3c70eee4953ffa6ee", + "_id": "a14da1b980f343aed5e806b7fd6a44f4", "_order": 0, "cache": {}, "request": { @@ -23339,7 +36440,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23362,14 +36463,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2dbd2d37-c659-48cf-8357-c9fc1166e3a7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f2fe740c-cd75-460a-8baa-fe4b52ecc947" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\",\"_rev\":\"1485747872\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\",\"_rev\":\"-976416946\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23407,7 +36508,7 @@ }, { "name": "etag", - "value": "\"1485747872\"" + "value": "\"-976416946\"" }, { "name": "expires", @@ -23427,11 +36528,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23456,8 +36557,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.284Z", - "time": 82, + "startedDateTime": "2024-11-05T21:21:47.981Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -23465,11 +36566,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 94 } }, { - "_id": "cd2426a7fc35128cbb977da802fc84ba", + "_id": "d30fd8a046522109e0590b643dff9e10", "_order": 0, "cache": {}, "request": { @@ -23490,7 +36591,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23509,18 +36610,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4416aff7-3ebd-47e6-9831-c2f6bbe3ae24" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9" }, "response": { - "bodySize": 297, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"_rev\":\"978548317\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 254, + "text": "{\"_id\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"_rev\":\"1658650162\",\"tree\":\"j06\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -23558,7 +36659,7 @@ }, { "name": "etag", - "value": "\"978548317\"" + "value": "\"1658650162\"" }, { "name": "expires", @@ -23574,15 +36675,15 @@ }, { "name": "content-length", - "value": "297" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23601,14 +36702,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.285Z", - "time": 77, + "startedDateTime": "2024-11-05T21:21:47.981Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -23616,11 +36717,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 98 } }, { - "_id": "aa755c264e89664042c87c06f2eb4521", + "_id": "e900b6a9f7e91e710e046341c614b2d9", "_order": 0, "cache": {}, "request": { @@ -23641,7 +36742,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23660,18 +36761,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/59b06306-a886-443d-92df-7a27a60c394e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j08" }, "response": { - "bodySize": 527, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 527, - "text": "{\"_id\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"_rev\":\"49592573\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 1686, + "text": "{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -23709,7 +36810,7 @@ }, { "name": "etag", - "value": "\"49592573\"" + "value": "\"-1997695217\"" }, { "name": "expires", @@ -23725,15 +36826,15 @@ }, { "name": "content-length", - "value": "527" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23752,14 +36853,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.286Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:48.086Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -23767,11 +36868,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 64 } }, { - "_id": "4b507830211bc6c301ab324907ce233c", + "_id": "cf89f542a3d4d9ed2251a863db288ef1", "_order": 0, "cache": {}, "request": { @@ -23792,7 +36893,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23811,18 +36912,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/56899fef-92a1-4f2a-ade3-973c81eb3af1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/042b600b-71cb-45a8-93ae-a6f57b16a6e5" }, "response": { - "bodySize": 254, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"_rev\":\"-568833890\",\"tree\":\"j01\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 297, + "text": "{\"_id\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"_rev\":\"336262962\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23860,7 +36961,7 @@ }, { "name": "etag", - "value": "\"-568833890\"" + "value": "\"336262962\"" }, { "name": "expires", @@ -23876,15 +36977,15 @@ }, { "name": "content-length", - "value": "254" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23903,14 +37004,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.286Z", - "time": 91, + "startedDateTime": "2024-11-05T21:21:48.156Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -23918,11 +37019,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 76 } }, { - "_id": "5ecede6f97c90cddb1f9a134e49b0313", + "_id": "d27ae0b7b2c44fe89676df4e60381a80", "_order": 0, "cache": {}, "request": { @@ -23943,7 +37044,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23962,18 +37063,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbb3d506-b267-4b99-9edd-363e90aac997" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/66026170-5088-4fcd-a6c8-ed89d7a5c79d" }, "response": { - "bodySize": 299, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"cbb3d506-b267-4b99-9edd-363e90aac997\",\"_rev\":\"-1997428236\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 254, + "text": "{\"_id\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"_rev\":\"-245838054\",\"tree\":\"j07\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -24011,7 +37112,7 @@ }, { "name": "etag", - "value": "\"-1997428236\"" + "value": "\"-245838054\"" }, { "name": "expires", @@ -24027,15 +37128,15 @@ }, { "name": "content-length", - "value": "299" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24054,14 +37155,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.287Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:48.157Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -24069,11 +37170,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 98 } }, { - "_id": "5a0fb0a7d7a63deb5bd06a6aabe86260", + "_id": "720c48256428f243936de73a812ea966", "_order": 0, "cache": {}, "request": { @@ -24094,7 +37195,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24117,14 +37218,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0983ead-4918-48f6-858d-9aff0f03759c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8096649e-973e-4209-88ce-e1d87ae2bb96" }, "response": { - "bodySize": 298, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"_rev\":\"1611025039\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"_rev\":\"487424420\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24162,7 +37263,7 @@ }, { "name": "etag", - "value": "\"1611025039\"" + "value": "\"487424420\"" }, { "name": "expires", @@ -24178,15 +37279,15 @@ }, { "name": "content-length", - "value": "298" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24205,14 +37306,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.288Z", - "time": 87, + "startedDateTime": "2024-11-05T21:21:48.158Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -24220,11 +37321,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 90 } }, { - "_id": "913b982d8e01092f68ba6251c8ccb852", + "_id": "e2115179cd6d008c31bc82dd0fb38117", "_order": 0, "cache": {}, "request": { @@ -24245,7 +37346,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24264,18 +37365,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j03" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d" }, "response": { - "bodySize": 1686, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\",\"_rev\":\"-1836282733\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24313,7 +37414,7 @@ }, { "name": "etag", - "value": "\"-1352811052\"" + "value": "\"-1836282733\"" }, { "name": "expires", @@ -24329,15 +37430,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24356,14 +37457,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.382Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:48.158Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -24371,11 +37472,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 91 } }, { - "_id": "4fe3fe52b433c85de2f6efe61528b695", + "_id": "ba37ffbe2db24df210564f1e523833a2", "_order": 0, "cache": {}, "request": { @@ -24396,7 +37497,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24419,14 +37520,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/35a4f94b-c895-46b9-bc0a-93cf59233759" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/948e21f4-c512-450a-9d42-e0d629217834" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"_rev\":\"1564723806\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"948e21f4-c512-450a-9d42-e0d629217834\",\"_rev\":\"1493812252\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24464,7 +37565,7 @@ }, { "name": "etag", - "value": "\"1564723806\"" + "value": "\"1493812252\"" }, { "name": "expires", @@ -24484,11 +37585,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24513,8 +37614,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.452Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:48.159Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -24522,11 +37623,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 74 } }, { - "_id": "0cd50e00beb73999dc1874def405941c", + "_id": "6777d627b264810fa1e72117bd5365b1", "_order": 0, "cache": {}, "request": { @@ -24547,7 +37648,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24570,14 +37671,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3a92300d-6d64-451d-8156-30cb51781026" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d429b2b5-b215-46a5-b239-4994df65cb8b" }, "response": { - "bodySize": 298, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"3a92300d-6d64-451d-8156-30cb51781026\",\"_rev\":\"2096216426\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 529, + "text": "{\"_id\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"_rev\":\"-354817335\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -24615,7 +37716,7 @@ }, { "name": "etag", - "value": "\"2096216426\"" + "value": "\"-354817335\"" }, { "name": "expires", @@ -24631,15 +37732,15 @@ }, { "name": "content-length", - "value": "298" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24664,8 +37765,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.453Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:48.159Z", + "time": 96, "timings": { "blocked": -1, "connect": -1, @@ -24673,11 +37774,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 96 } }, { - "_id": "b41d5a80336397c469890bd8945c4f41", + "_id": "c8686b6598efaaf569577e5986df5d38", "_order": 0, "cache": {}, "request": { @@ -24698,7 +37799,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24717,18 +37818,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6f9de973-9ed4-41f5-b43d-4036041e2b96" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j09" }, "response": { - "bodySize": 297, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"_rev\":\"846932888\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1686, + "text": "{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -24766,7 +37867,7 @@ }, { "name": "etag", - "value": "\"846932888\"" + "value": "\"-1358707527\"" }, { "name": "expires", @@ -24782,15 +37883,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24809,14 +37910,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.453Z", - "time": 85, + "startedDateTime": "2024-11-05T21:21:48.260Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -24824,11 +37925,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 67 } }, { - "_id": "d60340a7f5e5656ea81fc192dda4840c", + "_id": "d25a908ff0f52675f11f83a7e59aabb3", "_order": 0, "cache": {}, "request": { @@ -24849,7 +37950,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24868,18 +37969,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bcb8c535-5ecd-4d3d-b970-26816de96bf2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/251f35c3-1a32-4520-be10-1f4af9600935" }, "response": { - "bodySize": 255, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 255, - "text": "{\"_id\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"_rev\":\"-2072424763\",\"tree\":\"j02\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 529, + "text": "{\"_id\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"_rev\":\"1952240839\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -24917,7 +38018,7 @@ }, { "name": "etag", - "value": "\"-2072424763\"" + "value": "\"1952240839\"" }, { "name": "expires", @@ -24933,15 +38034,15 @@ }, { "name": "content-length", - "value": "255" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24960,14 +38061,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.454Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:48.335Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -24975,11 +38076,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 77 } }, { - "_id": "b57733ba7c2ee94a3169dd6b89715068", + "_id": "d55aec02f036f2e6849d384e80a37a94", "_order": 0, "cache": {}, "request": { @@ -25000,7 +38101,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25019,18 +38120,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0cfbd13-6f1e-4924-9d2d-0f7c23507172" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/6df24fdd-0b6c-4def-bf42-77af998f28b8" }, "response": { - "bodySize": 528, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 528, - "text": "{\"_id\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"_rev\":\"278641360\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 253, + "text": "{\"_id\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"_rev\":\"425555480\",\"tree\":\"j08\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -25068,7 +38169,7 @@ }, { "name": "etag", - "value": "\"278641360\"" + "value": "\"425555480\"" }, { "name": "expires", @@ -25084,15 +38185,15 @@ }, { "name": "content-length", - "value": "528" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25117,8 +38218,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.455Z", - "time": 78, + "startedDateTime": "2024-11-05T21:21:48.336Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -25126,11 +38227,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 67 } }, { - "_id": "c312a41b098262892c7e99229bf7e941", + "_id": "eaee39bd8de75d64bc695391cbc152d3", "_order": 0, "cache": {}, "request": { @@ -25151,7 +38252,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25174,14 +38275,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fae7424e-13c9-45bd-b3a2-045773671a3f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/56b82371-0c61-4dc3-8d06-c1158415b8f9" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\",\"_rev\":\"-502225245\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"_rev\":\"2037842793\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25219,7 +38320,7 @@ }, { "name": "etag", - "value": "\"-502225245\"" + "value": "\"2037842793\"" }, { "name": "expires", @@ -25239,11 +38340,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25268,8 +38369,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.455Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:48.336Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -25277,11 +38378,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 79 } }, { - "_id": "4684856543f16d16c04c97e00647c335", + "_id": "d743522596646b6f7befd07d3a7bf1e8", "_order": 0, "cache": {}, "request": { @@ -25302,7 +38403,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25321,18 +38422,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j04" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8c5e9cb5-471b-4dd6-b150-ecaaeda98195" }, "response": { - "bodySize": 1686, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"_rev\":\"-1095657842\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25370,7 +38471,7 @@ }, { "name": "etag", - "value": "\"-1089876293\"" + "value": "\"-1095657842\"" }, { "name": "expires", @@ -25386,15 +38487,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25413,14 +38514,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.543Z", - "time": 60, + "startedDateTime": "2024-11-05T21:21:48.337Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -25428,11 +38529,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 79 } }, { - "_id": "987c06ea446d93dc2da56452976681f8", + "_id": "2bc9b21b90002351a9c212a87bbc210d", "_order": 0, "cache": {}, "request": { @@ -25453,7 +38554,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25472,18 +38573,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/00e75aa0-2f9b-4895-9257-d515286fd64b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bb294e05-6b6b-4478-b46f-b8d9e7711c66" }, "response": { - "bodySize": 253, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"_rev\":\"415392584\",\"tree\":\"j03\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 297, + "text": "{\"_id\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\",\"_rev\":\"620562185\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25521,7 +38622,7 @@ }, { "name": "etag", - "value": "\"415392584\"" + "value": "\"620562185\"" }, { "name": "expires", @@ -25537,15 +38638,15 @@ }, { "name": "content-length", - "value": "253" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25570,8 +38671,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.609Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:48.339Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -25579,11 +38680,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 85 } }, { - "_id": "15327126dda6066ae32c853e20646812", + "_id": "8e470dd8760fe12e108538e4a2678b75", "_order": 0, "cache": {}, "request": { @@ -25604,7 +38705,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25627,14 +38728,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/69ae8ec1-de43-44ac-98e5-733db80ac176" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f57cf53c-b4c6-48f7-84e8-91f535a2e8f8" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\",\"_rev\":\"2146242142\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\",\"_rev\":\"-1901839502\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25672,7 +38773,7 @@ }, { "name": "etag", - "value": "\"2146242142\"" + "value": "\"-1901839502\"" }, { "name": "expires", @@ -25688,15 +38789,166 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:48.340Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + }, + { + "_id": "38e3e023ff18322a3aba1d982a005bc4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j10" + }, + "response": { + "bodySize": 1684, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1684, + "text": "{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"751431822\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1684" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:48 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25721,8 +38973,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.611Z", - "time": 71, + "startedDateTime": "2024-11-05T21:21:48.429Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -25730,11 +38982,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 66 } }, { - "_id": "b0c8dbd31d2cf5fb222385b648514c79", + "_id": "7bd39caaa5fd7bc7c5b63e9a8b4313c5", "_order": 0, "cache": {}, "request": { @@ -25755,7 +39007,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25778,14 +39030,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/040b6c89-313b-4664-92e0-6732017384b8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/300feda0-3248-49a9-b60f-01df802b2229" }, "response": { - "bodySize": 529, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"_rev\":\"-605917161\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 299, + "text": "{\"_id\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"_rev\":\"-1128011381\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25823,7 +39075,7 @@ }, { "name": "etag", - "value": "\"-605917161\"" + "value": "\"-1128011381\"" }, { "name": "expires", @@ -25839,15 +39091,15 @@ }, { "name": "content-length", - "value": "529" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25866,14 +39118,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.611Z", - "time": 85, + "startedDateTime": "2024-11-05T21:21:48.502Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -25881,11 +39133,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 70 } }, { - "_id": "053f364c741884fa5d605b47f550419c", + "_id": "10c2ec5fa3c216e8aefeae079ae0267a", "_order": 0, "cache": {}, "request": { @@ -25906,7 +39158,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25929,14 +39181,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/9603ef52-30f0-4ddc-b3c0-28dac83c7bdb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/40afb384-e9b6-4dcb-acde-04de109474c8" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\",\"_rev\":\"1934780085\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"40afb384-e9b6-4dcb-acde-04de109474c8\",\"_rev\":\"-1673284725\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25974,7 +39226,7 @@ }, { "name": "etag", - "value": "\"1934780085\"" + "value": "\"-1673284725\"" }, { "name": "expires", @@ -25990,15 +39242,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26017,14 +39269,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.612Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:48.503Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -26032,11 +39284,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 90 } }, { - "_id": "3e578a09ca6fdd1321dcda32ee5f8033", + "_id": "2afb861e8007ad4a02e40c2a0a420d38", "_order": 0, "cache": {}, "request": { @@ -26057,7 +39309,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26080,14 +39332,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d10104e9-1f8d-4da6-a110-28d879d13959" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8d7d64ee-da20-461f-a2ca-206b7479dd67" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"_rev\":\"-219838938\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\",\"_rev\":\"-1870614074\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -26125,7 +39377,7 @@ }, { "name": "etag", - "value": "\"-219838938\"" + "value": "\"-1870614074\"" }, { "name": "expires", @@ -26141,15 +39393,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26168,14 +39420,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.613Z", - "time": 83, + "startedDateTime": "2024-11-05T21:21:48.504Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -26183,11 +39435,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 95 } }, { - "_id": "e51dc307b38e72dc6b16c79effbb51bd", + "_id": "53bbc796bf390259adc0ab1bd676c9b5", "_order": 0, "cache": {}, "request": { @@ -26208,7 +39460,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26231,14 +39483,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f5c317ce-fabd-4a10-9907-c71cea037844" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/97ef9d96-99e7-4d2d-b6c6-4177b5397ead" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"_rev\":\"1796672161\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"_rev\":\"-1576825857\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -26276,7 +39528,7 @@ }, { "name": "etag", - "value": "\"1796672161\"" + "value": "\"-1576825857\"" }, { "name": "expires", @@ -26292,15 +39544,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26319,14 +39571,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.629Z", - "time": 83, + "startedDateTime": "2024-11-05T21:21:48.504Z", + "time": 96, "timings": { "blocked": -1, "connect": -1, @@ -26334,11 +39586,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 96 } }, { - "_id": "7ddb7f4cbb398fb6c053bcf4e1261081", + "_id": "08d1d8fd2a6265df2a39df41aa06a4a0", "_order": 0, "cache": {}, "request": { @@ -26359,7 +39611,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26378,18 +39630,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j05" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/c7fcf7ae-1ab5-474b-b5b0-272e10468fbd" }, "response": { - "bodySize": 1685, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 254, + "text": "{\"_id\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"_rev\":\"-728542802\",\"tree\":\"j09\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -26427,7 +39679,7 @@ }, { "name": "etag", - "value": "\"1652057497\"" + "value": "\"-728542802\"" }, { "name": "expires", @@ -26443,15 +39695,15 @@ }, { "name": "content-length", - "value": "1685" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26470,14 +39722,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.718Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:48.505Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -26485,11 +39737,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 90 } }, { - "_id": "dd23206a6b33ee8e573b6bce0af2e897", + "_id": "a4986da027e7b97e126cfbfac012f9e4", "_order": 0, "cache": {}, "request": { @@ -26510,7 +39762,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26533,14 +39785,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/11f1c31c-50a9-4717-8213-420f6932481f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c91d626e-1156-41bd-b1fb-d292f640fba6" }, "response": { - "bodySize": 297, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"_rev\":\"715843294\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 529, + "text": "{\"_id\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"_rev\":\"1583393008\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -26578,7 +39830,7 @@ }, { "name": "etag", - "value": "\"715843294\"" + "value": "\"1583393008\"" }, { "name": "expires", @@ -26594,15 +39846,15 @@ }, { "name": "content-length", - "value": "297" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26621,14 +39873,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.790Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:48.506Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -26636,11 +39888,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 94 } }, { - "_id": "b3b35052562eb0ebdba3dda027bf1a40", + "_id": "24f6c70fe8d0304795e77b1ae157cddf", "_order": 0, "cache": {}, "request": { @@ -26661,7 +39913,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26680,18 +39932,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2013, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/622179cb-98f1-484a-820d-9a0df6e45e95" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Login" }, "response": { - "bodySize": 530, + "bodySize": 1877, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 530, - "text": "{\"_id\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"_rev\":\"-1022065915\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 1877, + "text": "{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -26729,7 +39981,7 @@ }, { "name": "etag", - "value": "\"-1022065915\"" + "value": "\"-453684268\"" }, { "name": "expires", @@ -26745,15 +39997,15 @@ }, { "name": "content-length", - "value": "530" + "value": "1877" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26778,8 +40030,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.791Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:48.605Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -26787,11 +40039,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 65 } }, { - "_id": "db105f4f6fe2be50621ecad4ec126bb1", + "_id": "ac3b5d2206685c76b01bedfb73847a46", "_order": 0, "cache": {}, "request": { @@ -26812,7 +40064,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26831,18 +40083,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c106772-ace7-4808-8f3a-9840de8f67f0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/2119f332-0f69-4088-a7a1-6582bf0f2001" }, "response": { - "bodySize": 297, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"_rev\":\"202853816\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"_rev\":\"-809908897\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -26880,7 +40132,7 @@ }, { "name": "etag", - "value": "\"202853816\"" + "value": "\"-809908897\"" }, { "name": "expires", @@ -26896,15 +40148,15 @@ }, { "name": "content-length", - "value": "297" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26923,14 +40175,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.791Z", - "time": 95, + "startedDateTime": "2024-11-05T21:21:48.678Z", + "time": 113, "timings": { "blocked": -1, "connect": -1, @@ -26938,11 +40190,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 113 } }, { - "_id": "406753acb4b4e3d27aab3350bad1bb37", + "_id": "953ab30d4d73c2adf50bd79794dcc77e", "_order": 0, "cache": {}, "request": { @@ -26963,7 +40215,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26982,18 +40234,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a0782616-84b7-4bf5-87ed-a01fb3018563" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" }, "response": { - "bodySize": 297, + "bodySize": 270, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\",\"_rev\":\"156265951\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 270, + "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -27031,7 +40283,7 @@ }, { "name": "etag", - "value": "\"156265951\"" + "value": "\"-1405518667\"" }, { "name": "expires", @@ -27047,15 +40299,15 @@ }, { "name": "content-length", - "value": "297" + "value": "270" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27074,14 +40326,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.792Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:48.679Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -27089,11 +40341,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 79 } }, { - "_id": "a1da42ac4d483c25ff22e2e1e882d6fb", + "_id": "511b5e7c7dcda08055d181a6d17aa4e8", "_order": 0, "cache": {}, "request": { @@ -27114,7 +40366,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27133,18 +40385,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2063, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e90ae257-c279-46e0-9b43-5ecd89784d77" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/51e8c4c1-3509-4635-90e6-d2cc31c4a6a5" }, "response": { - "bodySize": 298, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\",\"_rev\":\"2040408899\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 222, + "text": "{\"_id\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"_rev\":\"-1811954406\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27182,7 +40434,7 @@ }, { "name": "etag", - "value": "\"2040408899\"" + "value": "\"-1811954406\"" }, { "name": "expires", @@ -27198,15 +40450,15 @@ }, { "name": "content-length", - "value": "298" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27225,14 +40477,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.794Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:48.680Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -27240,11 +40492,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 104 } }, { - "_id": "1a11294b705e0e060e2472a58a3ac54b", + "_id": "c83d775f1fac86f9c7524bb0c1e702ab", "_order": 0, "cache": {}, "request": { @@ -27265,7 +40517,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27284,18 +40536,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/f17ecb7c-abc3-4523-9943-4cbdd90305cb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/7f0c2aee-8c74-4d02-82a6-9d4ed9d11708" }, "response": { - "bodySize": 253, + "bodySize": 475, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"_rev\":\"730701700\",\"tree\":\"j04\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 475, + "text": "{\"_id\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\",\"_rev\":\"1663221949\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -27333,7 +40585,7 @@ }, { "name": "etag", - "value": "\"730701700\"" + "value": "\"1663221949\"" }, { "name": "expires", @@ -27349,15 +40601,15 @@ }, { "name": "content-length", - "value": "253" + "value": "475" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27376,14 +40628,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.795Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:48.681Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -27391,11 +40643,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 76 } }, { - "_id": "b7edc8f7f623ef8e100c183901c807e4", + "_id": "9434f9123fc71b91d9a0b12bb4be1855", "_order": 0, "cache": {}, "request": { @@ -27416,7 +40668,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27435,18 +40687,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j06" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" }, "response": { - "bodySize": 1684, + "bodySize": 670, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1684, - "text": "{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 670, + "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27484,7 +40736,7 @@ }, { "name": "etag", - "value": "\"605160891\"" + "value": "\"-1594114\"" }, { "name": "expires", @@ -27500,15 +40752,15 @@ }, { "name": "content-length", - "value": "1684" + "value": "670" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:58 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27527,14 +40779,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.891Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:48.682Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -27542,11 +40794,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 67 } }, { - "_id": "c994e25239221808046df1575f95cf15", + "_id": "663dc8d90803f011b358f257462c297a", "_order": 0, "cache": {}, "request": { @@ -27567,7 +40819,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27586,18 +40838,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1d59caff-243c-45bd-b7d0-6dcc563989c5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" }, "response": { - "bodySize": 299, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"_rev\":\"-1941208375\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 243, + "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27635,7 +40887,7 @@ }, { "name": "etag", - "value": "\"-1941208375\"" + "value": "\"2098371942\"" }, { "name": "expires", @@ -27651,15 +40903,15 @@ }, { "name": "content-length", - "value": "299" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27678,14 +40930,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.965Z", - "time": 96, + "startedDateTime": "2024-11-05T21:21:48.683Z", + "time": 121, "timings": { "blocked": -1, "connect": -1, @@ -27693,11 +40945,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 121 } }, { - "_id": "8f46865c8963b361e61798cad982fd2d", + "_id": "400cf894f4ffc26e6835ed152a2d9b3f", "_order": 0, "cache": {}, "request": { @@ -27718,7 +40970,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27737,18 +40989,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" }, "response": { - "bodySize": 298, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\",\"_rev\":\"1105672105\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 260, + "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27786,7 +41038,7 @@ }, { "name": "etag", - "value": "\"1105672105\"" + "value": "\"-1763423776\"" }, { "name": "expires", @@ -27802,15 +41054,15 @@ }, { "name": "content-length", - "value": "298" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27829,14 +41081,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.966Z", - "time": 96, + "startedDateTime": "2024-11-05T21:21:48.809Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -27844,11 +41096,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 62 } }, { - "_id": "34a1ad729a4b3396acfe9bcba6b8689b", + "_id": "92148f26ceddcb135981e302c7e61f93", "_order": 0, "cache": {}, "request": { @@ -27869,7 +41121,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27888,18 +41140,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/409c251f-c23b-411d-9009-d3b3d26d1b90" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" }, "response": { - "bodySize": 254, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"_rev\":\"-688245766\",\"tree\":\"j05\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 260, + "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27937,7 +41189,7 @@ }, { "name": "etag", - "value": "\"-688245766\"" + "value": "\"-2064640544\"" }, { "name": "expires", @@ -27953,15 +41205,15 @@ }, { "name": "content-length", - "value": "254" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27980,14 +41232,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.967Z", - "time": 77, + "startedDateTime": "2024-11-05T21:21:48.809Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -27995,11 +41247,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 63 } }, { - "_id": "82e391e58d13b2e4013cf7bd3020472c", + "_id": "7ca8caa6afeaaa71db865a069e0902fd", "_order": 0, "cache": {}, "request": { @@ -28020,7 +41272,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28039,18 +41291,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/44b8651c-7c1e-41f1-b9a6-2e441b0ce05a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/OrphanedTest" }, "response": { - "bodySize": 528, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 528, - "text": "{\"_id\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"_rev\":\"600150282\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 831, + "text": "{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -28088,7 +41340,7 @@ }, { "name": "etag", - "value": "\"600150282\"" + "value": "\"-764260244\"" }, { "name": "expires", @@ -28104,15 +41356,15 @@ }, { "name": "content-length", - "value": "528" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28131,14 +41383,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.967Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:48.878Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -28146,11 +41398,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 58 } }, { - "_id": "bec64bd7f5c0e099837d3f569a4b9aac", + "_id": "7b22fe8eb1840e99b4020c3b5eb1496d", "_order": 0, "cache": {}, "request": { @@ -28171,7 +41423,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28190,18 +41442,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/da878771-421c-463f-aad7-4d5f2ad5e59a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/343e745f-923a-43c4-8675-649a490fd0a3" }, "response": { - "bodySize": 298, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\",\"_rev\":\"1834306764\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 474, + "text": "{\"_id\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"_rev\":\"775696658\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -28239,7 +41491,7 @@ }, { "name": "etag", - "value": "\"1834306764\"" + "value": "\"775696658\"" }, { "name": "expires", @@ -28255,15 +41507,15 @@ }, { "name": "content-length", - "value": "298" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:48 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28282,14 +41534,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.968Z", - "time": 88, + "startedDateTime": "2024-11-05T21:21:48.942Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -28297,11 +41549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 66 } }, { - "_id": "f4003a36be1c3cc22cf7e46c22787889", + "_id": "da06405b031ae34c54ac304a337e9a7d", "_order": 0, "cache": {}, "request": { @@ -28322,7 +41574,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28341,18 +41593,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2026, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fe8f27df-8a27-4d88-9196-834ce398b2b7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" }, "response": { - "bodySize": 298, + "bodySize": 1352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"_rev\":\"-274854951\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1352, + "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -28390,7 +41642,7 @@ }, { "name": "etag", - "value": "\"-274854951\"" + "value": "\"512701181\"" }, { "name": "expires", @@ -28406,15 +41658,15 @@ }, { "name": "content-length", - "value": "298" + "value": "1352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28439,8 +41691,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:58.969Z", - "time": 93, + "startedDateTime": "2024-11-05T21:21:49.014Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -28448,11 +41700,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 60 } }, { - "_id": "5ca028647d90e87ccf6462dbe26dee7f", + "_id": "45372e53b29867dc74ed412c24651e66", "_order": 0, "cache": {}, "request": { @@ -28473,7 +41725,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28492,18 +41744,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j07" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" }, "response": { - "bodySize": 1685, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 300, + "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -28541,7 +41793,7 @@ }, { "name": "etag", - "value": "\"-937100459\"" + "value": "\"-1679047423\"" }, { "name": "expires", @@ -28557,15 +41809,15 @@ }, { "name": "content-length", - "value": "1685" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28590,8 +41842,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.067Z", - "time": 60, + "startedDateTime": "2024-11-05T21:21:49.082Z", + "time": 107, "timings": { "blocked": -1, "connect": -1, @@ -28599,11 +41851,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 107 } }, { - "_id": "77c7751f098702959a3a6b0cfc889c86", + "_id": "5a0efe962033aacd324acd682a941daa", "_order": 0, "cache": {}, "request": { @@ -28624,7 +41876,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28643,18 +41895,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/13b12fe6-cf53-46a4-a83d-0a3c1fda814f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" }, "response": { - "bodySize": 529, + "bodySize": 347, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"_rev\":\"-729439911\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 347, + "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"1288219125\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -28692,7 +41944,7 @@ }, { "name": "etag", - "value": "\"-729439911\"" + "value": "\"1288219125\"" }, { "name": "expires", @@ -28708,15 +41960,15 @@ }, { "name": "content-length", - "value": "529" + "value": "347" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28741,8 +41993,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.133Z", - "time": 70, + "startedDateTime": "2024-11-05T21:21:49.082Z", + "time": 159, "timings": { "blocked": -1, "connect": -1, @@ -28750,11 +42002,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 159 } }, { - "_id": "b3388109a987c7aa0fd760a2910203c0", + "_id": "008434bbafd9e35ba6a8bfaaa580c46b", "_order": 0, "cache": {}, "request": { @@ -28775,7 +42027,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28794,18 +42046,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" }, "response": { - "bodySize": 298, + "bodySize": 387, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\",\"_rev\":\"-657863610\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 387, + "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -28843,7 +42095,7 @@ }, { "name": "etag", - "value": "\"-657863610\"" + "value": "\"380010937\"" }, { "name": "expires", @@ -28859,15 +42111,166 @@ }, { "name": "content-length", - "value": "298" + "value": "387" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:49.083Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + }, + { + "_id": "84769f63c358dd689243ea9740fe3bbf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2068, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" + }, + "response": { + "bodySize": 378, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 378, + "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1852493841\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "378" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28886,14 +42289,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.134Z", - "time": 69, + "startedDateTime": "2024-11-05T21:21:49.083Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -28901,11 +42304,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 109 } }, { - "_id": "5c566417ffc3d987bcd0c0bd81e452bd", + "_id": "c1155efa8ce487ae4ca29d579b03ad49", "_order": 0, "cache": {}, "request": { @@ -28926,7 +42329,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28945,18 +42348,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d90dd9f8-8b12-4e90-abaf-228ecc0174a7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" }, "response": { - "bodySize": 298, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"_rev\":\"1401033700\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 351, + "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -28994,7 +42397,7 @@ }, { "name": "etag", - "value": "\"1401033700\"" + "value": "\"-1210529544\"" }, { "name": "expires", @@ -29010,15 +42413,15 @@ }, { "name": "content-length", - "value": "298" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29037,14 +42440,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.135Z", - "time": 76, + "startedDateTime": "2024-11-05T21:21:49.246Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -29052,11 +42455,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 63 } }, { - "_id": "d30fd8a046522109e0590b643dff9e10", + "_id": "631e3d60e32140c0ba65aa36c5278edb", "_order": 0, "cache": {}, "request": { @@ -29077,7 +42480,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29096,18 +42499,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2019, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/RadioChoice" }, "response": { - "bodySize": 254, + "bodySize": 650, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"_rev\":\"1658650162\",\"tree\":\"j06\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 650, + "text": "{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -29145,7 +42548,7 @@ }, { "name": "etag", - "value": "\"1658650162\"" + "value": "\"947126104\"" }, { "name": "expires", @@ -29161,15 +42564,15 @@ }, { "name": "content-length", - "value": "254" + "value": "650" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29188,14 +42591,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.136Z", - "time": 73, + "startedDateTime": "2024-11-05T21:21:49.315Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -29203,11 +42606,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 62 } }, { - "_id": "163da4466c4d604293cd03cfc279986c", + "_id": "00f0ab1c559f441eb9691ebc7c4763e6", "_order": 0, "cache": {}, "request": { @@ -29228,7 +42631,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29247,18 +42650,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d9a06d3a-7e3f-4244-9a32-63ffa0d26e00" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5d6cd20e-5074-43de-8832-fddd95fb078e" }, "response": { - "bodySize": 299, + "bodySize": 516, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"_rev\":\"-1427545353\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 516, + "text": "{\"_id\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"_rev\":\"-450923473\",\"nodes\":[{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"nodeType\":\"ChoiceCollectorNode\",\"displayName\":\"Choice Collector\"}],\"pageDescription\":{},\"stage\":\"{\\\"ChoiceCallback\\\":[{\\\"id\\\":\\\"a566e474-99f3-46e4-9e70-682402bfaa84\\\",\\\"displayType\\\":\\\"radio\\\"}]}\",\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" }, "cookies": [], "headers": [ @@ -29296,7 +42699,7 @@ }, { "name": "etag", - "value": "\"-1427545353\"" + "value": "\"-450923473\"" }, { "name": "expires", @@ -29312,15 +42715,15 @@ }, { "name": "content-length", - "value": "299" + "value": "516" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29339,13 +42742,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.136Z", + "startedDateTime": "2024-11-05T21:21:49.383Z", "time": 74, "timings": { "blocked": -1, @@ -29358,7 +42761,7 @@ } }, { - "_id": "a14da1b980f343aed5e806b7fd6a44f4", + "_id": "23de842fe257416bd82dea1b681259b5", "_order": 0, "cache": {}, "request": { @@ -29379,7 +42782,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29398,18 +42801,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2064, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f2fe740c-cd75-460a-8baa-fe4b52ecc947" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ChoiceCollectorNode/a566e474-99f3-46e4-9e70-682402bfaa84" }, "response": { - "bodySize": 298, + "bodySize": 338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\",\"_rev\":\"-976416946\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 338, + "text": "{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"_rev\":\"-514175851\",\"defaultChoice\":\"one\",\"choices\":[\"one\",\"two\",\"three\"],\"prompt\":\"Choice?\",\"_type\":{\"_id\":\"ChoiceCollectorNode\",\"name\":\"Choice Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" }, "cookies": [], "headers": [ @@ -29447,7 +42850,7 @@ }, { "name": "etag", - "value": "\"-976416946\"" + "value": "\"-514175851\"" }, { "name": "expires", @@ -29463,15 +42866,15 @@ }, { "name": "content-length", - "value": "298" + "value": "338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29496,159 +42899,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.137Z", - "time": 73, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 73 - } - }, - { - "_id": "e900b6a9f7e91e710e046341c614b2d9", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2011, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j08" - }, - "response": { - "bodySize": 1686, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1997695217\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1686" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 788, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:59.217Z", - "time": 77, + "startedDateTime": "2024-11-05T21:21:49.462Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -29656,11 +42908,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 93 } }, { - "_id": "cf89f542a3d4d9ed2251a863db288ef1", + "_id": "7ddcc2b82c4a157177a5917c9a16b2e8", "_order": 0, "cache": {}, "request": { @@ -29681,7 +42933,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29700,18 +42952,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/042b600b-71cb-45a8-93ae-a6f57b16a6e5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Registration" }, "response": { - "bodySize": 297, + "bodySize": 1239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"_rev\":\"336262962\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1239, + "text": "{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -29749,7 +43001,7 @@ }, { "name": "etag", - "value": "\"336262962\"" + "value": "\"-340494482\"" }, { "name": "expires", @@ -29765,15 +43017,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29792,14 +43044,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.300Z", - "time": 88, + "startedDateTime": "2024-11-05T21:21:49.560Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -29807,11 +43059,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 57 } }, { - "_id": "d27ae0b7b2c44fe89676df4e60381a80", + "_id": "9e8c469a59a9a045428ebb32cffe0e39", "_order": 0, "cache": {}, "request": { @@ -29832,7 +43084,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29851,18 +43103,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/66026170-5088-4fcd-a6c8-ed89d7a5c79d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" }, "response": { - "bodySize": 254, + "bodySize": 1092, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"_rev\":\"-245838054\",\"tree\":\"j07\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1092, + "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"-30816295\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"stage\":\"{\\\"ValidatedCreatePasswordCallback\\\":[{\\\"id\\\":\\\"3d8709a1-f09f-4d1f-8094-2850e472c1db\\\",\\\"confirmPassword\\\":true,\\\"policyDisplayCheckmark\\\":true}]}\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -29900,7 +43152,7 @@ }, { "name": "etag", - "value": "\"-245838054\"" + "value": "\"-30816295\"" }, { "name": "expires", @@ -29916,15 +43168,15 @@ }, { "name": "content-length", - "value": "254" + "value": "1092" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29949,8 +43201,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.300Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:49.622Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -29958,11 +43210,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 75 } }, { - "_id": "720c48256428f243936de73a812ea966", + "_id": "d3bd13cf2c05905fa1ca40d9c36f4e57", "_order": 0, "cache": {}, "request": { @@ -29983,7 +43235,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30002,18 +43254,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8096649e-973e-4209-88ce-e1d87ae2bb96" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/466f8b54-07fb-4e31-a11d-a6842618cc37" }, "response": { - "bodySize": 297, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"_rev\":\"487424420\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 436, + "text": "{\"_id\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\",\"_rev\":\"1064387237\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30051,7 +43303,7 @@ }, { "name": "etag", - "value": "\"487424420\"" + "value": "\"1064387237\"" }, { "name": "expires", @@ -30067,15 +43319,15 @@ }, { "name": "content-length", - "value": "297" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30094,14 +43346,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.301Z", - "time": 78, + "startedDateTime": "2024-11-05T21:21:49.623Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -30109,11 +43361,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 73 } }, { - "_id": "ba37ffbe2db24df210564f1e523833a2", + "_id": "2d3bdeba8c45a258964597a30549a138", "_order": 0, "cache": {}, "request": { @@ -30134,7 +43386,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30153,18 +43405,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/948e21f4-c512-450a-9d42-e0d629217834" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" }, "response": { - "bodySize": 298, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"948e21f4-c512-450a-9d42-e0d629217834\",\"_rev\":\"1493812252\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 243, + "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30202,7 +43454,7 @@ }, { "name": "etag", - "value": "\"1493812252\"" + "value": "\"-841385771\"" }, { "name": "expires", @@ -30218,15 +43470,15 @@ }, { "name": "content-length", - "value": "298" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30251,8 +43503,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.302Z", - "time": 87, + "startedDateTime": "2024-11-05T21:21:49.624Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -30260,11 +43512,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 75 } }, { - "_id": "e2115179cd6d008c31bc82dd0fb38117", + "_id": "20d5e3297b927ca274b6eb25363ac24c", "_order": 0, "cache": {}, "request": { @@ -30285,7 +43537,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30304,18 +43556,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" }, "response": { - "bodySize": 299, + "bodySize": 277, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\",\"_rev\":\"-1836282733\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 277, + "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"-612221945\",\"identityResource\":\"managed/alpha_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -30353,7 +43605,7 @@ }, { "name": "etag", - "value": "\"-1836282733\"" + "value": "\"-612221945\"" }, { "name": "expires", @@ -30369,15 +43621,15 @@ }, { "name": "content-length", - "value": "299" + "value": "277" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30396,14 +43648,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.302Z", - "time": 91, + "startedDateTime": "2024-11-05T21:21:49.624Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -30411,11 +43663,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 109 } }, { - "_id": "6777d627b264810fa1e72117bd5365b1", + "_id": "93d2e07beb6012897283c4a95970ef06", "_order": 0, "cache": {}, "request": { @@ -30436,7 +43688,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30455,18 +43707,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d429b2b5-b215-46a5-b239-4994df65cb8b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" }, "response": { - "bodySize": 529, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"_rev\":\"-354817335\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 258, + "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30504,7 +43756,7 @@ }, { "name": "etag", - "value": "\"-354817335\"" + "value": "\"1966656034\"" }, { "name": "expires", @@ -30520,15 +43772,15 @@ }, { "name": "content-length", - "value": "529" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30553,8 +43805,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.303Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:49.739Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -30562,11 +43814,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 78 } }, { - "_id": "c8686b6598efaaf569577e5986df5d38", + "_id": "188824f8c0922f65b2cb19e3b9cb2515", "_order": 0, "cache": {}, "request": { @@ -30587,7 +43839,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30606,18 +43858,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j09" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" }, "response": { - "bodySize": 1686, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 259, + "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30655,7 +43907,7 @@ }, { "name": "etag", - "value": "\"-1358707527\"" + "value": "\"-1470058997\"" }, { "name": "expires", @@ -30671,15 +43923,166 @@ }, { "name": "content-length", - "value": "1686" + "value": "259" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:49.740Z", + "time": 69, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 69 + } + }, + { + "_id": "4b85e6f316361f022106bd44058700fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2067, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" + }, + "response": { + "bodySize": 373, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 373, + "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1158802257\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30698,14 +44101,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.400Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:49.740Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -30713,11 +44116,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 77 } }, { - "_id": "d25a908ff0f52675f11f83a7e59aabb3", + "_id": "85c3bfe52f9900e35685594eded4cee0", "_order": 0, "cache": {}, "request": { @@ -30738,7 +44141,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30757,18 +44160,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/251f35c3-1a32-4520-be10-1f4af9600935" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" }, "response": { - "bodySize": 529, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"_rev\":\"1952240839\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 223, + "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30806,7 +44209,7 @@ }, { "name": "etag", - "value": "\"1952240839\"" + "value": "\"1508860909\"" }, { "name": "expires", @@ -30822,15 +44225,15 @@ }, { "name": "content-length", - "value": "529" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30855,8 +44258,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.470Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:49.741Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -30864,11 +44267,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 101 } }, { - "_id": "eaee39bd8de75d64bc695391cbc152d3", + "_id": "7b8b9ba1265400f4cc8e2c9ccf76f679", "_order": 0, "cache": {}, "request": { @@ -30889,7 +44292,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30908,18 +44311,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/56b82371-0c61-4dc3-8d06-c1158415b8f9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" }, "response": { - "bodySize": 298, + "bodySize": 272, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"_rev\":\"2037842793\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 272, + "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30957,7 +44360,7 @@ }, { "name": "etag", - "value": "\"2037842793\"" + "value": "\"-8134977\"" }, { "name": "expires", @@ -30973,15 +44376,15 @@ }, { "name": "content-length", - "value": "298" + "value": "272" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31000,14 +44403,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.471Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:49.741Z", + "time": 105, "timings": { "blocked": -1, "connect": -1, @@ -31015,11 +44418,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 105 } }, { - "_id": "d55aec02f036f2e6849d384e80a37a94", + "_id": "4a3c66df9fc375ae45849605f558c01f", "_order": 0, "cache": {}, "request": { @@ -31040,7 +44443,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31059,18 +44462,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2021, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/6df24fdd-0b6c-4def-bf42-77af998f28b8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ResetPassword" }, "response": { - "bodySize": 253, + "bodySize": 1435, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"_rev\":\"425555480\",\"tree\":\"j08\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1435, + "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -31108,7 +44511,7 @@ }, { "name": "etag", - "value": "\"425555480\"" + "value": "\"-501795106\"" }, { "name": "expires", @@ -31124,15 +44527,166 @@ }, { "name": "content-length", - "value": "253" + "value": "1435" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:49.850Z", + "time": 66, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 66 + } + }, + { + "_id": "361169982eadc2849f9a635d70f0ec84", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2069, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" + }, + "response": { + "bodySize": 295, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 295, + "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"402776485\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "295" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31157,8 +44711,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.471Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:49.923Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -31166,11 +44720,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 91 } }, { - "_id": "d743522596646b6f7befd07d3a7bf1e8", + "_id": "7590e3052d2dd66ef963a210ac10709c", "_order": 0, "cache": {}, "request": { @@ -31191,7 +44745,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31210,18 +44764,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8c5e9cb5-471b-4dd6-b150-ecaaeda98195" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" }, "response": { - "bodySize": 299, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"_rev\":\"-1095657842\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 433, + "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31259,7 +44813,7 @@ }, { "name": "etag", - "value": "\"-1095657842\"" + "value": "\"-1138066714\"" }, { "name": "expires", @@ -31275,15 +44829,15 @@ }, { "name": "content-length", - "value": "299" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31308,8 +44862,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.472Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:49.923Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -31317,11 +44871,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 91 } }, { - "_id": "8e470dd8760fe12e108538e4a2678b75", + "_id": "cc85b555d920cb57ea39666194165b14", "_order": 0, "cache": {}, "request": { @@ -31342,7 +44896,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31361,18 +44915,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f57cf53c-b4c6-48f7-84e8-91f535a2e8f8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" }, "response": { - "bodySize": 299, + "bodySize": 342, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\",\"_rev\":\"-1901839502\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 342, + "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"555551070\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -31410,7 +44964,7 @@ }, { "name": "etag", - "value": "\"-1901839502\"" + "value": "\"555551070\"" }, { "name": "expires", @@ -31426,15 +44980,15 @@ }, { "name": "content-length", - "value": "299" + "value": "342" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31453,14 +45007,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.473Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:49.924Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -31468,11 +45022,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 91 } }, { - "_id": "2bc9b21b90002351a9c212a87bbc210d", + "_id": "2b5e08dacdc3abd63008ccdf93339c6a", "_order": 0, "cache": {}, "request": { @@ -31493,7 +45047,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31512,18 +45066,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bb294e05-6b6b-4478-b46f-b8d9e7711c66" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" }, "response": { - "bodySize": 297, + "bodySize": 391, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\",\"_rev\":\"620562185\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 391, + "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31561,7 +45115,7 @@ }, { "name": "etag", - "value": "\"620562185\"" + "value": "\"1593283676\"" }, { "name": "expires", @@ -31577,15 +45131,15 @@ }, { "name": "content-length", - "value": "297" + "value": "391" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31604,14 +45158,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.473Z", - "time": 77, + "startedDateTime": "2024-11-05T21:21:49.925Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -31619,11 +45173,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 84 } }, { - "_id": "38e3e023ff18322a3aba1d982a005bc4", + "_id": "1b23fbc14f2647a4ba3009a1131885cf", "_order": 0, "cache": {}, "request": { @@ -31644,7 +45198,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31663,18 +45217,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j10" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" }, "response": { - "bodySize": 1684, + "bodySize": 444, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1684, - "text": "{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 444, + "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31712,7 +45266,7 @@ }, { "name": "etag", - "value": "\"751431822\"" + "value": "\"86486605\"" }, { "name": "expires", @@ -31728,15 +45282,15 @@ }, { "name": "content-length", - "value": "1684" + "value": "444" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:49 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31755,14 +45309,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.555Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:49.925Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -31770,11 +45324,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 88 } }, { - "_id": "7bd39caaa5fd7bc7c5b63e9a8b4313c5", + "_id": "21e351eb59f50bfb7962aab70fe392cb", "_order": 0, "cache": {}, "request": { @@ -31795,7 +45349,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31814,18 +45368,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/300feda0-3248-49a9-b60f-01df802b2229" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" }, "response": { - "bodySize": 299, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"_rev\":\"-1128011381\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 307, + "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31863,7 +45417,7 @@ }, { "name": "etag", - "value": "\"-1128011381\"" + "value": "\"-1256358519\"" }, { "name": "expires", @@ -31879,15 +45433,15 @@ }, { "name": "content-length", - "value": "299" + "value": "307" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31912,8 +45466,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.626Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:50.019Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -31921,11 +45475,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 66 } }, { - "_id": "10c2ec5fa3c216e8aefeae079ae0267a", + "_id": "6db700cc0b02b6597c541c9803c1d6dc", "_order": 0, "cache": {}, "request": { @@ -31946,7 +45500,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31965,18 +45519,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/40afb384-e9b6-4dcb-acde-04de109474c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" }, "response": { - "bodySize": 299, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"40afb384-e9b6-4dcb-acde-04de109474c8\",\"_rev\":\"-1673284725\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 257, + "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32014,7 +45568,7 @@ }, { "name": "etag", - "value": "\"-1673284725\"" + "value": "\"519412822\"" }, { "name": "expires", @@ -32030,15 +45584,15 @@ }, { "name": "content-length", - "value": "299" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32057,13 +45611,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.627Z", + "startedDateTime": "2024-11-05T21:21:50.020Z", "time": 65, "timings": { "blocked": -1, @@ -32076,158 +45630,7 @@ } }, { - "_id": "2afb861e8007ad4a02e40c2a0a420d38", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2065, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8d7d64ee-da20-461f-a2ca-206b7479dd67" - }, - "response": { - "bodySize": 299, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\",\"_rev\":\"-1870614074\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1870614074\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "299" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:46:59.627Z", - "time": 71, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 71 - } - }, - { - "_id": "53bbc796bf390259adc0ab1bd676c9b5", + "_id": "9cb764434e3ce3012b63cabaf9ea86cb", "_order": 0, "cache": {}, "request": { @@ -32248,7 +45651,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32267,18 +45670,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2012, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/97ef9d96-99e7-4d2d-b6c6-4177b5397ead" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/test" }, "response": { - "bodySize": 299, + "bodySize": 360, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"_rev\":\"-1576825857\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 360, + "text": "{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32316,7 +45719,7 @@ }, { "name": "etag", - "value": "\"-1576825857\"" + "value": "\"279923916\"" }, { "name": "expires", @@ -32332,15 +45735,15 @@ }, { "name": "content-length", - "value": "299" + "value": "360" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32359,14 +45762,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.628Z", - "time": 73, + "startedDateTime": "2024-11-05T21:21:50.089Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -32374,11 +45777,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 64 } }, { - "_id": "08d1d8fd2a6265df2a39df41aa06a4a0", + "_id": "4f9807e42f46045d0a16b4829be70f91", "_order": 0, "cache": {}, "request": { @@ -32399,7 +45802,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32418,18 +45821,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2022, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/c7fcf7ae-1ab5-474b-b5b0-272e10468fbd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/UpdatePassword" }, "response": { - "bodySize": 254, + "bodySize": 1888, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"_rev\":\"-728542802\",\"tree\":\"j09\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1888, + "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32467,7 +45870,7 @@ }, { "name": "etag", - "value": "\"-728542802\"" + "value": "\"-1067190791\"" }, { "name": "expires", @@ -32483,15 +45886,15 @@ }, { "name": "content-length", - "value": "254" + "value": "1888" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32510,14 +45913,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.628Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:50.158Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -32525,11 +45928,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 61 } }, { - "_id": "a4986da027e7b97e126cfbfac012f9e4", + "_id": "97a7f46b21ceac60cabf4c1b6977bf75", "_order": 0, "cache": {}, "request": { @@ -32550,7 +45953,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32569,18 +45972,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c91d626e-1156-41bd-b1fb-d292f640fba6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" }, "response": { - "bodySize": 529, + "bodySize": 408, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"_rev\":\"1583393008\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 408, + "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32618,7 +46021,7 @@ }, { "name": "etag", - "value": "\"1583393008\"" + "value": "\"1965792723\"" }, { "name": "expires", @@ -32634,15 +46037,15 @@ }, { "name": "content-length", - "value": "529" + "value": "408" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32667,8 +46070,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.629Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:50.225Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -32676,11 +46079,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 91 } }, { - "_id": "24f6c70fe8d0304795e77b1ae157cddf", + "_id": "fceb7a73a0db73b69c1439ea2fe64b49", "_order": 0, "cache": {}, "request": { @@ -32701,7 +46104,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32720,18 +46123,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2013, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Login" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" }, "response": { - "bodySize": 1877, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1877, - "text": "{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 315, + "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -32769,7 +46172,7 @@ }, { "name": "etag", - "value": "\"-453684268\"" + "value": "\"-1218497043\"" }, { "name": "expires", @@ -32785,15 +46188,15 @@ }, { "name": "content-length", - "value": "1877" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32818,8 +46221,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.708Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:50.225Z", + "time": 242, "timings": { "blocked": -1, "connect": -1, @@ -32827,11 +46230,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 242 } }, { - "_id": "953ab30d4d73c2adf50bd79794dcc77e", + "_id": "6ae2a4988b528efc83fbd1fb07ec6e64", "_order": 0, "cache": {}, "request": { @@ -32852,7 +46255,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32871,18 +46274,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" }, "response": { - "bodySize": 270, + "bodySize": 357, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 270, - "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 357, + "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-212483341\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -32920,7 +46323,7 @@ }, { "name": "etag", - "value": "\"-1405518667\"" + "value": "\"-212483341\"" }, { "name": "expires", @@ -32936,15 +46339,166 @@ }, { "name": "content-length", - "value": "270" + "value": "357" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:50.226Z", + "time": 79, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 79 + } + }, + { + "_id": "c07df926620986b6c7142a8f9170f9a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2061, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" + }, + "response": { + "bodySize": 485, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 485, + "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1059437256\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "485" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:50 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32969,8 +46523,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.776Z", - "time": 71, + "startedDateTime": "2024-11-05T21:21:50.227Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -32978,11 +46532,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 83 } }, { - "_id": "ac3b5d2206685c76b01bedfb73847a46", + "_id": "1f89ce13cc80637c9011c92f38cabd40", "_order": 0, "cache": {}, "request": { @@ -33003,7 +46557,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33022,18 +46576,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/2119f332-0f69-4088-a7a1-6582bf0f2001" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" }, "response": { - "bodySize": 299, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"_rev\":\"-809908897\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 238, + "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -33071,7 +46625,7 @@ }, { "name": "etag", - "value": "\"-809908897\"" + "value": "\"869693667\"" }, { "name": "expires", @@ -33087,15 +46641,15 @@ }, { "name": "content-length", - "value": "299" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33114,14 +46668,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.776Z", - "time": 121, + "startedDateTime": "2024-11-05T21:21:50.227Z", + "time": 240, "timings": { "blocked": -1, "connect": -1, @@ -33129,11 +46683,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 121 + "wait": 240 } }, { - "_id": "511b5e7c7dcda08055d181a6d17aa4e8", + "_id": "ec4a524211626352dd8d28d774aa7dde", "_order": 0, "cache": {}, "request": { @@ -33154,7 +46708,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33173,18 +46727,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2063, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/51e8c4c1-3509-4635-90e6-d2cc31c4a6a5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" }, "response": { - "bodySize": 222, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"_rev\":\"-1811954406\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 396, + "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33222,7 +46776,7 @@ }, { "name": "etag", - "value": "\"-1811954406\"" + "value": "\"-1359533036\"" }, { "name": "expires", @@ -33238,15 +46792,15 @@ }, { "name": "content-length", - "value": "222" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33271,8 +46825,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.777Z", - "time": 128, + "startedDateTime": "2024-11-05T21:21:50.228Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -33280,11 +46834,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 128 + "wait": 92 } }, { - "_id": "c83d775f1fac86f9c7524bb0c1e702ab", + "_id": "267bc3b0973288f87c9db890cc611bd2", "_order": 0, "cache": {}, "request": { @@ -33305,7 +46859,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33324,18 +46878,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/7f0c2aee-8c74-4d02-82a6-9d4ed9d11708" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" }, "response": { - "bodySize": 475, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 475, - "text": "{\"_id\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\",\"_rev\":\"1663221949\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 256, + "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33373,7 +46927,7 @@ }, { "name": "etag", - "value": "\"1663221949\"" + "value": "\"-716667889\"" }, { "name": "expires", @@ -33389,15 +46943,15 @@ }, { "name": "content-length", - "value": "475" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33422,8 +46976,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.778Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:50.228Z", + "time": 240, "timings": { "blocked": -1, "connect": -1, @@ -33431,11 +46985,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 240 } }, { - "_id": "9434f9123fc71b91d9a0b12bb4be1855", + "_id": "806220cad255afb8f02cf9ac74828371", "_order": 0, "cache": {}, "request": { @@ -33456,7 +47010,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33475,18 +47029,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" }, "response": { - "bodySize": 670, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 670, - "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 258, + "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33524,7 +47078,7 @@ }, { "name": "etag", - "value": "\"-1594114\"" + "value": "\"875005143\"" }, { "name": "expires", @@ -33540,15 +47094,15 @@ }, { "name": "content-length", - "value": "670" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33567,14 +47121,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.778Z", - "time": 78, + "startedDateTime": "2024-11-05T21:21:50.473Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -33582,11 +47136,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 65 } }, { - "_id": "663dc8d90803f011b358f257462c297a", + "_id": "4f146a167caec4cdd94f43a9c735e9ae", "_order": 0, "cache": {}, "request": { @@ -33607,7 +47161,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33626,18 +47180,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" }, "response": { - "bodySize": 243, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33675,7 +47229,7 @@ }, { "name": "etag", - "value": "\"2098371942\"" + "value": "\"688403743\"" }, { "name": "expires", @@ -33691,15 +47245,15 @@ }, { "name": "content-length", - "value": "243" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33718,14 +47272,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.779Z", - "time": 149, + "startedDateTime": "2024-11-05T21:21:50.474Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -33733,11 +47287,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 149 + "wait": 64 } }, { - "_id": "92148f26ceddcb135981e302c7e61f93", + "_id": "31ad319ca7114c6e8608b7f072b78668", "_order": 0, "cache": {}, "request": { @@ -33758,11 +47312,159 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2083, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + }, + "response": { + "bodySize": 4914, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 4914, + "text": "{\"result\":[{\"_id\":\"0f357b7e-6c54-4351-a094-43916877d7e5\",\"_rev\":\"9cfb52a0-12fa-4084-ba1e-5df17e60cf46-642\",\"authoritative\":false,\"connectorId\":\"Azure\",\"description\":\"Azure\",\"icon\":\"\",\"mappingNames\":[\"systemAzureUser_managedAlpha_user\",\"managedAlpha_user_systemAzureUser\",\"systemAzure__group___managedAlpha_assignment\",\"systemAzureDirectoryrole_managedAlpha_assignment\",\"systemAzureServiceplan_managedAlpha_assignment\"],\"name\":\"Azure\",\"templateName\":\"azure.ad\",\"templateVersion\":\"3.3\",\"uiConfig\":{\"objectTypes\":{\"User\":{\"properties\":{\"__PASSWORD__\":{\"displayName\":\"Password\",\"order\":17,\"userSpecific\":true},\"__roles__\":{\"displayName\":\"Roles\",\"nonAccountObject\":\"directoryRole\",\"order\":3,\"userSpecific\":true},\"__servicePlanIds__\":{\"displayName\":\"Service Plan Ids\",\"nonAccountObject\":\"servicePlan\",\"order\":27,\"userSpecific\":true},\"accountEnabled\":{\"displayName\":\"Account Enabled\",\"order\":0,\"userSpecific\":true},\"city\":{\"displayName\":\"City\",\"order\":5,\"userSpecific\":true},\"companyName\":{\"displayName\":\"Company Name\",\"order\":4,\"userSpecific\":true},\"country\":{\"displayName\":\"Country\",\"order\":6,\"userSpecific\":true},\"department\":{\"displayName\":\"Department\",\"order\":7,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":8,\"userSpecific\":true},\"givenName\":{\"displayName\":\"Given Name\",\"order\":9,\"userSpecific\":true},\"jobTitle\":{\"displayName\":\"Job Title\",\"order\":11,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"isDisplay\":true,\"isMail\":true,\"order\":1,\"userSpecific\":true},\"mailNickname\":{\"displayName\":\"Mail Nickname\",\"order\":12,\"userSpecific\":true},\"manager\":{\"displayName\":\"Manager\",\"order\":13,\"userSpecific\":true},\"memberOf\":{\"displayName\":\"Member Of\",\"nonAccountObject\":\"__GROUP__\",\"order\":2,\"userSpecific\":true},\"mobilePhone\":{\"displayName\":\"Mobile Phone\",\"order\":14,\"userSpecific\":true},\"onPremisesImmutableId\":{\"displayName\":\"On Premises Immutable Id\",\"order\":10,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":15,\"userSpecific\":true},\"otherMails\":{\"displayName\":\"Other Mails\",\"order\":16,\"userSpecific\":true},\"postalCode\":{\"displayName\":\"Postal Code\",\"order\":18,\"userSpecific\":true},\"preferredLanguage\":{\"displayName\":\"Preferred Language\",\"order\":19,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":20,\"userSpecific\":true},\"state\":{\"displayName\":\"State\",\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"displayName\":\"Street Address\",\"order\":22,\"userSpecific\":true},\"surname\":{\"displayName\":\"Surname\",\"order\":23,\"userSpecific\":true},\"usageLocation\":{\"displayName\":\"Usage Location\",\"order\":24,\"userSpecific\":true},\"userPrincipalName\":{\"displayName\":\"User Principal Name\",\"isUsername\":true,\"order\":25,\"userSpecific\":true},\"userType\":{\"displayName\":\"User Type\",\"order\":26,\"userSpecific\":true}}},\"__GROUP__\":{\"properties\":{\"__NAME__\":{\"displayName\":\"Name\",\"order\":2,\"userSpecific\":true},\"description\":{\"displayName\":\"Description\",\"order\":4,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":3,\"userSpecific\":true},\"groupTypes\":{\"displayName\":\"Group Types\",\"order\":10,\"userSpecific\":true},\"id\":{\"displayName\":\"Id\",\"order\":0,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"order\":5,\"userSpecific\":true},\"mailEnabled\":{\"displayName\":\"Mail Enabled\",\"order\":6,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":7,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":8,\"userSpecific\":true},\"securityEnabled\":{\"displayName\":\"Security Enabled\",\"order\":9,\"userSpecific\":true},\"type\":{\"displayName\":\"Type\",\"order\":1,\"userSpecific\":true}}},\"directoryRole\":{\"properties\":{\"description\":{\"displayName\":\"description\",\"order\":0,\"userSpecific\":true},\"displayName\":{\"displayName\":\"displayName\",\"order\":1,\"userSpecific\":true}}},\"servicePlan\":{\"properties\":{\"__NAME__\":{\"displayName\":\"__NAME__\",\"order\":5,\"userSpecific\":true},\"appliesTo\":{\"displayName\":\"appliesTo\",\"order\":0,\"userSpecific\":true},\"provisioningStatus\":{\"displayName\":\"provisioningStatus\",\"order\":2,\"userSpecific\":true},\"servicePlanId\":{\"displayName\":\"servicePlanId\",\"order\":1,\"userSpecific\":true},\"servicePlanName\":{\"displayName\":\"servicePlanName\",\"order\":4,\"userSpecific\":true},\"subscriberSkuId\":{\"displayName\":\"subscriberSkuId\",\"order\":3,\"userSpecific\":true}}}}}},{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"9cfb52a0-12fa-4084-ba1e-5df17e60cf46-641\",\"authoritative\":true,\"description\":\"desc\",\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\"},{\"_id\":\"2e4663b7-aed2-4521-8819-d379449d91b0\",\"_rev\":\"49c2ab5f-2da9-415b-b8f3-0ff7b4aec33a-7059\",\"name\":\"Google\",\"description\":\"Link to Google\",\"url\":\"https://www.google.com/\",\"templateName\":\"bookmark\",\"templateVersion\":\"1.0\",\"ssoEntities\":{}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:50 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "4914" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 617, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:50.545Z", + "time": 56, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 56 + } + }, + { + "_id": "082cd7a23ef51a8fbb1328a7d8d423b0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "authorization", @@ -33777,18 +47479,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1967, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/policies?_queryFilter=true" }, "response": { - "bodySize": 260, + "bodySize": 4114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 4114, + "text": "{\"result\":[{\"_id\":\"FeatureStorePolicy\",\"_rev\":\"1728915487133\",\"name\":\"FeatureStorePolicy\",\"active\":true,\"description\":\"FeatureStorePolicy\",\"resources\":[\"https://www.example.com:443/*\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.133Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.248Z\"},{\"_id\":\"Test Policy\",\"_rev\":\"1728915487679\",\"name\":\"Test Policy\",\"active\":false,\"description\":\"Test Policy Description\",\"resources\":[\"lorem://ipsum:dolor/sit\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{\"POST\":false,\"GET\":true},\"subject\":{\"type\":\"NONE\"},\"condition\":{\"type\":\"AND\",\"conditions\":[{\"type\":\"SimpleTime\",\"startTime\":\"12:00\",\"endTime\":\"11:59\",\"startDay\":\"mon\",\"endDay\":\"fri\",\"startDate\":\"2023:08:01\",\"endDate\":\"2023:08:02\",\"enforcementTimeZone\":\"GMT\"},{\"type\":\"Script\",\"scriptId\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\"}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"resourceAttributes\":[{\"type\":\"Static\",\"propertyName\":\"Test_Name\",\"propertyValues\":[\"Test_Value\"]}],\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.679Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.356Z\"},{\"_id\":\"activity\",\"_rev\":\"1730139286064\",\"name\":\"activity\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/activity\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-28T18:14:46.64Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.288Z\"},{\"_id\":\"apply\",\"_rev\":\"1730139286214\",\"name\":\"apply\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/apply\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"condition\":{\"type\":\"Transaction\",\"authenticationStrategy\":\"AuthenticateToTreeConditionAdvice\",\"strategySpecifier\":\"Baseline-Transaction\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-28T18:14:46.214Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.368Z\"},{\"_id\":\"HR-webapp\",\"_rev\":\"1730392002822\",\"name\":\"HR-webapp\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/apps/hrlite/*\",\"*://*:*/apps/hrlite?*\",\"*://*:*/apps/contractor\",\"*://*:*/apps/contractor/*\",\"*://*:*/apps/contractor?*\",\"*://*:*/apps/hrlite\"],\"applicationName\":\"EdgePolicySet\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"Identity\",\"subjectValues\":[\"id=hradmins,ou=group,o=alpha,ou=services,ou=am-config\"]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-31T16:26:42.822Z\",\"createdBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"creationDate\":\"2024-10-31T16:26:42.822Z\"},{\"_id\":\"actions\",\"_rev\":\"1730392003111\",\"name\":\"actions\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/actions\"],\"applicationName\":\"data\",\"actionValues\":{\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-31T16:26:43.111Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.202Z\"}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -33810,7 +47517,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -33824,10 +47531,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2064640544\"" - }, { "name": "expires", "value": "0" @@ -33842,15 +47545,15 @@ }, { "name": "content-length", - "value": "260" + "value": "4114" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33869,14 +47572,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.933Z", - "time": 67, + "startedDateTime": "2024-11-05T21:21:50.607Z", + "time": 143, "timings": { "blocked": -1, "connect": -1, @@ -33884,11 +47587,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 143 } }, { - "_id": "400cf894f4ffc26e6835ed152a2d9b3f", + "_id": "6c28db473956c916f36338201b5c11ed", "_order": 0, "cache": {}, "request": { @@ -33909,11 +47612,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "authorization", @@ -33928,18 +47631,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2057, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 260, + "bodySize": 4684, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 4684, + "text": "{\"result\":[{\"name\":\"EdgePolicySet\",\"displayName\":null,\"description\":\"Policy Set EdgePolicySet\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"ClientId\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"Expiration\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"Uma\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1669672555404,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285014,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"FeatureStorePolicySet\",\"displayName\":\"FeatureStorePolicySet\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=8efaa5b6-8c98-4489-9b21-ee41f5589ab7,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1695912757709,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285661,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"data\",\"displayName\":\"Baseline Demo\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=df492700-ba67-4345-83a9-58305850596c,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"IPv4\",\"SimpleTime\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"OAuth2Scope\",\"SessionProperty\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1610648242757,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285809,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139286442,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"test-policy-set\",\"displayName\":\"Test Policy Set\",\"description\":\"Test Policy Set Description\",\"attributeNames\":[],\"createdBy\":\"id=fbdeb2a9-beb6-4a14-ae66-e35f16ce421d,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1693494279401,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486893,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null}],\"resultCount\":5,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -33961,7 +47673,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -33975,10 +47687,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1763423776\"" - }, { "name": "expires", "value": "0" @@ -33993,15 +47701,15 @@ }, { "name": "content-length", - "value": "260" + "value": "4684" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:46:59 GMT" + "value": "Tue, 05 Nov 2024 21:21:50 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34020,14 +47728,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:46:59.934Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:50.756Z", + "time": 139, "timings": { "blocked": -1, "connect": -1, @@ -34035,11 +47743,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 139 } }, { - "_id": "7ca8caa6afeaaa71db865a069e0902fd", + "_id": "379e8f1f5314f19b1c94973252aa4422", "_order": 0, "cache": {}, "request": { @@ -34060,11 +47768,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -34079,169 +47787,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/OrphanedTest" - }, - "response": { - "bodySize": 831, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-764260244\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "831" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:00.005Z", - "time": 59, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 59 - } - }, - { - "_id": "7b22fe8eb1840e99b4020c3b5eb1496d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, + "queryString": [ { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "_sortKeys", + "value": "name" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" } ], - "headersSize": 2070, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/343e745f-923a-43c4-8675-649a490fd0a3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 474, + "bodySize": 3600, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"_rev\":\"775696658\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 3600, + "text": "{\"result\":[{\"uuid\":\"993eba78-1c3f-4f27-b205-b4b29418f831\",\"name\":\"FrodoTestResourceType11\",\"description\":\"Frodo Test Resource Type Eleven\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400290,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478164},{\"uuid\":\"3fc799d7-b73f-49e0-a70b-e37990e54e56\",\"name\":\"FrodoTestResourceType12\",\"description\":\"Frodo Test Resource Type Twelve\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400511,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478723},{\"uuid\":\"0aa5ed25-0c62-4ff5-9a42-3bda8c5cbb76\",\"name\":\"FrodoTestResourceType13\",\"description\":\"Frodo Test Resource Type Thirteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400601,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479106},{\"uuid\":\"119b291c-40b3-4b1e-8d84-c2a561a2cb1f\",\"name\":\"FrodoTestResourceType14\",\"description\":\"Frodo Test Resource Type Fourteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400702,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479259},{\"uuid\":\"3c5f13af-ca17-403e-b47d-d15263cce954\",\"name\":\"FrodoTestResourceType15\",\"description\":\"Frodo Test Resource Type Fifteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400790,\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":1730325157860},{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479805},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479980},{\"uuid\":\"1f445c60-0828-41ac-9a4e-a16c026e9536\",\"name\":\"test_resource\",\"description\":\"\",\"patterns\":[\"type1/node1\",\"type2/node2\"],\"actions\":{\"allow\":true},\"createdBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"creationDate\":1730325157570,\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":1730325157570}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34263,7 +47829,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34277,10 +47843,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"775696658\"" - }, { "name": "expires", "value": "0" @@ -34295,15 +47857,15 @@ }, { "name": "content-length", - "value": "474" + "value": "3600" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34322,14 +47884,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.069Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:50.901Z", + "time": 131, "timings": { "blocked": -1, "connect": -1, @@ -34337,11 +47899,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 131 } }, { - "_id": "da06405b031ae34c54ac304a337e9a7d", + "_id": "d5f3c78a168efd303e4ac23237ac992b", "_order": 0, "cache": {}, "request": { @@ -34362,11 +47924,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34381,18 +47943,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2026, + "headersSize": 1979, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" }, "response": { - "bodySize": 1352, + "bodySize": 391046, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1352, - "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" + "size": 391046, + "text": "{\"result\":[{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"Change this upp buddy\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"name\":\"Next Generation Device Match Node Script\",\"description\":\"Default global script for a device match node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"DEVICE_MATCH_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Next Generation Scripted Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34414,7 +47981,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -34428,10 +47995,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"512701181\"" - }, { "name": "expires", "value": "0" @@ -34444,17 +48007,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "1352" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34471,16 +48030,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.132Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:51.039Z", + "time": 153, "timings": { "blocked": -1, "connect": -1, @@ -34488,11 +48051,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 153 } }, { - "_id": "5a0efe962033aacd324acd682a941daa", + "_id": "b1af1584713fb0b5c684885c9ec96499", "_order": 0, "cache": {}, "request": { @@ -34513,11 +48076,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34532,18 +48095,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Library Script\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" }, "response": { - "bodySize": 347, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 347, - "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"1288219125\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34565,7 +48133,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34579,10 +48147,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1288219125\"" - }, { "name": "expires", "value": "0" @@ -34597,15 +48161,15 @@ }, { "name": "content-length", - "value": "347" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34624,14 +48188,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.194Z", - "time": 162, + "startedDateTime": "2024-11-05T21:21:51.197Z", + "time": 213, "timings": { "blocked": -1, "connect": -1, @@ -34639,11 +48203,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 162 + "wait": 213 } }, { - "_id": "45372e53b29867dc74ed412c24651e66", + "_id": "d83a6d63597bbf914f2080cfe22d9dda", "_order": 0, "cache": {}, "request": { @@ -34664,11 +48228,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34683,18 +48247,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2033, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"test-script-with-secrets-and-variables\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22test-script-with-secrets-and-variables%22" }, "response": { - "bodySize": 300, + "bodySize": 244, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 244, + "text": "{\"result\":[{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34716,7 +48285,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34730,10 +48299,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1679047423\"" - }, { "name": "expires", "value": "0" @@ -34748,15 +48313,15 @@ }, { "name": "content-length", - "value": "300" + "value": "244" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34775,14 +48340,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.195Z", - "time": 106, + "startedDateTime": "2024-11-05T21:21:51.416Z", + "time": 146, "timings": { "blocked": -1, "connect": -1, @@ -34790,11 +48355,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 106 + "wait": 146 } }, { - "_id": "84769f63c358dd689243ea9740fe3bbf", + "_id": "51a2d1bdf5235218615e430a782c680e", "_order": 0, "cache": {}, "request": { @@ -34815,11 +48380,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34834,169 +48399,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2034, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" - }, - "response": { - "bodySize": 378, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 378, - "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1852493841\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "378" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:00.195Z", - "time": 108, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 108 - } - }, - { - "_id": "008434bbafd9e35ba6a8bfaaa580c46b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_queryFilter", + "value": "name eq \"My Other Example Library Script\"" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Other%20Example%20Library%20Script%22" }, "response": { - "bodySize": 387, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 387, - "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 237, + "text": "{\"result\":[{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -35018,7 +48437,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -35032,10 +48451,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"380010937\"" - }, { "name": "expires", "value": "0" @@ -35050,15 +48465,15 @@ }, { "name": "content-length", - "value": "387" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35077,14 +48492,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.196Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:51.568Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -35092,11 +48507,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 66 } }, { - "_id": "c1155efa8ce487ae4ca29d579b03ad49", + "_id": "d5a690f315ecdca4895304f9ae857943", "_order": 0, "cache": {}, "request": { @@ -35117,11 +48532,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -35136,18 +48551,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2017, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"My Example Library\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Example%20Library%22" }, "response": { - "bodySize": 351, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 396, + "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"exports\":[{\"id\":\"MSG\",\"type\":\"String\"},{\"id\":\"add\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotal\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotalWithMessage\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -35169,7 +48589,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -35183,10 +48603,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1210529544\"" - }, { "name": "expires", "value": "0" @@ -35201,15 +48617,15 @@ }, { "name": "content-length", - "value": "351" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35228,14 +48644,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.361Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:51.638Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -35243,11 +48659,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 75 } }, { - "_id": "631e3d60e32140c0ba65aa36c5278edb", + "_id": "e374bc9e42d7fe4e315057818a2f37e4", "_order": 0, "cache": {}, "request": { @@ -35268,11 +48684,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35287,18 +48703,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2019, + "headersSize": 2000, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/RadioChoice" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 650, + "bodySize": 148532, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 650, - "text": "{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 148532, + "text": "{\"result\":[{\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"Okta Profile Normalization\",\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"description\":\"Script that uses secrets and variables\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test-script-with-secrets-and-variables\",\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"description\":\"Always redirect browser pre-auth\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_IDP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"EmailAsUsername\",\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"description\":\"set per level shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"level\",\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Other Example Library Script\",\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"description\":\"Normalizes raw profile data from ADFS\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"ADFS Profile Normalization (JS)\",\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Inactive Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Inactive Device Match Script\",\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Check if mode has already been set.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"mode\",\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"GitHub Profile Normalization (VS)\",\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"description\":\"Change this upp buddy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Format Username\",\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"description\":\"set the same shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"shared\",\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"description\":\"My Example Script Using Libraries\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Script Using Libraries\",\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"Custom Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Custom Device Match Script\",\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_SP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"FrodoSPAdapter\",\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"description\":\"My Example Library\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Library\",\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default alpha realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OIDC Claims Script\",\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -35334,10 +48755,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"947126104\"" - }, { "name": "expires", "value": "0" @@ -35350,17 +48767,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "650" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35377,16 +48790,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 785, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.425Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:51.720Z", + "time": 540, "timings": { "blocked": -1, "connect": -1, @@ -35394,11 +48811,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 540 } }, { - "_id": "00f0ab1c559f441eb9691ebc7c4763e6", + "_id": "02e90a0a7d26ea2e13d332c6c0b5cfcf", "_order": 0, "cache": {}, "request": { @@ -35419,11 +48836,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35438,18 +48855,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5d6cd20e-5074-43de-8832-fddd95fb078e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session" }, "response": { - "bodySize": 516, + "bodySize": 176, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 516, - "text": "{\"_id\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"_rev\":\"-450923473\",\"nodes\":[{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"nodeType\":\"ChoiceCollectorNode\",\"displayName\":\"Choice Collector\"}],\"pageDescription\":{},\"stage\":\"{\\\"ChoiceCallback\\\":[{\\\"id\\\":\\\"a566e474-99f3-46e4-9e70-682402bfaa84\\\",\\\"displayType\\\":\\\"radio\\\"}]}\",\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" + "size": 176, + "text": "{\"_id\":\"\",\"_rev\":\"-548141557\",\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35487,7 +48904,7 @@ }, { "name": "etag", - "value": "\"-450923473\"" + "value": "\"-548141557\"" }, { "name": "expires", @@ -35503,15 +48920,15 @@ }, { "name": "content-length", - "value": "516" + "value": "176" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35536,8 +48953,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.494Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:52.275Z", + "time": 127, "timings": { "blocked": -1, "connect": -1, @@ -35545,11 +48962,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 127 } }, { - "_id": "23de842fe257416bd82dea1b681259b5", + "_id": "b616cbb332784de37b63e08eddb36a7a", "_order": 0, "cache": {}, "request": { @@ -35570,11 +48987,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35589,18 +49006,170 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2064, + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:52 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:52.277Z", + "time": 102, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 102 + } + }, + { + "_id": "887c82329026ac2e059fd02a3332aa14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ChoiceCollectorNode/a566e474-99f3-46e4-9e70-682402bfaa84" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email" }, "response": { - "bodySize": 338, + "bodySize": 365, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 338, - "text": "{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"_rev\":\"-514175851\",\"defaultChoice\":\"one\",\"choices\":[\"one\",\"two\",\"three\"],\"prompt\":\"Choice?\",\"_type\":{\"_id\":\"ChoiceCollectorNode\",\"name\":\"Choice Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" + "size": 365, + "text": "{\"_id\":\"\",\"_rev\":\"-439720564\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35638,7 +49207,7 @@ }, { "name": "etag", - "value": "\"-514175851\"" + "value": "\"-439720564\"" }, { "name": "expires", @@ -35654,15 +49223,15 @@ }, { "name": "content-length", - "value": "338" + "value": "365" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35687,8 +49256,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.566Z", - "time": 122, + "startedDateTime": "2024-11-05T21:21:52.278Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -35696,11 +49265,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 90 } }, { - "_id": "7ddcc2b82c4a157177a5917c9a16b2e8", + "_id": "52ae24f6c29871e39dfc419a68492bc8", "_order": 0, "cache": {}, "request": { @@ -35721,11 +49290,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35740,18 +49309,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2006, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Registration" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 1239, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1239, - "text": "{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 256, + "text": "{\"result\":[{\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"username\":\"vscheuber@gmail.com\",\"sslState\":\"SSL\",\"hostname\":\"smtp.gmail.com\",\"_id\":\"gmail\",\"_type\":{\"_id\":\"smtpTransports\",\"name\":\"SMTP\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -35787,10 +49361,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-340494482\"" - }, { "name": "expires", "value": "0" @@ -35805,15 +49375,15 @@ }, { "name": "content-length", - "value": "1239" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35832,14 +49402,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.694Z", - "time": 55, + "startedDateTime": "2024-11-05T21:21:52.280Z", + "time": 154, "timings": { "blocked": -1, "connect": -1, @@ -35847,11 +49417,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 154 } }, { - "_id": "9e8c469a59a9a045428ebb32cffe0e39", + "_id": "0336fc6ba91110f3e276bf8a288b981f", "_order": 0, "cache": {}, "request": { @@ -35872,11 +49442,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35891,18 +49461,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1985, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard" }, "response": { - "bodySize": 1092, + "bodySize": 116, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1092, - "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"-30816295\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"stage\":\"{\\\"ValidatedCreatePasswordCallback\\\":[{\\\"id\\\":\\\"3d8709a1-f09f-4d1f-8094-2850e472c1db\\\",\\\"confirmPassword\\\":true,\\\"policyDisplayCheckmark\\\":true}]}\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 116, + "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35940,7 +49510,7 @@ }, { "name": "etag", - "value": "\"-30816295\"" + "value": "\"6506753\"" }, { "name": "expires", @@ -35956,15 +49526,15 @@ }, { "name": "content-length", - "value": "1092" + "value": "116" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35983,14 +49553,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 783, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.754Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:52.281Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -35998,11 +49568,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 98 } }, { - "_id": "d3bd13cf2c05905fa1ca40d9c36f4e57", + "_id": "a40075bb0ef119b2ce419f243f66c32e", "_order": 0, "cache": {}, "request": { @@ -36023,11 +49593,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36042,18 +49612,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1995, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/466f8b54-07fb-4e31-a11d-a6842618cc37" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 436, + "bodySize": 837, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\",\"_rev\":\"1064387237\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 837, + "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36091,7 +49661,7 @@ }, { "name": "etag", - "value": "\"1064387237\"" + "value": "\"-1504612008\"" }, { "name": "expires", @@ -36107,15 +49677,15 @@ }, { "name": "content-length", - "value": "436" + "value": "837" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36134,14 +49704,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.755Z", - "time": 69, + "startedDateTime": "2024-11-05T21:21:52.282Z", + "time": 114, "timings": { "blocked": -1, "connect": -1, @@ -36149,11 +49719,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 114 } }, { - "_id": "2d3bdeba8c45a258964597a30549a138", + "_id": "383887ff55b9d3e93c4f48578c466099", "_order": 0, "cache": {}, "request": { @@ -36174,11 +49744,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36193,169 +49763,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" - }, - "response": { - "bodySize": 243, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-841385771\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "243" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, + "headersSize": 2010, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:00.756Z", - "time": 67, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 67 - } - }, - { - "_id": "20d5e3297b927ca274b6eb25363ac24c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2061, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 277, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 277, - "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"-612221945\",\"identityResource\":\"managed/alpha_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36391,10 +49815,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-612221945\"" - }, { "name": "expires", "value": "0" @@ -36409,15 +49829,15 @@ }, { "name": "content-length", - "value": "277" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36436,14 +49856,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.756Z", - "time": 104, + "startedDateTime": "2024-11-05T21:21:52.282Z", + "time": 116, "timings": { "blocked": -1, "connect": -1, @@ -36451,11 +49871,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 104 + "wait": 116 } }, { - "_id": "93d2e07beb6012897283c4a95970ef06", + "_id": "f4d9d124d04a427d9d2de2764e6510be", "_order": 0, "cache": {}, "request": { @@ -36476,11 +49896,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36495,18 +49915,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 258, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 279, + "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36544,7 +49964,7 @@ }, { "name": "etag", - "value": "\"1966656034\"" + "value": "\"-948959244\"" }, { "name": "expires", @@ -36560,15 +49980,15 @@ }, { "name": "content-length", - "value": "258" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36593,8 +50013,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.866Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:52.283Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -36602,11 +50022,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 91 } }, { - "_id": "4b85e6f316361f022106bd44058700fa", + "_id": "a9f1d3fc495909d075260ee04e3ca64e", "_order": 0, "cache": {}, "request": { @@ -36627,11 +50047,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36646,18 +50066,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2020, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 373, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36693,10 +50118,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1158802257\"" - }, { "name": "expires", "value": "0" @@ -36711,15 +50132,15 @@ }, { "name": "content-length", - "value": "373" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36738,14 +50159,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.866Z", - "time": 71, + "startedDateTime": "2024-11-05T21:21:52.283Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -36753,11 +50174,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 93 } }, { - "_id": "188824f8c0922f65b2cb19e3b9cb2515", + "_id": "612f52313bf9113c27e4f24671b03c02", "_order": 0, "cache": {}, "request": { @@ -36778,11 +50199,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36797,18 +50218,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36844,10 +50270,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1470058997\"" - }, { "name": "expires", "value": "0" @@ -36862,15 +50284,15 @@ }, { "name": "content-length", - "value": "259" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36889,14 +50311,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.867Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:52.284Z", + "time": 111, "timings": { "blocked": -1, "connect": -1, @@ -36904,11 +50326,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 111 } }, { - "_id": "7b8b9ba1265400f4cc8e2c9ccf76f679", + "_id": "f3f6a254e1c6a207b4a25b1228841a6e", "_order": 0, "cache": {}, "request": { @@ -36929,11 +50351,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36948,18 +50370,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 1999, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 272, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 272, - "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36997,7 +50419,7 @@ }, { "name": "etag", - "value": "\"-8134977\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -37013,15 +50435,15 @@ }, { "name": "content-length", - "value": "272" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37040,14 +50462,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.868Z", - "time": 97, + "startedDateTime": "2024-11-05T21:21:52.285Z", + "time": 170, "timings": { "blocked": -1, "connect": -1, @@ -37055,11 +50477,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 170 } }, { - "_id": "85c3bfe52f9900e35685594eded4cee0", + "_id": "ad5b89c263fdb9ea6316cbdb6faab3da", "_order": 0, "cache": {}, "request": { @@ -37080,11 +50502,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37099,18 +50521,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 223, + "bodySize": 10076, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 10076, + "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -37146,10 +50573,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1508860909\"" - }, { "name": "expires", "value": "0" @@ -37162,17 +50585,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "223" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:00 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37189,16 +50608,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.868Z", - "time": 99, + "startedDateTime": "2024-11-05T21:21:52.286Z", + "time": 220, "timings": { "blocked": -1, "connect": -1, @@ -37206,11 +50629,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 99 + "wait": 220 } }, { - "_id": "4a3c66df9fc375ae45849605f558c01f", + "_id": "333a2d53709afae6dd06db50fd306b33", "_order": 0, "cache": {}, "request": { @@ -37231,11 +50654,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37250,18 +50673,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ResetPassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 1435, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1435, - "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -37297,10 +50725,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-501795106\"" - }, { "name": "expires", "value": "0" @@ -37315,15 +50739,15 @@ }, { "name": "content-length", - "value": "1435" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37342,14 +50766,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:00.972Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:52.290Z", + "time": 199, "timings": { "blocked": -1, "connect": -1, @@ -37357,11 +50781,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 199 } }, { - "_id": "7590e3052d2dd66ef963a210ac10709c", + "_id": "22bbc7fa51ae11fc12551f293689b75c", "_order": 0, "cache": {}, "request": { @@ -37382,11 +50806,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37401,88 +50825,144 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1991, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories" }, "response": { - "bodySize": 433, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "cache-control", + "value": "private, no-store" }, { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "cache-control", - "value": "private" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { - "name": "content-api-version", - "value": "resource=2.0" + "name": "via", + "value": "1.1 google" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { - "name": "cross-origin-opener-policy", - "value": "same-origin" + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 292, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 403, + "statusText": "Forbidden" + }, + "startedDateTime": "2024-11-05T21:21:52.291Z", + "time": 142, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 142 + } + }, + { + "_id": "05894705a21149f7f6a8a9ade2f4fb06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" }, { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "content-type", + "value": "application/json" }, { - "name": "etag", - "value": "\"-1138066714\"" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "expires", - "value": "0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { - "name": "pragma", - "value": "no-cache" + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "authorization", + "value": "Bearer " }, { - "name": "content-length", - "value": "433" + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2016, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories?_action=nextdescendents" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "via", @@ -37491,16 +50971,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:01.044Z", - "time": 97, + "startedDateTime": "2024-11-05T21:21:52.293Z", + "time": 115, "timings": { "blocked": -1, "connect": -1, @@ -37508,11 +50992,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 115 } }, { - "_id": "cc85b555d920cb57ea39666194165b14", + "_id": "255a10eae87b0b9a83474b491fe6fa9e", "_order": 0, "cache": {}, "request": { @@ -37533,11 +51017,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37552,18 +51036,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1996, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 342, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 342, - "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"555551070\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -37601,7 +51085,7 @@ }, { "name": "etag", - "value": "\"555551070\"" + "value": "\"-945038405\"" }, { "name": "expires", @@ -37617,15 +51101,15 @@ }, { "name": "content-length", - "value": "342" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37644,14 +51128,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.045Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:52.294Z", + "time": 172, "timings": { "blocked": -1, "connect": -1, @@ -37659,11 +51143,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 172 } }, { - "_id": "361169982eadc2849f9a635d70f0ec84", + "_id": "8360d3092f5d10ac3ed1f279d93a8d72", "_order": 0, "cache": {}, "request": { @@ -37684,11 +51168,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37703,169 +51187,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" - }, - "response": { - "bodySize": 295, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"402776485\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "295" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 785, + "headersSize": 2021, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:01.045Z", - "time": 100, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 100 - } - }, - { - "_id": "1b23fbc14f2647a4ba3009a1131885cf", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 444, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 444, - "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -37901,10 +51239,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"86486605\"" - }, { "name": "expires", "value": "0" @@ -37919,15 +51253,15 @@ }, { "name": "content-length", - "value": "444" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37946,14 +51280,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.046Z", - "time": 82, + "startedDateTime": "2024-11-05T21:21:52.295Z", + "time": 196, "timings": { "blocked": -1, "connect": -1, @@ -37961,11 +51295,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 196 } }, { - "_id": "2b5e08dacdc3abd63008ccdf93339c6a", + "_id": "06a173e8dc91053221929bcf661f6245", "_order": 0, "cache": {}, "request": { @@ -37986,11 +51320,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38005,18 +51339,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl" }, "response": { - "bodySize": 391, + "bodySize": 178, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 391, - "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 178, + "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -38054,7 +51388,7 @@ }, { "name": "etag", - "value": "\"1593283676\"" + "value": "\"-1889820858\"" }, { "name": "expires", @@ -38070,15 +51404,15 @@ }, { "name": "content-length", - "value": "391" + "value": "178" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38097,14 +51431,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.047Z", - "time": 95, + "startedDateTime": "2024-11-05T21:21:52.296Z", + "time": 187, "timings": { "blocked": -1, "connect": -1, @@ -38112,11 +51446,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 187 } }, { - "_id": "21e351eb59f50bfb7962aab70fe392cb", + "_id": "a7ffcf2fdd14bf4cdd5448b61131a795", "_order": 0, "cache": {}, "request": { @@ -38137,11 +51471,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38156,18 +51490,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2008, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl?_action=nextdescendents" }, "response": { - "bodySize": 307, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -38203,10 +51542,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1256358519\"" - }, { "name": "expires", "value": "0" @@ -38221,15 +51556,15 @@ }, { "name": "content-length", - "value": "307" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38248,14 +51583,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.150Z", - "time": 69, + "startedDateTime": "2024-11-05T21:21:52.297Z", + "time": 154, "timings": { "blocked": -1, "connect": -1, @@ -38263,11 +51598,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 154 } }, { - "_id": "6db700cc0b02b6597c541c9803c1d6dc", + "_id": "997d804b9cfd50ea780496dde25ac43d", "_order": 0, "cache": {}, "request": { @@ -38288,11 +51623,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38307,18 +51642,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation" }, "response": { - "bodySize": 257, + "bodySize": 175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 175, + "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -38356,7 +51691,7 @@ }, { "name": "etag", - "value": "\"519412822\"" + "value": "\"896681690\"" }, { "name": "expires", @@ -38372,15 +51707,15 @@ }, { "name": "content-length", - "value": "257" + "value": "175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38405,8 +51740,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.151Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:52.298Z", + "time": 171, "timings": { "blocked": -1, "connect": -1, @@ -38414,11 +51749,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 171 } }, { - "_id": "9cb764434e3ce3012b63cabaf9ea86cb", + "_id": "ef704793f963746022895744e772ed2c", "_order": 0, "cache": {}, "request": { @@ -38439,11 +51774,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38458,18 +51793,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/test" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 360, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 360, - "text": "{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -38505,10 +51845,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"279923916\"" - }, { "name": "expires", "value": "0" @@ -38523,15 +51859,15 @@ }, { "name": "content-length", - "value": "360" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38550,14 +51886,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.224Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:52.299Z", + "time": 185, "timings": { "blocked": -1, "connect": -1, @@ -38565,11 +51901,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 185 } }, { - "_id": "4f9807e42f46045d0a16b4829be70f91", + "_id": "a3edc3199d9a982b9137685a3b351139", "_order": 0, "cache": {}, "request": { @@ -38590,11 +51926,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38609,88 +51945,36 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2022, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/UpdatePassword" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService" }, "response": { - "bodySize": 1888, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1888, - "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1067190791\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" + "value": "private, no-store" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "1888" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "via", @@ -38699,16 +51983,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 788, + "headersSize": 292, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:01.290Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:52.300Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -38716,11 +52004,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 110 } }, { - "_id": "fceb7a73a0db73b69c1439ea2fe64b49", + "_id": "e1f511d66a8b66a7c7aec47c63713084", "_order": 0, "cache": {}, "request": { @@ -38741,11 +52029,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38760,88 +52048,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService?_action=nextdescendents" }, "response": { - "bodySize": 315, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1218497043\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "315" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "via", @@ -38850,16 +52091,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:01.360Z", - "time": 144, + "startedDateTime": "2024-11-05T21:21:52.302Z", + "time": 132, "timings": { "blocked": -1, "connect": -1, @@ -38867,11 +52112,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 144 + "wait": 132 } }, { - "_id": "97a7f46b21ceac60cabf4c1b6977bf75", + "_id": "915d5d0046dde202ae632fcbead646f9", "_order": 0, "cache": {}, "request": { @@ -38892,7 +52137,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -38911,18 +52156,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2008, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 408, + "bodySize": 1375, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 408, - "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1375, + "text": "{\"result\":[{\"_id\":\"rfc7523-client1-issuer\",\"_rev\":\"2135824550\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":\"{\\n \\\"keys\\\": [\\n {\\n \\\"alg\\\": \\\"RS256\\\",\\n \\\"e\\\": \\\"AQAB\\\",\\n \\\"kid\\\": \\\"F8XFabIUlF3EDIJNX7YXdmK5uanwbON7CRbaL1MEFqs\\\",\\n \\\"kty\\\": \\\"RSA\\\",\\n \\\"n\\\": \\\"nuFbAmaHuTnH5yMkEU8b0SiL7pfQtfJz1p50QMeN_ZRxd3rEMPkP95sEjd5d4CjzkGIlgF_vX3oLm1GreAqp97okjM-KCAlYI8rIqptDfMFRRJV-ydw0zeDFjNdIo1FFquat1rz_mgys6oBBgYyc1x2MSfuCL82lJK__E0KULdqgZ-93eEfS9UgxguPsHCYnrdUrLQbk7j0OWy0awaGgjw_GBeW6VriVMPNm7q0Ist4XoXpTHqfuDhrchdOadSw5wULJQLqkK2iOzKfE1JrunIVMcsN_FhyxMGhJ2f6j1_8txMac5ISW6AugGoW6yeeRL-H_y_Pc1MPHNPYPOAvzAyviomajaVSQImSCTIrrtYX1WUSdrVkEFwk0H379xwlfwux7-6DjgwbJKrbtHlKw28CGNanHs2j1eJNuWkPXF_1F5koqKr05jIC6h96g1vl_EKddN7Vy9j6yRYdfS1A5co5nW4UtuVo1VujQWVtOnDEpDOQFYriAxRrghk250FGW82jyxEstI2HmLznHgPYUw_xS6qEmboCJ2r9zfVMVTTcaE9KWaetEhSTZzVTLddQs2-1vp-7A_VmVU0OmUXIyFpAv0uE94nX1mW24yOf0tYUrEfmktfNNMxHh3fncSJu93q90yaj6e3m4Ibgc2JZnp4m_hDFjyuTAruclisN4u4M\\\"\\n }\\n ]\\n}\",\"consentedScopesClaim\":\"scope\",\"issuer\":\"https://my-issuer.com/issuer\",\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -38944,7 +52194,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -38958,10 +52208,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1965792723\"" - }, { "name": "expires", "value": "0" @@ -38976,15 +52222,15 @@ }, { "name": "content-length", - "value": "408" + "value": "1375" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39003,14 +52249,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.361Z", - "time": 88, + "startedDateTime": "2024-11-05T21:21:52.616Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -39018,11 +52264,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 79 } }, { - "_id": "6ae2a4988b528efc83fbd1fb07ec6e64", + "_id": "ec8aee31a2ac84861e7932b14146fcfb", "_order": 0, "cache": {}, "request": { @@ -39043,11 +52289,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -39062,18 +52308,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1990, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 357, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 357, - "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-212483341\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39095,7 +52346,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39109,10 +52360,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-212483341\"" - }, { "name": "expires", "value": "0" @@ -39127,15 +52374,15 @@ }, { "name": "content-length", - "value": "357" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39154,14 +52401,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.361Z", - "time": 92, + "startedDateTime": "2024-11-05T21:21:52.700Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -39169,11 +52416,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 73 } }, { - "_id": "1f89ce13cc80637c9011c92f38cabd40", + "_id": "a6da490906ad095dd3c6c369c6f06ac2", "_order": 0, "cache": {}, "request": { @@ -39194,7 +52441,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39213,18 +52460,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2010, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 238, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39260,10 +52512,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"869693667\"" - }, { "name": "expires", "value": "0" @@ -39278,15 +52526,15 @@ }, { "name": "content-length", - "value": "238" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39305,14 +52553,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.362Z", - "time": 173, + "startedDateTime": "2024-11-05T21:21:52.778Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -39320,15 +52568,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 173 + "wait": 70 } }, { - "_id": "ec4a524211626352dd8d28d774aa7dde", + "_id": "9caf147512f04ec021de6f7001a04d40", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -39345,7 +52593,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39355,6 +52603,10 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -39364,169 +52616,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" - }, - "response": { - "bodySize": 396, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 396, - "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1359533036\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "396" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:01.363Z", - "time": 81, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 81 - } - }, - { - "_id": "c07df926620986b6c7142a8f9170f9a2", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2061, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 485, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -39562,10 +52673,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1059437256\"" - }, { "name": "expires", "value": "0" @@ -39580,15 +52687,15 @@ }, { "name": "content-length", - "value": "485" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:52 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39607,14 +52714,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.363Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:52.853Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -39622,11 +52729,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 106 } }, { - "_id": "267bc3b0973288f87c9db890cc611bd2", + "_id": "fcd20ab90e4e3bd683aa4a9efb6d04ba", "_order": 0, "cache": {}, "request": { @@ -39647,7 +52754,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39666,18 +52773,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2001, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 256, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39713,10 +52825,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-716667889\"" - }, { "name": "expires", "value": "0" @@ -39731,15 +52839,15 @@ }, { "name": "content-length", - "value": "256" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39758,14 +52866,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.364Z", - "time": 149, + "startedDateTime": "2024-11-05T21:21:52.966Z", + "time": 159, "timings": { "blocked": -1, "connect": -1, @@ -39773,11 +52881,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 149 + "wait": 159 } }, { - "_id": "4f146a167caec4cdd94f43a9c735e9ae", + "_id": "2d5b74b142b052cc5fbc77d3f06dd1ca", "_order": 0, "cache": {}, "request": { @@ -39798,7 +52906,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39817,18 +52925,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2001, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39864,10 +52977,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"688403743\"" - }, { "name": "expires", "value": "0" @@ -39882,15 +52991,15 @@ }, { "name": "content-length", - "value": "257" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39909,14 +53018,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.540Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:52.967Z", + "time": 156, "timings": { "blocked": -1, "connect": -1, @@ -39924,11 +53033,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 156 } }, { - "_id": "806220cad255afb8f02cf9ac74828371", + "_id": "667497560bfe52f2d1992aa0d34d5b5f", "_order": 0, "cache": {}, "request": { @@ -39949,7 +53058,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39968,18 +53077,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2012, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -40015,10 +53129,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"875005143\"" - }, { "name": "expires", "value": "0" @@ -40033,15 +53143,15 @@ }, { "name": "content-length", - "value": "258" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40060,14 +53170,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.540Z", - "time": 70, + "startedDateTime": "2024-11-05T21:21:52.967Z", + "time": 164, "timings": { "blocked": -1, "connect": -1, @@ -40075,11 +53185,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 164 } }, { - "_id": "ec8aee31a2ac84861e7932b14146fcfb", + "_id": "cd69bf2369672e98496f93cf70225fbf", "_order": 0, "cache": {}, "request": { @@ -40100,11 +53210,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -40119,7 +53229,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1990, + "headersSize": 2003, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40128,14 +53238,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/saml2?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/OAuth2Thing?_queryFilter=true" }, "response": { - "bodySize": 138, + "bodySize": 87, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" }, "cookies": [], "headers": [ @@ -40157,7 +53267,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -40185,15 +53295,15 @@ }, { "name": "content-length", - "value": "138" + "value": "87" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40212,14 +53322,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 501, + "statusText": "Not Implemented" }, - "startedDateTime": "2024-10-22T22:47:01.615Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:52.968Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -40227,11 +53337,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 60 } }, { - "_id": "a6da490906ad095dd3c6c369c6f06ac2", + "_id": "9e5f64fb6b1f3661d1c69d97ee1a6afb", "_order": 0, "cache": {}, "request": { @@ -40252,7 +53362,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40280,14 +53390,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/circlesoftrust?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -40341,11 +53451,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40370,8 +53480,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.692Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:52.968Z", + "time": 154, "timings": { "blocked": -1, "connect": -1, @@ -40379,11 +53489,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 154 } }, { - "_id": "667497560bfe52f2d1992aa0d34d5b5f", + "_id": "fa0aec20d768f5ca69c9770f07faff1a", "_order": 0, "cache": {}, "request": { @@ -40404,7 +53514,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40423,7 +53533,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 2003, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40432,7 +53542,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40493,11 +53603,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40522,8 +53632,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.760Z", - "time": 121, + "startedDateTime": "2024-11-05T21:21:52.969Z", + "time": 159, "timings": { "blocked": -1, "connect": -1, @@ -40531,11 +53641,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 121 + "wait": 159 } }, { - "_id": "2d5b74b142b052cc5fbc77d3f06dd1ca", + "_id": "24d35cbc6a2aa382b654c7d65b47a423", "_order": 0, "cache": {}, "request": { @@ -40556,7 +53666,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40575,7 +53685,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2001, + "headersSize": 2000, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40584,7 +53694,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/J2EEAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40645,11 +53755,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40674,8 +53784,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.761Z", - "time": 121, + "startedDateTime": "2024-11-05T21:21:52.970Z", + "time": 161, "timings": { "blocked": -1, "connect": -1, @@ -40683,11 +53793,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 121 + "wait": 161 } }, { - "_id": "24d35cbc6a2aa382b654c7d65b47a423", + "_id": "95ceefd7cbb18a2c9de4b7c0085fe94a", "_order": 0, "cache": {}, "request": { @@ -40708,7 +53818,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40727,7 +53837,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2009, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40736,7 +53846,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/WebAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40797,11 +53907,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40826,8 +53936,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.762Z", - "time": 120, + "startedDateTime": "2024-11-05T21:21:52.970Z", + "time": 163, "timings": { "blocked": -1, "connect": -1, @@ -40835,7 +53945,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 163 } }, { @@ -40860,7 +53970,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40944,11 +54054,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:01 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40977,8 +54087,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.887Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:53.137Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -40986,7 +54096,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 78 } }, { @@ -41011,7 +54121,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -41042,11 +54152,11 @@ "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 11602, + "bodySize": 11630, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 11602, - "text": "{\"result\":[{\"_id\":\"RCSClient\",\"_rev\":\"104376878\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"123296491\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"-714932155\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test App\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + "size": 11630, + "text": "{\"result\":[{\"_id\":\"RCSClient\",\"_rev\":\"104376878\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"123296491\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"810281592\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"customLoginUrlTemplate\":null,\"accessTokenModifierClass\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"tosURI\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"refreshTokenGracePeriod\":0,\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test App\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"userinfoResponseFormat\":\"JSON\",\"mTLSCertificateBoundAccessTokens\":false,\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -41096,11 +54206,166 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:53.220Z", + "time": 104, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 104 + } + }, + { + "_id": "1c7de35b3ee8b8e53f4bd1422ab33ef3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1981, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication" + }, + "response": { + "bodySize": 1344, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1344, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/bravo\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":15,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-861746544\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1344" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41117,20 +54382,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:01.967Z", - "time": 89, + "startedDateTime": "2024-11-05T21:21:53.330Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -41138,15 +54399,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 84 } }, { - "_id": "1c7de35b3ee8b8e53f4bd1422ab33ef3", + "_id": "e961023e296aa53d6ce6435b9c313844", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -41163,16 +54424,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -41182,18 +54447,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2043, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 1344, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1344, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/bravo\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":15,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -41215,7 +54490,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -41229,10 +54504,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-861746544\"" - }, { "name": "expires", "value": "0" @@ -41247,15 +54518,15 @@ }, { "name": "content-length", - "value": "1344" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41274,14 +54545,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.060Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:53.419Z", + "time": 170, "timings": { "blocked": -1, "connect": -1, @@ -41289,15 +54560,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 170 } }, { - "_id": "e961023e296aa53d6ce6435b9c313844", + "_id": "9f21611e1c7c6f6e811959b3f62b7a1c", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -41314,20 +54585,16 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -41337,28 +54604,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2043, + "headersSize": 2025, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, + "method": "GET", "queryString": [ { - "name": "_action", - "value": "nextdescendents" + "name": "_queryFilter", + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 13, + "bodySize": 21463, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 21463, + "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":10,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -41380,7 +54642,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -41406,17 +54668,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "13" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41433,16 +54691,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 765, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.159Z", - "time": 173, + "startedDateTime": "2024-11-05T21:21:53.595Z", + "time": 120, "timings": { "blocked": -1, "connect": -1, @@ -41450,11 +54712,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 173 + "wait": 120 } }, { - "_id": "644daac1d3ee4232d51939812bd81166", + "_id": "5f45f78b60ce44d4436c9b8234d928ae", "_order": 0, "cache": {}, "request": { @@ -41475,7 +54737,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41490,54 +54756,45 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2083, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - }, - { - "name": "_pageSize", - "value": "1000" - }, - { - "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/bravo_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" }, "response": { - "bodySize": 138, + "bodySize": 1288, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 1288, + "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -41546,6 +54803,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"161495250\"" + }, { "name": "expires", "value": "0" @@ -41555,20 +54816,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1288" }, { - "name": "content-length", - "value": "138" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:53 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41587,14 +54848,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.338Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:53.719Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -41602,11 +54863,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 67 } }, { - "_id": "268fbe92035d46acffcf776bd02460bc", + "_id": "2510fc93828c554328992ec9e3853f5e", "_order": 0, "cache": {}, "request": { @@ -41627,11 +54888,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41646,23 +54907,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1967, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/policies?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" }, "response": { - "bodySize": 137, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 256, + "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41684,7 +54940,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -41698,6 +54954,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1389809903\"" + }, { "name": "expires", "value": "0" @@ -41712,15 +54972,15 @@ }, { "name": "content-length", - "value": "137" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41739,14 +54999,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.407Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:53.794Z", + "time": 248, "timings": { "blocked": -1, "connect": -1, @@ -41754,11 +55014,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 248 } }, { - "_id": "769334af37e886da6d33ca9c48963b76", + "_id": "f262441de8c2c1440f98108bc9c88620", "_order": 0, "cache": {}, "request": { @@ -41779,11 +55039,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41798,27 +55058,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2057, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" }, "response": { - "bodySize": 1070, + "bodySize": 451, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1070, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915520061,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 451, + "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41840,7 +55091,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -41854,6 +55105,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1421046051\"" + }, { "name": "expires", "value": "0" @@ -41868,15 +55123,15 @@ }, { "name": "content-length", - "value": "1070" + "value": "451" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41895,14 +55150,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.477Z", - "time": 87, + "startedDateTime": "2024-11-05T21:21:53.794Z", + "time": 760, "timings": { "blocked": -1, "connect": -1, @@ -41910,11 +55165,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 760 } }, { - "_id": "b6389f9d631cf6fc607a6d3b6f941607", + "_id": "c7826c825c1a79ac128cbbe5606c9afd", "_order": 0, "cache": {}, "request": { @@ -41935,11 +55190,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41954,27 +55209,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" }, "response": { - "bodySize": 1019, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1019, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915518398},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915519107}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 296, + "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41996,7 +55242,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -42010,6 +55256,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-626658673\"" + }, { "name": "expires", "value": "0" @@ -42024,15 +55274,15 @@ }, { "name": "content-length", - "value": "1019" + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42051,14 +55301,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.569Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:53.795Z", + "time": 293, "timings": { "blocked": -1, "connect": -1, @@ -42066,11 +55316,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 293 } }, { - "_id": "4b12f5b80ca674782cd53806efb4ddb1", + "_id": "2b5d6115e32c25a45b27aaa145b097fa", "_order": 0, "cache": {}, "request": { @@ -42091,11 +55341,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42110,23 +55360,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1979, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/scripts?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" }, "response": { - "bodySize": 427109, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 427109, - "text": "{\"result\":[{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fa53dc0e-b558-49ab-bc5a-609c0b4d1286\",\"name\":\"Debug\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2sKKTsKCm91dGNvbWUgPSAidHJ1ZSI7Cgp3aXRoIChmcikgewogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICB2YXIgc2VwZXJhdG9yQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICB2YXIgc2hhcmVkU3RhdGVDQiA9IG5ldyBUZXh0T3V0cHV0Q2FsbGJhY2soVGV4dE91dHB1dENhbGxiYWNrLklORk9STUFUSU9OLCAic2hhcmVkU3RhdGU6ICIgKyBzaGFyZWRTdGF0ZS50b1N0cmluZygpKTsKICAgIHZhciB0cmFuc2llbnRTdGF0ZUNCID0gbmV3IFRleHRPdXRwdXRDYWxsYmFjayhUZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sICJ0cmFuc2llbnRTdGF0ZTogIiArIHRyYW5zaWVudFN0YXRlLnRvU3RyaW5nKCkpOwogICAgdmFyIHJlcXVlc3RIZWFkZXJzQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgInJlcXVlc3RIZWFkZXJzOiAiICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSk7CiAgICB2YXIgdGhlQ2FsbGJhY2tzID0gW3NoYXJlZFN0YXRlQ0IsIHNlcGVyYXRvckNCLCB0cmFuc2llbnRTdGF0ZUNCLCBzZXBlcmF0b3JDQiwgcmVxdWVzdEhlYWRlcnNDQl07CiAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCh0aGVDYWxsYmFja3MpLmJ1aWxkKCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IEFjdGlvbi5nb1RvKCJ0cnVlIikuYnVpbGQoKTsKICB9Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"name\":\"Selfie Authentication Results\",\"description\":\"Show selfie authentication results\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug - imported (1)\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"name\":\"Full Verification Results\",\"description\":\"Show full identity verification results\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"name\":\"Bravo OIDC Claims Script\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"name\":\"Prepare Account Update\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"name\":\"Load Reference Selfie\",\"description\":\"Load reference selfie into shared state\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"name\":\"Prepare Account Creation\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"name\":\"Check Resolved Username\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"name\":\"Check Resolved Username - imported (1)\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":58,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 436, + "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42148,7 +55393,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -42162,6 +55407,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2035832000\"" + }, { "name": "expires", "value": "0" @@ -42174,13 +55423,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "436" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:02 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42197,20 +55450,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:02.654Z", - "time": 363, + "startedDateTime": "2024-11-05T21:21:53.796Z", + "time": 244, "timings": { "blocked": -1, "connect": -1, @@ -42218,11 +55467,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 363 + "wait": 244 } }, { - "_id": "f08c9b1bfb91a7ac9948a0779d52beb2", + "_id": "54789755913e7c6284a740902b328cda", "_order": 0, "cache": {}, "request": { @@ -42243,11 +55492,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42262,23 +55511,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1331445210\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:54 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services?_action=nextdescendents" + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:54.560Z", + "time": 248, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 248 + } + }, + { + "_id": "15baa18d8229344031514911b378e9a0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/FullVerificationResult" }, "response": { - "bodySize": 186180, + "bodySize": 1312, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 186180, - "text": "{\"result\":[{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"enable\":true,\"_id\":\"TNTPPingOneService\",\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Creation\",\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username\",\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show full identity verification results\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Full Verification Results\",\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show selfie authentication results\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Selfie Authentication Results\",\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Update\",\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2sKKTsKCm91dGNvbWUgPSAidHJ1ZSI7Cgp3aXRoIChmcikgewogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICB2YXIgc2VwZXJhdG9yQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICB2YXIgc2hhcmVkU3RhdGVDQiA9IG5ldyBUZXh0T3V0cHV0Q2FsbGJhY2soVGV4dE91dHB1dENhbGxiYWNrLklORk9STUFUSU9OLCAic2hhcmVkU3RhdGU6ICIgKyBzaGFyZWRTdGF0ZS50b1N0cmluZygpKTsKICAgIHZhciB0cmFuc2llbnRTdGF0ZUNCID0gbmV3IFRleHRPdXRwdXRDYWxsYmFjayhUZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sICJ0cmFuc2llbnRTdGF0ZTogIiArIHRyYW5zaWVudFN0YXRlLnRvU3RyaW5nKCkpOwogICAgdmFyIHJlcXVlc3RIZWFkZXJzQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgInJlcXVlc3RIZWFkZXJzOiAiICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSk7CiAgICB2YXIgdGhlQ2FsbGJhY2tzID0gW3NoYXJlZFN0YXRlQ0IsIHNlcGVyYXRvckNCLCB0cmFuc2llbnRTdGF0ZUNCLCBzZXBlcmF0b3JDQiwgcmVxdWVzdEhlYWRlcnNDQl07CiAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCh0aGVDYWxsYmFja3MpLmJ1aWxkKCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IEFjdGlvbi5nb1RvKCJ0cnVlIikuYnVpbGQoKTsKICB9Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Debug\",\"_id\":\"fa53dc0e-b558-49ab-bc5a-609c0b4d1286\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username - imported (1)\",\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script\",\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug - imported (1)\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Load reference selfie into shared state\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Load Reference Selfie\",\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" + "size": 1312, + "text": "{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -42314,6 +55709,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2082210208\"" + }, { "name": "expires", "value": "0" @@ -42326,13 +55725,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "1312" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42349,20 +55752,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.023Z", - "time": 398, + "startedDateTime": "2024-11-05T21:21:54.813Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -42370,11 +55769,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 398 + "wait": 64 } }, { - "_id": "e09460740281fbbb56e0ba1d82c45356", + "_id": "8515d2e6e18eb2a6527421421be03ddf", "_order": 0, "cache": {}, "request": { @@ -42395,11 +55794,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42414,18 +55813,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/43bd2a51-06e5-4f77-a239-0ae14d0f903e" }, "response": { - "bodySize": 286, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 286, - "text": "{\"_id\":\"\",\"_rev\":\"1248750872\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 295, + "text": "{\"_id\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"_rev\":\"956270392\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42463,7 +55862,7 @@ }, { "name": "etag", - "value": "\"1248750872\"" + "value": "\"956270392\"" }, { "name": "expires", @@ -42479,15 +55878,15 @@ }, { "name": "content-length", - "value": "286" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42506,14 +55905,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.431Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:54.884Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -42521,11 +55920,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 70 } }, { - "_id": "a676125b13d746ef911be6d0ae3a036f", + "_id": "9954f40fb7172b6029dfed9b077be771", "_order": 0, "cache": {}, "request": { @@ -42546,11 +55945,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42565,18 +55964,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1994, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/75cd0cc5-dae5-4289-b160-bae08c5f24af" }, "response": { - "bodySize": 125, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 125, - "text": "{\"_id\":\"\",\"_rev\":\"1688843526\",\"enable\":true,\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}}" + "size": 337, + "text": "{\"_id\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\",\"_rev\":\"-382647302\",\"nodes\":[{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42614,7 +56013,7 @@ }, { "name": "etag", - "value": "\"1688843526\"" + "value": "\"-382647302\"" }, { "name": "expires", @@ -42630,15 +56029,15 @@ }, { "name": "content-length", - "value": "125" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42663,8 +56062,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.432Z", - "time": 70, + "startedDateTime": "2024-11-05T21:21:54.884Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -42672,11 +56071,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 71 } }, { - "_id": "49cd3e56007bb581f457f78f77d0db7e", + "_id": "51ba58d709843b5b1891aab68484ac2d", "_order": 0, "cache": {}, "request": { @@ -42697,11 +56096,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42716,23 +56115,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2006, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d" }, "response": { - "bodySize": 13, + "bodySize": 477, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 477, + "text": "{\"_id\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\",\"_rev\":\"1289082510\",\"nodes\":[{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Result\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -42768,6 +56162,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1289082510\"" + }, { "name": "expires", "value": "0" @@ -42782,15 +56180,15 @@ }, { "name": "content-length", - "value": "13" + "value": "477" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:54 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42809,14 +56207,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.432Z", - "time": 169, + "startedDateTime": "2024-11-05T21:21:54.885Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -42824,11 +56222,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 169 + "wait": 71 } }, { - "_id": "765ef82693538218803204da06f18c64", + "_id": "c7da59a43f728c9001e488dceb55dc3c", "_order": 0, "cache": {}, "request": { @@ -42849,11 +56247,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42868,18 +56266,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1995, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbce5b49-d75d-440a-92e1-6d76290046bf" }, "response": { - "bodySize": 837, + "bodySize": 352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 837, - "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 352, + "text": "{\"_id\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"_rev\":\"-783727962\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -42917,7 +56315,7 @@ }, { "name": "etag", - "value": "\"-1504612008\"" + "value": "\"-783727962\"" }, { "name": "expires", @@ -42933,15 +56331,15 @@ }, { "name": "content-length", - "value": "837" + "value": "352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42960,14 +56358,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.433Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:54.885Z", + "time": 640, "timings": { "blocked": -1, "connect": -1, @@ -42975,11 +56373,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 640 } }, { - "_id": "c56f9e67b3250bdfea892eadb98b469e", + "_id": "c37481ac34aa4c80dd734638608f3574", "_order": 0, "cache": {}, "request": { @@ -43000,11 +56398,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43019,23 +56417,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2019, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/da8218d8-0226-432c-abe5-d4518e06fce8" }, "response": { - "bodySize": 645, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 645, - "text": "{\"result\":[{\"clientIdWorkerSecret\":\"MYeArFcBVz_koayPMhz8dSmkKN9P1SjEA3CApwzWTfKuGvhS3XERxRpR1zTYg0ZT\",\"clientIdWorkerApp\":\"9e4b8778-8d02-4533-b11f-407c15e5519e\",\"environmentId\":\"183aa418-cdd3-4075-b20d-1ed89c8ca36e\",\"environmentRegion\":\"NA\",\"_id\":\"p1-volker-dev\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}},{\"clientIdWorkerSecret\":\"PYT2yEkgv73IAXf7W-Gxo32SdANddMPdRPHuo8btgIR~qoU_KBmP3NfGpVxxGCK-\",\"clientIdWorkerApp\":\"bc700ab9-b18d-4d75-9c10-0ddfd7a2fcf6\",\"environmentId\":\"77826556-ad2a-4cb9-86fc-41f53fd35d4d\",\"environmentRegion\":\"NA\",\"_id\":\"JC\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}}]}" + "size": 309, + "text": "{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"_rev\":\"1425567817\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43071,6 +56464,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1425567817\"" + }, { "name": "expires", "value": "0" @@ -43085,15 +56482,15 @@ }, { "name": "content-length", - "value": "645" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43112,14 +56509,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.433Z", - "time": 162, + "startedDateTime": "2024-11-05T21:21:55.530Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -43127,11 +56524,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 162 + "wait": 80 } }, { - "_id": "483ca721c05100b646e50c58ff8b5d8c", + "_id": "514767662773eaba8458665cab6e5c62", "_order": 0, "cache": {}, "request": { @@ -43152,11 +56549,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43171,23 +56568,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5d32ece5-bf1d-4b3a-a0e5-e47867334112" + }, + "response": { + "bodySize": 299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 299, + "text": "{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"_rev\":\"-1880025452\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1880025452\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "299" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:55 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration?_action=nextdescendents" + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:55.531Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "80671685456133cd7078a14c298afabb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c1f34309-1be3-4fd8-8c7d-8f027a91bb46" }, "response": { - "bodySize": 13, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 297, + "text": "{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"_rev\":\"108853207\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43223,6 +56766,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"108853207\"" + }, { "name": "expires", "value": "0" @@ -43237,15 +56784,15 @@ }, { "name": "content-length", - "value": "13" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43264,14 +56811,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.434Z", - "time": 76, + "startedDateTime": "2024-11-05T21:21:55.531Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -43279,11 +56826,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 77 } }, { - "_id": "54e9e274b63b64e32662ed40c91d88b7", + "_id": "94d452e8f0783c9e043ed417622c1728", "_order": 0, "cache": {}, "request": { @@ -43304,11 +56851,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43323,18 +56870,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2035, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeFullVerification" }, "response": { - "bodySize": 279, + "bodySize": 4793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 4793, + "text": "{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -43372,159 +56919,7 @@ }, { "name": "etag", - "value": "\"-948959244\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "279" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:03.435Z", - "time": 78, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 78 - } - }, - { - "_id": "864db2aced2e25acf21b709449360ad3", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2017, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "value": "\"1102600689\"" }, { "name": "expires", @@ -43540,15 +56935,15 @@ }, { "name": "content-length", - "value": "13" + "value": "4793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43567,14 +56962,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.435Z", - "time": 114, + "startedDateTime": "2024-11-05T21:21:55.615Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -43582,11 +56977,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 114 + "wait": 64 } }, { - "_id": "d784eac328f02a92f02b8daab73886c8", + "_id": "0c54817a265f73a2e1a17fef6f8e179f", "_order": 0, "cache": {}, "request": { @@ -43607,11 +57002,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43626,18 +57021,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1999, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a" }, "response": { - "bodySize": 148, + "bodySize": 481, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 481, + "text": "{\"_id\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"_rev\":\"1411874953\",\"nodes\":[{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Successful\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43675,7 +57070,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"1411874953\"" }, { "name": "expires", @@ -43691,15 +57086,15 @@ }, { "name": "content-length", - "value": "148" + "value": "481" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43724,8 +57119,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.436Z", - "time": 122, + "startedDateTime": "2024-11-05T21:21:55.689Z", + "time": 151, "timings": { "blocked": -1, "connect": -1, @@ -43733,11 +57128,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 151 } }, { - "_id": "9c24c392d5ec59518b53b6c98a036372", + "_id": "8ae7e304b653b06b77b3af8fa20d37aa", "_order": 0, "cache": {}, "request": { @@ -43758,11 +57153,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43777,23 +57172,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2024, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc" }, "response": { - "bodySize": 13, + "bodySize": 943, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 943, + "text": "{\"_id\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"_rev\":\"-325518769\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -43829,6 +57219,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-325518769\"" + }, { "name": "expires", "value": "0" @@ -43843,15 +57237,15 @@ }, { "name": "content-length", - "value": "13" + "value": "943" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43870,14 +57264,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.436Z", - "time": 163, + "startedDateTime": "2024-11-05T21:21:55.689Z", + "time": 214, "timings": { "blocked": -1, "connect": -1, @@ -43885,11 +57279,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 163 + "wait": 214 } }, { - "_id": "ef998d020afb2e38925faf9edcac264b", + "_id": "5178ae47b4eda93a298301bf06b772ad", "_order": 0, "cache": {}, "request": { @@ -43910,11 +57304,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43929,23 +57323,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c8fb336-8d51-466c-933b-635c5b00365a" }, "response": { - "bodySize": 13, + "bodySize": 374, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 374, + "text": "{\"_id\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"_rev\":\"-353702425\",\"nodes\":[{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43981,6 +57370,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-353702425\"" + }, { "name": "expires", "value": "0" @@ -43995,15 +57388,15 @@ }, { "name": "content-length", - "value": "13" + "value": "374" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44022,14 +57415,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.438Z", - "time": 181, + "startedDateTime": "2024-11-05T21:21:55.690Z", + "time": 122, "timings": { "blocked": -1, "connect": -1, @@ -44037,11 +57430,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 181 + "wait": 122 } }, { - "_id": "5854232707369b3351cccfd047e0b48e", + "_id": "a4006a132e49641008363b05cc6da44d", "_order": 0, "cache": {}, "request": { @@ -44062,11 +57455,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44081,144 +57474,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1991, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1" }, "response": { - "bodySize": 114, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 298, + "text": "{\"_id\":\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\",\"_rev\":\"-231434689\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ { - "name": "cache-control", - "value": "private, no-store" + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "name": "cache-control", + "value": "private" }, { - "name": "via", - "value": "1.1 google" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 292, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 403, - "statusText": "Forbidden" - }, - "startedDateTime": "2024-10-22T22:47:03.439Z", - "time": 92, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 92 - } - }, - { - "_id": "a51b239eab51fcc0dd0f8318612e0fe1", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" + "name": "cross-origin-opener-policy", + "value": "same-origin" }, { - "name": "content-type", - "value": "application/json" + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "name": "etag", + "value": "\"-231434689\"" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "expires", + "value": "0" }, { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "name": "pragma", + "value": "no-cache" }, { - "name": "authorization", - "value": "Bearer " + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "content-length", + "value": "298" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2016, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories?_action=nextdescendents" - }, - "response": { - "bodySize": 114, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "no-cache" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "value": "max-age=31536000; includeSubDomains; preload;" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -44227,20 +57564,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.441Z", - "time": 91, + "startedDateTime": "2024-11-05T21:21:55.691Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -44248,11 +57581,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 100 } }, { - "_id": "02de68169a4bfc9a868495c69693abec", + "_id": "c11a76a33d630dace182c5826b9cc959", "_order": 0, "cache": {}, "request": { @@ -44273,11 +57606,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44292,18 +57625,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1996, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/2e801ab7-5412-4388-990b-84070f130994" }, "response": { - "bodySize": 135, + "bodySize": 764, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 764, + "text": "{\"_id\":\"2e801ab7-5412-4388-990b-84070f130994\",\"_rev\":\"407723514\",\"nodes\":[{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"nodeType\":\"PingOneVerifyProofing\",\"displayName\":\"PingOne Verify Proofing\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the document and selfie capturing step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -44341,7 +57674,7 @@ }, { "name": "etag", - "value": "\"-945038405\"" + "value": "\"407723514\"" }, { "name": "expires", @@ -44357,15 +57690,15 @@ }, { "name": "content-length", - "value": "135" + "value": "764" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44384,14 +57717,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.441Z", - "time": 162, + "startedDateTime": "2024-11-05T21:21:55.691Z", + "time": 170, "timings": { "blocked": -1, "connect": -1, @@ -44399,11 +57732,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 162 + "wait": 170 } }, { - "_id": "2953e2057e337bd2211699eea5ff1098", + "_id": "20e4f460db5d15afed5a133e1e1f35e2", "_order": 0, "cache": {}, "request": { @@ -44424,11 +57757,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44443,23 +57776,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/4885ef18-2a01-48bf-9b35-cda88b348e71" }, "response": { - "bodySize": 13, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 337, + "text": "{\"_id\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\",\"_rev\":\"-515721755\",\"nodes\":[{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44495,6 +57823,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-515721755\"" + }, { "name": "expires", "value": "0" @@ -44509,15 +57841,15 @@ }, { "name": "content-length", - "value": "13" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44536,14 +57868,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.442Z", - "time": 167, + "startedDateTime": "2024-11-05T21:21:55.692Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -44551,11 +57883,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 167 + "wait": 110 } }, { - "_id": "79f6bd8f783eaf4ca302e8cb4ef51612", + "_id": "7bee8e581e9bb17fcf1132c99075c9e8", "_order": 0, "cache": {}, "request": { @@ -44576,11 +57908,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44595,18 +57927,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b19c2c8-26be-4cc7-91f8-722d87142521" }, "response": { - "bodySize": 178, + "bodySize": 353, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 178, - "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 353, + "text": "{\"_id\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"_rev\":\"-1499195584\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -44644,7 +57976,7 @@ }, { "name": "etag", - "value": "\"-1889820858\"" + "value": "\"-1499195584\"" }, { "name": "expires", @@ -44660,15 +57992,15 @@ }, { "name": "content-length", - "value": "178" + "value": "353" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44693,8 +58025,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.443Z", - "time": 163, + "startedDateTime": "2024-11-05T21:21:55.692Z", + "time": 119, "timings": { "blocked": -1, "connect": -1, @@ -44702,11 +58034,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 163 + "wait": 119 } }, { - "_id": "8ed1b03474e06c05baf83c5ce1d75ab6", + "_id": "ef146800237ee35317cfde4d2dcf1167", "_order": 0, "cache": {}, "request": { @@ -44727,11 +58059,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44746,23 +58078,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/69e2fa6d-e18b-4661-86be-dbfefc311fc7" }, "response": { - "bodySize": 13, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 474, + "text": "{\"_id\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"_rev\":\"-882451986\",\"nodes\":[{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -44798,6 +58125,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-882451986\"" + }, { "name": "expires", "value": "0" @@ -44812,15 +58143,15 @@ }, { "name": "content-length", - "value": "13" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44839,14 +58170,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.445Z", - "time": 144, + "startedDateTime": "2024-11-05T21:21:55.693Z", + "time": 103, "timings": { "blocked": -1, "connect": -1, @@ -44854,11 +58185,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 144 + "wait": 103 } }, { - "_id": "37569ca7fa59cbe4a83adb2c86047fbd", + "_id": "23ddfc5236ba8dc585ae8d4f503b6d59", "_order": 0, "cache": {}, "request": { @@ -44879,11 +58210,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44898,18 +58229,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b4cc53a-4d3a-4fb4-9815-1b65d970efc3" }, "response": { - "bodySize": 175, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 175, - "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\",\"_rev\":\"1825168507\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -44947,7 +58278,7 @@ }, { "name": "etag", - "value": "\"896681690\"" + "value": "\"1825168507\"" }, { "name": "expires", @@ -44963,15 +58294,15 @@ }, { "name": "content-length", - "value": "175" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44990,14 +58321,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.446Z", - "time": 142, + "startedDateTime": "2024-11-05T21:21:55.693Z", + "time": 149, "timings": { "blocked": -1, "connect": -1, @@ -45005,11 +58336,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 142 + "wait": 149 } }, { - "_id": "5ba208b28b7723a17eb51fee8c500317", + "_id": "0d192fd47150e769219c143d89cf298f", "_order": 0, "cache": {}, "request": { @@ -45030,11 +58361,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -45049,23 +58380,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/737a2e1a-008a-45da-bb1a-176b7ccc5230" }, "response": { - "bodySize": 13, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 507, + "text": "{\"_id\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\",\"_rev\":\"1003698205\",\"nodes\":[{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"19eb6cc1-d604-4bc1-a368-9505776477ba\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -45101,6 +58427,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1003698205\"" + }, { "name": "expires", "value": "0" @@ -45115,15 +58445,15 @@ }, { "name": "content-length", - "value": "13" + "value": "507" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45142,13 +58472,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.447Z", + "startedDateTime": "2024-11-05T21:21:55.694Z", "time": 150, "timings": { "blocked": -1, @@ -45161,7 +58491,7 @@ } }, { - "_id": "ee48dfbbaf2f3eca24540288af8b91fb", + "_id": "5896e237f77f1083d069c1c213e985a7", "_order": 0, "cache": {}, "request": { @@ -45182,11 +58512,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -45201,36 +58531,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/798d799c-2a12-4af1-a611-9ffa5f694303" }, "response": { - "bodySize": 114, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 296, + "text": "{\"_id\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"_rev\":\"1718219714\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", - "value": "private, no-store" + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1718219714\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -45239,20 +58621,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 292, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.448Z", - "time": 86, + "startedDateTime": "2024-11-05T21:21:55.694Z", + "time": 175, "timings": { "blocked": -1, "connect": -1, @@ -45260,11 +58638,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 175 } }, { - "_id": "59a849d0d0f5b95d886adecc30f2c31a", + "_id": "0101d2b5ac7c86c15f82c8b7ee917743", "_order": 0, "cache": {}, "request": { @@ -45285,11 +58663,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -45304,28 +58682,63 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7b3211a0-debc-465f-bc81-f530458127c8" }, "response": { - "bodySize": 114, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 507, + "text": "{\"_id\":\"7b3211a0-debc-465f-bc81-f530458127c8\",\"_rev\":\"-139391661\",\"nodes\":[{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-139391661\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", "value": "no-cache" }, { @@ -45333,12 +58746,24 @@ "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "507" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -45347,20 +58772,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.449Z", - "time": 84, + "startedDateTime": "2024-11-05T21:21:55.695Z", + "time": 150, "timings": { "blocked": -1, "connect": -1, @@ -45368,11 +58789,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 150 } }, { - "_id": "9f21611e1c7c6f6e811959b3f62b7a1c", + "_id": "7962139f43f20c3cb3d09f646a2de68b", "_order": 0, "cache": {}, "request": { @@ -45393,7 +58814,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45412,23 +58833,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/859c73ff-f04e-42e5-91f5-9ca908c289bb" }, "response": { - "bodySize": 21463, + "bodySize": 477, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 21463, - "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":10,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 477, + "text": "{\"_id\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"_rev\":\"1456509175\",\"nodes\":[{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -45450,7 +58866,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -45464,6 +58880,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1456509175\"" + }, { "name": "expires", "value": "0" @@ -45476,13 +58896,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "477" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45499,20 +58923,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.752Z", - "time": 89, + "startedDateTime": "2024-11-05T21:21:55.697Z", + "time": 161, "timings": { "blocked": -1, "connect": -1, @@ -45520,11 +58940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 161 } }, { - "_id": "5f45f78b60ce44d4436c9b8234d928ae", + "_id": "73ad47e5fbe18e6be07409a454e28a50", "_order": 0, "cache": {}, "request": { @@ -45545,7 +58965,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45564,18 +58984,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/8b6a4da7-d6eb-47cb-bb65-84757cdb1888" }, "response": { - "bodySize": 1288, + "bodySize": 363, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1288, - "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 363, + "text": "{\"_id\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\",\"_rev\":\"-1709084984\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -45613,7 +59033,7 @@ }, { "name": "etag", - "value": "\"161495250\"" + "value": "\"-1709084984\"" }, { "name": "expires", @@ -45629,15 +59049,15 @@ }, { "name": "content-length", - "value": "1288" + "value": "363" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:03 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45656,14 +59076,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.847Z", - "time": 60, + "startedDateTime": "2024-11-05T21:21:55.698Z", + "time": 320, "timings": { "blocked": -1, "connect": -1, @@ -45671,11 +59091,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 320 } }, { - "_id": "f262441de8c2c1440f98108bc9c88620", + "_id": "95151ef1eff0faf48f460e9874b833ce", "_order": 0, "cache": {}, "request": { @@ -45696,7 +59116,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45715,18 +59135,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/986e0137-fe9f-4e2a-b37f-21bd13fbe6ce" }, "response": { - "bodySize": 451, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 451, - "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"_rev\":\"613737713\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -45764,7 +59184,7 @@ }, { "name": "etag", - "value": "\"-1421046051\"" + "value": "\"613737713\"" }, { "name": "expires", @@ -45780,15 +59200,15 @@ }, { "name": "content-length", - "value": "451" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45807,14 +59227,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.913Z", - "time": 775, + "startedDateTime": "2024-11-05T21:21:55.699Z", + "time": 121, "timings": { "blocked": -1, "connect": -1, @@ -45822,11 +59242,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 775 + "wait": 121 } }, { - "_id": "c7826c825c1a79ac128cbbe5606c9afd", + "_id": "3b5d2f57835c8509ac372ea48326d0be", "_order": 0, "cache": {}, "request": { @@ -45847,7 +59267,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45866,18 +59286,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/bbd56ddb-17de-4e73-b61c-856301637712" }, "response": { - "bodySize": 296, + "bodySize": 362, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 362, + "text": "{\"_id\":\"bbd56ddb-17de-4e73-b61c-856301637712\",\"_rev\":\"-868580812\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -45915,7 +59335,7 @@ }, { "name": "etag", - "value": "\"-626658673\"" + "value": "\"-868580812\"" }, { "name": "expires", @@ -45931,15 +59351,15 @@ }, { "name": "content-length", - "value": "296" + "value": "362" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45964,8 +59384,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.914Z", - "time": 245, + "startedDateTime": "2024-11-05T21:21:55.700Z", + "time": 318, "timings": { "blocked": -1, "connect": -1, @@ -45973,11 +59393,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 245 + "wait": 318 } }, { - "_id": "2510fc93828c554328992ec9e3853f5e", + "_id": "84524259a85fbfbd1dead0491adb8de5", "_order": 0, "cache": {}, "request": { @@ -45998,7 +59418,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46017,18 +59437,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bf42cd1b-23e2-4f0d-9370-3299b2f39086" }, "response": { - "bodySize": 256, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"_rev\":\"-910008898\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46066,7 +59486,7 @@ }, { "name": "etag", - "value": "\"1389809903\"" + "value": "\"-910008898\"" }, { "name": "expires", @@ -46082,15 +59502,15 @@ }, { "name": "content-length", - "value": "256" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46115,8 +59535,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.914Z", - "time": 263, + "startedDateTime": "2024-11-05T21:21:55.701Z", + "time": 164, "timings": { "blocked": -1, "connect": -1, @@ -46124,11 +59544,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 263 + "wait": 164 } }, { - "_id": "2b5d6115e32c25a45b27aaa145b097fa", + "_id": "dfc61c063b9e6f32d1ace3d4e87ce3c8", "_order": 0, "cache": {}, "request": { @@ -46149,7 +59569,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46168,18 +59588,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c37589da-c897-417f-8afa-74a3b130042a" }, "response": { - "bodySize": 436, + "bodySize": 344, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 344, + "text": "{\"_id\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"_rev\":\"-1051164446\",\"script\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"outcomes\":[\"true\",\"false\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"},{\"id\":\"false\",\"displayName\":\"false\"}]}" }, "cookies": [], "headers": [ @@ -46217,7 +59637,7 @@ }, { "name": "etag", - "value": "\"2035832000\"" + "value": "\"-1051164446\"" }, { "name": "expires", @@ -46233,15 +59653,15 @@ }, { "name": "content-length", - "value": "436" + "value": "344" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:55 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46260,14 +59680,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:03.915Z", - "time": 245, + "startedDateTime": "2024-11-05T21:21:55.702Z", + "time": 158, "timings": { "blocked": -1, "connect": -1, @@ -46275,11 +59695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 245 + "wait": 158 } }, { - "_id": "54789755913e7c6284a740902b328cda", + "_id": "a43abb2ddcb3aece1a8a74749e314981", "_order": 0, "cache": {}, "request": { @@ -46300,7 +59720,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46319,18 +59739,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/e8efdd39-8cb8-4bff-a2bf-c9decd805252" }, "response": { - "bodySize": 307, + "bodySize": 944, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 944, + "text": "{\"_id\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"_rev\":\"-1670882767\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -46368,7 +59788,7 @@ }, { "name": "etag", - "value": "\"-1331445210\"" + "value": "\"-1670882767\"" }, { "name": "expires", @@ -46384,15 +59804,166 @@ }, { "name": "content-length", - "value": "307" + "value": "944" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:55 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:55.703Z", + "time": 202, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 202 + } + }, + { + "_id": "55f800830ab2bb24a323f29b994feb8f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f764adf0-e71b-4780-990b-fe2906d6994a" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"_rev\":\"1882961856\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1882961856\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46411,14 +59982,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.695Z", - "time": 223, + "startedDateTime": "2024-11-05T21:21:56.027Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -46426,11 +59997,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 223 + "wait": 104 } }, { - "_id": "15baa18d8229344031514911b378e9a0", + "_id": "58dd3b71e7f612fbbf0f4dfffef279ae", "_order": 0, "cache": {}, "request": { @@ -46451,7 +60022,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46470,18 +60041,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2030, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/FullVerificationResult" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d81c68ab-f20d-4372-8f48-70766093e237" }, "response": { - "bodySize": 1312, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1312, - "text": "{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"_rev\":\"-1760749617\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46519,7 +60090,7 @@ }, { "name": "etag", - "value": "\"-2082210208\"" + "value": "\"-1760749617\"" }, { "name": "expires", @@ -46535,15 +60106,15 @@ }, { "name": "content-length", - "value": "1312" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:04 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46562,14 +60133,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.923Z", - "time": 59, + "startedDateTime": "2024-11-05T21:21:56.028Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -46577,11 +60148,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 104 } }, { - "_id": "8515d2e6e18eb2a6527421421be03ddf", + "_id": "7daece8f74c75ac116c4ef18b91eace3", "_order": 0, "cache": {}, "request": { @@ -46602,7 +60173,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46621,18 +60192,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/43bd2a51-06e5-4f77-a239-0ae14d0f903e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/41df2127-ff5d-4ff2-9971-04ff669145b5" }, "response": { - "bodySize": 295, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"_rev\":\"956270392\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"_rev\":\"1760160013\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46670,7 +60241,7 @@ }, { "name": "etag", - "value": "\"956270392\"" + "value": "\"1760160013\"" }, { "name": "expires", @@ -46686,15 +60257,15 @@ }, { "name": "content-length", - "value": "295" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46713,14 +60284,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.989Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:56.028Z", + "time": 117, "timings": { "blocked": -1, "connect": -1, @@ -46728,11 +60299,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 117 } }, { - "_id": "9954f40fb7172b6029dfed9b077be771", + "_id": "1db9920dd6a4d7ec270497477e111a3d", "_order": 0, "cache": {}, "request": { @@ -46753,7 +60324,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46772,18 +60343,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/75cd0cc5-dae5-4289-b160-bae08c5f24af" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyProofing/1895ec19-f7ca-45b4-ae9b-20946e7183ef" }, "response": { - "bodySize": 337, + "bodySize": 1208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\",\"_rev\":\"-382647302\",\"nodes\":[{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1208, + "text": "{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"_rev\":\"51506803\",\"saveMetadata\":true,\"tsTransactionId\":true,\"userNotification\":\"QR\",\"tsAccessToken\":true,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"saveVerifiedClaims\":true,\"verifyPolicyId\":\"c005fa90-a658-44f8-b9dc-854c11f1f235\",\"redirectMessage\":\"Redirecting back to PingOne AIC.\",\"fuzzyMatchingConfiguration\":{\"givenName\":\"MEDIUM\",\"sn\":\"MEDIUM\"},\"failExpired\":false,\"govId\":\"ANY\",\"userIdAttribute\":\"fr-attr-istr1\",\"attributeMappingConfiguration\":{\"custom_verifiedFirstName\":\"firstName\",\"custom_verifiedLastName\":\"lastName\"},\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"dobVerification\":16,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyProofing\",\"name\":\"PingOne Verify Proofing\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -46821,7 +60392,7 @@ }, { "name": "etag", - "value": "\"-382647302\"" + "value": "\"51506803\"" }, { "name": "expires", @@ -46837,15 +60408,15 @@ }, { "name": "content-length", - "value": "337" + "value": "1208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46864,14 +60435,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.990Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:56.029Z", + "time": 147, "timings": { "blocked": -1, "connect": -1, @@ -46879,11 +60450,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 147 } }, { - "_id": "51ba58d709843b5b1891aab68484ac2d", + "_id": "de5cd3a1f43f5b0a9391d9b8589e56d1", "_order": 0, "cache": {}, "request": { @@ -46904,7 +60475,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46923,18 +60494,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/04547a28-07b1-4b22-9bcd-234fc327038a" }, "response": { - "bodySize": 477, + "bodySize": 308, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 477, - "text": "{\"_id\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\",\"_rev\":\"1289082510\",\"nodes\":[{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Result\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 308, + "text": "{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"_rev\":\"482232792\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46972,7 +60543,7 @@ }, { "name": "etag", - "value": "\"1289082510\"" + "value": "\"482232792\"" }, { "name": "expires", @@ -46988,15 +60559,15 @@ }, { "name": "content-length", - "value": "477" + "value": "308" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47015,14 +60586,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.991Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:56.030Z", + "time": 126, "timings": { "blocked": -1, "connect": -1, @@ -47030,11 +60601,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 126 } }, { - "_id": "c7da59a43f728c9001e488dceb55dc3c", + "_id": "84e116ac4a09568c9c14c31f0fff5318", "_order": 0, "cache": {}, "request": { @@ -47055,7 +60626,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47078,14 +60649,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbce5b49-d75d-440a-92e1-6d76290046bf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5fb1aa6-15fb-4251-93af-e9f86d99ac78" }, "response": { - "bodySize": 352, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 352, - "text": "{\"_id\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"_rev\":\"-783727962\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 297, + "text": "{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"_rev\":\"830648995\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47123,7 +60694,7 @@ }, { "name": "etag", - "value": "\"-783727962\"" + "value": "\"830648995\"" }, { "name": "expires", @@ -47139,15 +60710,15 @@ }, { "name": "content-length", - "value": "352" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47166,14 +60737,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:04.991Z", - "time": 665, + "startedDateTime": "2024-11-05T21:21:56.031Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -47181,11 +60752,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 665 + "wait": 106 } }, { - "_id": "c37481ac34aa4c80dd734638608f3574", + "_id": "3aa6e52f887a00969dc110a50fa10e75", "_order": 0, "cache": {}, "request": { @@ -47206,7 +60777,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47225,18 +60796,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/da8218d8-0226-432c-abe5-d4518e06fce8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/24ea2978-9aa2-4be2-ae68-69ba1c60bdbf" }, "response": { - "bodySize": 309, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"_rev\":\"1425567817\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"_rev\":\"1833018919\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47274,7 +60845,7 @@ }, { "name": "etag", - "value": "\"1425567817\"" + "value": "\"1833018919\"" }, { "name": "expires", @@ -47290,15 +60861,15 @@ }, { "name": "content-length", - "value": "309" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47323,8 +60894,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.661Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:56.032Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -47332,11 +60903,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 101 } }, { - "_id": "514767662773eaba8458665cab6e5c62", + "_id": "f8467fc963333ec73d15e05b7e2c50a5", "_order": 0, "cache": {}, "request": { @@ -47357,7 +60928,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47376,18 +60947,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5d32ece5-bf1d-4b3a-a0e5-e47867334112" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/19eb6cc1-d604-4bc1-a368-9505776477ba" }, "response": { - "bodySize": 299, + "bodySize": 409, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"_rev\":\"-1880025452\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 409, + "text": "{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"_rev\":\"-1446348543\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47425,7 +60996,7 @@ }, { "name": "etag", - "value": "\"-1880025452\"" + "value": "\"-1446348543\"" }, { "name": "expires", @@ -47441,15 +61012,15 @@ }, { "name": "content-length", - "value": "299" + "value": "409" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47474,8 +61045,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.662Z", - "time": 61, + "startedDateTime": "2024-11-05T21:21:56.032Z", + "time": 203, "timings": { "blocked": -1, "connect": -1, @@ -47483,11 +61054,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 203 } }, { - "_id": "80671685456133cd7078a14c298afabb", + "_id": "9e2b1514dd6fc8ec2b2cfc54dc3c14df", "_order": 0, "cache": {}, "request": { @@ -47508,7 +61079,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47527,18 +61098,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c1f34309-1be3-4fd8-8c7d-8f027a91bb46" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/e6bf6cf7-62d2-4498-9db9-727762eb9e81" }, "response": { - "bodySize": 297, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"_rev\":\"108853207\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 407, + "text": "{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"_rev\":\"104729500\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47576,7 +61147,7 @@ }, { "name": "etag", - "value": "\"108853207\"" + "value": "\"104729500\"" }, { "name": "expires", @@ -47592,15 +61163,15 @@ }, { "name": "content-length", - "value": "297" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47625,8 +61196,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.663Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:56.033Z", + "time": 201, "timings": { "blocked": -1, "connect": -1, @@ -47634,11 +61205,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 201 } }, { - "_id": "94d452e8f0783c9e043ed417622c1728", + "_id": "62f04904c8b10ed6efe66ec13de56fbb", "_order": 0, "cache": {}, "request": { @@ -47659,7 +61230,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47678,18 +61249,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2035, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeFullVerification" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/936c098d-bd54-4f05-827c-ed36559518ac" }, "response": { - "bodySize": 4793, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4793, - "text": "{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"_rev\":\"-1217331790\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47727,7 +61298,7 @@ }, { "name": "etag", - "value": "\"1102600689\"" + "value": "\"-1217331790\"" }, { "name": "expires", @@ -47743,15 +61314,15 @@ }, { "name": "content-length", - "value": "4793" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47776,8 +61347,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.732Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:56.034Z", + "time": 120, "timings": { "blocked": -1, "connect": -1, @@ -47785,11 +61356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 120 } }, { - "_id": "8ae7e304b653b06b77b3af8fa20d37aa", + "_id": "86f91c9474f0ad101642cab732b0aec9", "_order": 0, "cache": {}, "request": { @@ -47810,7 +61381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47829,18 +61400,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/eed23b6a-4f3f-46e1-99fe-9b62de1ac27d" }, "response": { - "bodySize": 943, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 943, - "text": "{\"_id\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"_rev\":\"-325518769\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 298, + "text": "{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"_rev\":\"-865724007\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47878,7 +61449,7 @@ }, { "name": "etag", - "value": "\"-325518769\"" + "value": "\"-865724007\"" }, { "name": "expires", @@ -47894,15 +61465,15 @@ }, { "name": "content-length", - "value": "943" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47927,8 +61498,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.803Z", - "time": 247, + "startedDateTime": "2024-11-05T21:21:56.035Z", + "time": 128, "timings": { "blocked": -1, "connect": -1, @@ -47936,11 +61507,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 247 + "wait": 128 } }, { - "_id": "0c54817a265f73a2e1a17fef6f8e179f", + "_id": "73becb9c72c02f852f10a9cbeb6d0e83", "_order": 0, "cache": {}, "request": { @@ -47961,7 +61532,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47980,18 +61551,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2031, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeRegistration" }, "response": { - "bodySize": 481, + "bodySize": 3139, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 481, - "text": "{\"_id\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"_rev\":\"1411874953\",\"nodes\":[{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Successful\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 3139, + "text": "{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -48029,7 +61600,7 @@ }, { "name": "etag", - "value": "\"1411874953\"" + "value": "\"-1875023946\"" }, { "name": "expires", @@ -48045,15 +61616,15 @@ }, { "name": "content-length", - "value": "481" + "value": "3139" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48072,14 +61643,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.804Z", - "time": 104, + "startedDateTime": "2024-11-05T21:21:56.239Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -48087,11 +61658,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 104 + "wait": 63 } }, { - "_id": "5178ae47b4eda93a298301bf06b772ad", + "_id": "3dc610d9cef04383cf1e07f09349d84e", "_order": 0, "cache": {}, "request": { @@ -48112,7 +61683,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48135,14 +61706,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c8fb336-8d51-466c-933b-635c5b00365a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/029c508c-2c37-47b5-842d-6a914106995b" }, "response": { - "bodySize": 374, + "bodySize": 511, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 374, - "text": "{\"_id\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"_rev\":\"-353702425\",\"nodes\":[{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 511, + "text": "{\"_id\":\"029c508c-2c37-47b5-842d-6a914106995b\",\"_rev\":\"60444018\",\"nodes\":[{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"nodeType\":\"MessageNode\",\"displayName\":\"Verify or authenticate?\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Applicant Already Verified\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48180,7 +61751,7 @@ }, { "name": "etag", - "value": "\"-353702425\"" + "value": "\"60444018\"" }, { "name": "expires", @@ -48196,15 +61767,15 @@ }, { "name": "content-length", - "value": "374" + "value": "511" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48223,14 +61794,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.805Z", - "time": 96, + "startedDateTime": "2024-11-05T21:21:56.310Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -48238,11 +61809,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 85 } }, { - "_id": "a4006a132e49641008363b05cc6da44d", + "_id": "1e14edd32aba8863e90a3c9a158ccb7f", "_order": 0, "cache": {}, "request": { @@ -48263,7 +61834,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48282,18 +61853,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/139d3499-ebe9-48aa-8230-a7ee11165f60" }, "response": { - "bodySize": 298, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\",\"_rev\":\"-231434689\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 296, + "text": "{\"_id\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\",\"_rev\":\"1606441275\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48331,7 +61902,7 @@ }, { "name": "etag", - "value": "\"-231434689\"" + "value": "\"1606441275\"" }, { "name": "expires", @@ -48347,15 +61918,15 @@ }, { "name": "content-length", - "value": "298" + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48380,8 +61951,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.805Z", - "time": 124, + "startedDateTime": "2024-11-05T21:21:56.311Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -48389,11 +61960,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 124 + "wait": 68 } }, { - "_id": "20e4f460db5d15afed5a133e1e1f35e2", + "_id": "8d69460c75cf004fd52def670402497c", "_order": 0, "cache": {}, "request": { @@ -48414,7 +61985,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48437,14 +62008,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/4885ef18-2a01-48bf-9b35-cda88b348e71" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1e4264ea-7329-4ab6-b536-2990ba2ff6c0" }, "response": { - "bodySize": 337, + "bodySize": 460, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\",\"_rev\":\"-515721755\",\"nodes\":[{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 460, + "text": "{\"_id\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\",\"_rev\":\"-848074132\",\"nodes\":[{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"There was an error registering the applicant. Please contact your system administrator.\"},\"pageHeader\":{\"en\":\"Error Creating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -48482,7 +62053,7 @@ }, { "name": "etag", - "value": "\"-515721755\"" + "value": "\"-848074132\"" }, { "name": "expires", @@ -48498,15 +62069,15 @@ }, { "name": "content-length", - "value": "337" + "value": "460" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48531,8 +62102,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.806Z", - "time": 131, + "startedDateTime": "2024-11-05T21:21:56.312Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -48540,11 +62111,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 131 + "wait": 88 } }, { - "_id": "c11a76a33d630dace182c5826b9cc959", + "_id": "07c360cc287fd6d043725b3ef0067fae", "_order": 0, "cache": {}, "request": { @@ -48565,7 +62136,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48588,165 +62159,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/2e801ab7-5412-4388-990b-84070f130994" - }, - "response": { - "bodySize": 764, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 764, - "text": "{\"_id\":\"2e801ab7-5412-4388-990b-84070f130994\",\"_rev\":\"407723514\",\"nodes\":[{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"nodeType\":\"PingOneVerifyProofing\",\"displayName\":\"PingOne Verify Proofing\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the document and selfie capturing step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"407723514\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "764" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 785, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:05.806Z", - "time": 183, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 183 - } - }, - { - "_id": "7bee8e581e9bb17fcf1132c99075c9e8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2065, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b19c2c8-26be-4cc7-91f8-722d87142521" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1f503e47-5b59-4ff3-950b-d86f75daedd9" }, "response": { - "bodySize": 353, + "bodySize": 520, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 353, - "text": "{\"_id\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"_rev\":\"-1499195584\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 520, + "text": "{\"_id\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"_rev\":\"-1823189144\",\"nodes\":[{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attributes\"}],\"pageDescription\":{\"en\":\"Please provide the applicant/interviewee's first name, last name, private email address, and mobile phone number to start the process\"},\"pageHeader\":{\"en\":\"Register Applicant/Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48784,7 +62204,7 @@ }, { "name": "etag", - "value": "\"-1499195584\"" + "value": "\"-1823189144\"" }, { "name": "expires", @@ -48800,15 +62220,15 @@ }, { "name": "content-length", - "value": "353" + "value": "520" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48833,8 +62253,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.807Z", - "time": 128, + "startedDateTime": "2024-11-05T21:21:56.312Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -48842,11 +62262,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 128 + "wait": 90 } }, { - "_id": "23ddfc5236ba8dc585ae8d4f503b6d59", + "_id": "2500ecf3ffa8a3c7c8a4092828be41e8", "_order": 0, "cache": {}, "request": { @@ -48867,7 +62287,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48886,18 +62306,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b4cc53a-4d3a-4fb4-9815-1b65d970efc3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/2295c6bc-6eb5-4822-978e-640312c34ea0" }, "response": { - "bodySize": 298, + "bodySize": 282, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\",\"_rev\":\"1825168507\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 282, + "text": "{\"_id\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"_rev\":\"-790301059\",\"tree\":\"IntervieweeSelfieAuthentication\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48935,7 +62355,7 @@ }, { "name": "etag", - "value": "\"1825168507\"" + "value": "\"-790301059\"" }, { "name": "expires", @@ -48951,15 +62371,15 @@ }, { "name": "content-length", - "value": "298" + "value": "282" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48984,8 +62404,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.808Z", - "time": 105, + "startedDateTime": "2024-11-05T21:21:56.313Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -48993,11 +62413,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 105 + "wait": 93 } }, { - "_id": "ef146800237ee35317cfde4d2dcf1167", + "_id": "a20e30af6e61bdf1a5964d71314e2ac1", "_order": 0, "cache": {}, "request": { @@ -49018,7 +62438,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49037,18 +62457,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/69e2fa6d-e18b-4661-86be-dbfefc311fc7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/5214b99f-fd80-4f25-8798-4530eea5e3cb" }, "response": { - "bodySize": 474, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"_rev\":\"-882451986\",\"nodes\":[{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 278, + "text": "{\"_id\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\",\"_rev\":\"-1759589056\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -49086,7 +62506,7 @@ }, { "name": "etag", - "value": "\"-882451986\"" + "value": "\"-1759589056\"" }, { "name": "expires", @@ -49102,15 +62522,15 @@ }, { "name": "content-length", - "value": "474" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49129,14 +62549,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.808Z", - "time": 130, + "startedDateTime": "2024-11-05T21:21:56.314Z", + "time": 142, "timings": { "blocked": -1, "connect": -1, @@ -49144,11 +62564,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 130 + "wait": 142 } }, { - "_id": "5896e237f77f1083d069c1c213e985a7", + "_id": "615e3ff2fccfe52fdbe2c6264c2b01af", "_order": 0, "cache": {}, "request": { @@ -49169,7 +62589,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49188,18 +62608,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/798d799c-2a12-4af1-a611-9ffa5f694303" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5a52a154-9bc9-461a-aee2-85e9cfb34fd9" }, "response": { - "bodySize": 296, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"_rev\":\"1718219714\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 299, + "text": "{\"_id\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"_rev\":\"-1913029374\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49237,7 +62657,7 @@ }, { "name": "etag", - "value": "\"1718219714\"" + "value": "\"-1913029374\"" }, { "name": "expires", @@ -49253,15 +62673,15 @@ }, { "name": "content-length", - "value": "296" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49280,14 +62700,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.809Z", - "time": 123, + "startedDateTime": "2024-11-05T21:21:56.315Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -49295,11 +62715,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 123 + "wait": 80 } }, { - "_id": "0d192fd47150e769219c143d89cf298f", + "_id": "ef6b9ee63112aa5e91b2143e20607b39", "_order": 0, "cache": {}, "request": { @@ -49320,7 +62740,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49339,18 +62759,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/737a2e1a-008a-45da-bb1a-176b7ccc5230" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ae3b66b6-f4b1-4b40-ad90-f478a9c766a2" }, "response": { - "bodySize": 507, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\",\"_rev\":\"1003698205\",\"nodes\":[{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"19eb6cc1-d604-4bc1-a368-9505776477ba\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"_rev\":\"1000446242\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49388,7 +62808,7 @@ }, { "name": "etag", - "value": "\"1003698205\"" + "value": "\"1000446242\"" }, { "name": "expires", @@ -49404,15 +62824,15 @@ }, { "name": "content-length", - "value": "507" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49437,8 +62857,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.809Z", - "time": 145, + "startedDateTime": "2024-11-05T21:21:56.315Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -49446,11 +62866,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 145 + "wait": 84 } }, { - "_id": "0101d2b5ac7c86c15f82c8b7ee917743", + "_id": "a34959304691127535b0e9d328ad2a85", "_order": 0, "cache": {}, "request": { @@ -49471,7 +62891,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49490,18 +62910,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2071, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7b3211a0-debc-465f-bc81-f530458127c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeValueDecisionNode/af9a8a68-571a-4434-9b3d-bc84e4ec6fb6" }, "response": { - "bodySize": 507, + "bodySize": 398, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"7b3211a0-debc-465f-bc81-f530458127c8\",\"_rev\":\"-139391661\",\"nodes\":[{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 398, + "text": "{\"_id\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\",\"_rev\":\"-1500957064\",\"comparisonValue\":\"Successfully verified\",\"comparisonOperation\":\"EQUALS\",\"identityAttribute\":\"userName\",\"comparisonAttribute\":\"custom_verifyStatus\",\"_type\":{\"_id\":\"AttributeValueDecisionNode\",\"name\":\"Attribute Value Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -49539,7 +62959,7 @@ }, { "name": "etag", - "value": "\"-139391661\"" + "value": "\"-1500957064\"" }, { "name": "expires", @@ -49555,15 +62975,15 @@ }, { "name": "content-length", - "value": "507" + "value": "398" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49582,14 +63002,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.810Z", - "time": 157, + "startedDateTime": "2024-11-05T21:21:56.316Z", + "time": 124, "timings": { "blocked": -1, "connect": -1, @@ -49597,11 +63017,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 157 + "wait": 124 } }, { - "_id": "7962139f43f20c3cb3d09f646a2de68b", + "_id": "a070e2f242233bec4cbca1c0a06484a5", "_order": 0, "cache": {}, "request": { @@ -49622,7 +63042,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49641,18 +63061,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/859c73ff-f04e-42e5-91f5-9ca908c289bb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b5ca1e74-ee28-45ef-95ee-bf53e1ead142" }, "response": { - "bodySize": 477, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 477, - "text": "{\"_id\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"_rev\":\"1456509175\",\"nodes\":[{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 278, + "text": "{\"_id\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"_rev\":\"1358720253\",\"tree\":\"IntervieweeFullVerification\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -49690,7 +63110,7 @@ }, { "name": "etag", - "value": "\"1456509175\"" + "value": "\"1358720253\"" }, { "name": "expires", @@ -49706,15 +63126,15 @@ }, { "name": "content-length", - "value": "477" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49739,8 +63159,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.812Z", - "time": 157, + "startedDateTime": "2024-11-05T21:21:56.317Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -49748,11 +63168,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 157 + "wait": 68 } }, { - "_id": "73ad47e5fbe18e6be07409a454e28a50", + "_id": "3915bc58d77b250cf5552904468b4544", "_order": 0, "cache": {}, "request": { @@ -49773,7 +63193,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49796,14 +63216,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/8b6a4da7-d6eb-47cb-bb65-84757cdb1888" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d31ee3a0-9b8d-4f72-9037-deb2eb27268a" }, "response": { - "bodySize": 363, + "bodySize": 346, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 363, - "text": "{\"_id\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\",\"_rev\":\"-1709084984\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 346, + "text": "{\"_id\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\",\"_rev\":\"283483699\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -49841,7 +63261,7 @@ }, { "name": "etag", - "value": "\"-1709084984\"" + "value": "\"283483699\"" }, { "name": "expires", @@ -49857,15 +63277,15 @@ }, { "name": "content-length", - "value": "363" + "value": "346" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49884,14 +63304,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.813Z", - "time": 305, + "startedDateTime": "2024-11-05T21:21:56.317Z", + "time": 115, "timings": { "blocked": -1, "connect": -1, @@ -49899,11 +63319,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 305 + "wait": 115 } }, { - "_id": "95151ef1eff0faf48f460e9874b833ce", + "_id": "7cbed60d62324a0d6a8dcfe9529a5bc2", "_order": 0, "cache": {}, "request": { @@ -49924,7 +63344,158 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2053, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/ed269417-887d-4e6a-9569-ca3cae6f0424" + }, + "response": { + "bodySize": 514, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 514, + "text": "{\"_id\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"_rev\":\"238119602\",\"nodes\":[{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"An error occurred updating the account.\"},\"pageHeader\":{\"en\":\"Error Updating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"238119602\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "514" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:56 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:56.319Z", + "time": 116, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 116 + } + }, + { + "_id": "c98ee7116f63679c137fb0efc4761c6b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49947,14 +63518,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/986e0137-fe9f-4e2a-b37f-21bd13fbe6ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/efa28d41-24b0-405d-8add-ae6baba145e4" }, "response": { "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", "size": 297, - "text": "{\"_id\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"_rev\":\"613737713\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"_rev\":\"174471277\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49992,7 +63563,7 @@ }, { "name": "etag", - "value": "\"613737713\"" + "value": "\"174471277\"" }, { "name": "expires", @@ -50012,11 +63583,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50041,8 +63612,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.814Z", - "time": 150, + "startedDateTime": "2024-11-05T21:21:56.461Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -50050,11 +63621,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 150 + "wait": 86 } }, { - "_id": "3b5d2f57835c8509ac372ea48326d0be", + "_id": "48ceef8ee7a8cef6e223ed8e5e9db697", "_order": 0, "cache": {}, "request": { @@ -50075,7 +63646,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50094,18 +63665,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/bbd56ddb-17de-4e73-b61c-856301637712" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/b3cb17c3-1066-4daa-87b8-e8902f84c650" }, "response": { - "bodySize": 362, + "bodySize": 375, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 362, - "text": "{\"_id\":\"bbd56ddb-17de-4e73-b61c-856301637712\",\"_rev\":\"-868580812\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 375, + "text": "{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"_rev\":\"1747003890\",\"messageYes\":{\"en\":\"Verify again\"},\"message\":{\"en\":\"This applicant has already been successfully verified.\"},\"messageNo\":{\"et\":\"Authenticate applicant\"},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -50143,7 +63714,7 @@ }, { "name": "etag", - "value": "\"-868580812\"" + "value": "\"1747003890\"" }, { "name": "expires", @@ -50159,15 +63730,15 @@ }, { "name": "content-length", - "value": "362" + "value": "375" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50192,8 +63763,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.815Z", - "time": 304, + "startedDateTime": "2024-11-05T21:21:56.462Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -50201,11 +63772,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 304 + "wait": 86 } }, { - "_id": "84524259a85fbfbd1dead0491adb8de5", + "_id": "5ed91472058d958b788e63525a1a6d32", "_order": 0, "cache": {}, "request": { @@ -50226,7 +63797,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50249,14 +63820,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bf42cd1b-23e2-4f0d-9370-3299b2f39086" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"_rev\":\"-910008898\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"_rev\":\"-1174532609\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50294,7 +63865,7 @@ }, { "name": "etag", - "value": "\"-910008898\"" + "value": "\"-1174532609\"" }, { "name": "expires", @@ -50310,15 +63881,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50337,14 +63908,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.816Z", - "time": 178, + "startedDateTime": "2024-11-05T21:21:56.463Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -50352,11 +63923,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 178 + "wait": 81 } }, { - "_id": "dfc61c063b9e6f32d1ace3d4e87ce3c8", + "_id": "bbbbd2fe5d2ff5fda6141f175d5e113f", "_order": 0, "cache": {}, "request": { @@ -50377,7 +63948,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50400,14 +63971,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c37589da-c897-417f-8afa-74a3b130042a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c8376489-5929-476e-bb5a-5b3b7a24084b" }, "response": { - "bodySize": 344, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 344, - "text": "{\"_id\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"_rev\":\"-1051164446\",\"script\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"outcomes\":[\"true\",\"false\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"},{\"id\":\"false\",\"displayName\":\"false\"}]}" + "size": 298, + "text": "{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"_rev\":\"1155028337\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50445,7 +64016,7 @@ }, { "name": "etag", - "value": "\"-1051164446\"" + "value": "\"1155028337\"" }, { "name": "expires", @@ -50461,15 +64032,15 @@ }, { "name": "content-length", - "value": "344" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:05 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50488,14 +64059,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.817Z", - "time": 163, + "startedDateTime": "2024-11-05T21:21:56.464Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -50503,11 +64074,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 163 + "wait": 77 } }, { - "_id": "a43abb2ddcb3aece1a8a74749e314981", + "_id": "65c074793fa0fa147989ddb5ed076706", "_order": 0, "cache": {}, "request": { @@ -50528,7 +64099,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50547,18 +64118,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/e8efdd39-8cb8-4bff-a2bf-c9decd805252" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d1513615-96e6-483a-b169-f465fbea4acc" }, "response": { - "bodySize": 944, + "bodySize": 344, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 944, - "text": "{\"_id\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"_rev\":\"-1670882767\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 344, + "text": "{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"_rev\":\"-646604869\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"telephoneNumber\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -50596,7 +64167,7 @@ }, { "name": "etag", - "value": "\"-1670882767\"" + "value": "\"-646604869\"" }, { "name": "expires", @@ -50612,15 +64183,15 @@ }, { "name": "content-length", - "value": "944" + "value": "344" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50639,14 +64210,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:05.818Z", - "time": 232, + "startedDateTime": "2024-11-05T21:21:56.464Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -50654,11 +64225,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 232 + "wait": 81 } }, { - "_id": "55f800830ab2bb24a323f29b994feb8f", + "_id": "e830279b72c892c359a8ae5e1b97cc41", "_order": 0, "cache": {}, "request": { @@ -50679,7 +64250,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50702,14 +64273,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f764adf0-e71b-4780-990b-fe2906d6994a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/7a17bd74-d6b0-4f33-993d-1ec9e9700cc4" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"_rev\":\"1882961856\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"_rev\":\"-900243412\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50747,7 +64318,7 @@ }, { "name": "etag", - "value": "\"1882961856\"" + "value": "\"-900243412\"" }, { "name": "expires", @@ -50767,11 +64338,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50796,8 +64367,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.125Z", - "time": 125, + "startedDateTime": "2024-11-05T21:21:56.465Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -50805,11 +64376,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 125 + "wait": 81 } }, { - "_id": "58dd3b71e7f612fbbf0f4dfffef279ae", + "_id": "2cc535855c355eb5c21c0252d8509b15", "_order": 0, "cache": {}, "request": { @@ -50830,7 +64401,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50849,18 +64420,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2039, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d81c68ab-f20d-4372-8f48-70766093e237" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeSelfieAuthentication" }, "response": { - "bodySize": 299, + "bodySize": 2985, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"_rev\":\"-1760749617\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 2985, + "text": "{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -50898,7 +64469,7 @@ }, { "name": "etag", - "value": "\"-1760749617\"" + "value": "\"458768360\"" }, { "name": "expires", @@ -50914,15 +64485,15 @@ }, { "name": "content-length", - "value": "299" + "value": "2985" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50941,14 +64512,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.126Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:56.552Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -50956,11 +64527,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 66 } }, { - "_id": "7daece8f74c75ac116c4ef18b91eace3", + "_id": "a968e7c07f8d3c0aaa4d885f72363cf8", "_order": 0, "cache": {}, "request": { @@ -50981,7 +64552,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51000,18 +64571,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/41df2127-ff5d-4ff2-9971-04ff669145b5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/290f65ae-de1a-40be-9c3c-c0174decb0a2" }, "response": { - "bodySize": 298, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"_rev\":\"1760160013\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 296, + "text": "{\"_id\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"_rev\":\"1417349727\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -51049,7 +64620,7 @@ }, { "name": "etag", - "value": "\"1760160013\"" + "value": "\"1417349727\"" }, { "name": "expires", @@ -51065,15 +64636,15 @@ }, { "name": "content-length", - "value": "298" + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51098,8 +64669,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.126Z", - "time": 115, + "startedDateTime": "2024-11-05T21:21:56.626Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -51107,11 +64678,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 74 } }, { - "_id": "1db9920dd6a4d7ec270497477e111a3d", + "_id": "bdf0e3944340bd77e6b6ef22573a5e7f", "_order": 0, "cache": {}, "request": { @@ -51132,7 +64703,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51151,18 +64722,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyProofing/1895ec19-f7ca-45b4-ae9b-20946e7183ef" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/67f33640-a333-4172-8339-2346d873627c" }, "response": { - "bodySize": 1157, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1157, - "text": "{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"_rev\":\"-689125243\",\"saveMetadata\":true,\"tsTransactionId\":true,\"userNotification\":\"QR\",\"tsAccessToken\":true,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"saveVerifiedClaims\":true,\"verifyPolicyId\":\"c005fa90-a658-44f8-b9dc-854c11f1f235\",\"fuzzyMatchingConfiguration\":{\"givenName\":\"MEDIUM\",\"sn\":\"MEDIUM\"},\"failExpired\":false,\"govId\":\"ANY\",\"userIdAttribute\":\"fr-attr-istr1\",\"attributeMappingConfiguration\":{\"custom_verifiedFirstName\":\"firstName\",\"custom_verifiedLastName\":\"lastName\"},\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"dobVerification\":16,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyProofing\",\"name\":\"PingOne Verify Proofing\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 385, + "text": "{\"_id\":\"67f33640-a333-4172-8339-2346d873627c\",\"_rev\":\"1200634581\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"mail\",\"fr-attr-istr1\",\"fr-attr-istr2\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -51200,7 +64771,7 @@ }, { "name": "etag", - "value": "\"-689125243\"" + "value": "\"1200634581\"" }, { "name": "expires", @@ -51216,15 +64787,15 @@ }, { "name": "content-length", - "value": "1157" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51243,14 +64814,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.127Z", - "time": 151, + "startedDateTime": "2024-11-05T21:21:56.627Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -51258,11 +64829,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 151 + "wait": 106 } }, { - "_id": "84e116ac4a09568c9c14c31f0fff5318", + "_id": "a534efcec2889ae654e65898df86b86e", "_order": 0, "cache": {}, "request": { @@ -51283,7 +64854,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51302,18 +64873,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5fb1aa6-15fb-4251-93af-e9f86d99ac78" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/6b761fcb-3f19-489d-8273-0c2e6b49faca" }, "response": { - "bodySize": 297, + "bodySize": 373, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"_rev\":\"830648995\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 373, + "text": "{\"_id\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"_rev\":\"-1599400493\",\"nodes\":[{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51351,7 +64922,7 @@ }, { "name": "etag", - "value": "\"830648995\"" + "value": "\"-1599400493\"" }, { "name": "expires", @@ -51367,15 +64938,15 @@ }, { "name": "content-length", - "value": "297" + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51394,14 +64965,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.128Z", - "time": 113, + "startedDateTime": "2024-11-05T21:21:56.628Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -51409,11 +64980,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 113 + "wait": 71 } }, { - "_id": "de5cd3a1f43f5b0a9391d9b8589e56d1", + "_id": "0f68923d1fa41cd2672bed49d8130afe", "_order": 0, "cache": {}, "request": { @@ -51434,7 +65005,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51453,18 +65024,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/04547a28-07b1-4b22-9bcd-234fc327038a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/70f2653c-66e7-4787-96d1-6c56b0ffc9fd" }, "response": { - "bodySize": 308, + "bodySize": 472, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 308, - "text": "{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"_rev\":\"482232792\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 472, + "text": "{\"_id\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"_rev\":\"-230051618\",\"nodes\":[{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51502,7 +65073,7 @@ }, { "name": "etag", - "value": "\"482232792\"" + "value": "\"-230051618\"" }, { "name": "expires", @@ -51518,15 +65089,15 @@ }, { "name": "content-length", - "value": "308" + "value": "472" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51545,14 +65116,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.128Z", - "time": 114, + "startedDateTime": "2024-11-05T21:21:56.628Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -51560,11 +65131,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 114 + "wait": 98 } }, { - "_id": "3aa6e52f887a00969dc110a50fa10e75", + "_id": "aaa5ad4e99f054a0efd78bec510f4ea7", "_order": 0, "cache": {}, "request": { @@ -51585,7 +65156,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51604,18 +65175,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/24ea2978-9aa2-4be2-ae68-69ba1c60bdbf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7f0f546b-4d92-4450-9e0d-fc07830ea3db" }, "response": { - "bodySize": 298, + "bodySize": 478, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"_rev\":\"1833018919\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 478, + "text": "{\"_id\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"_rev\":\"1947303660\",\"nodes\":[{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Authentication Success\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51653,7 +65224,7 @@ }, { "name": "etag", - "value": "\"1833018919\"" + "value": "\"1947303660\"" }, { "name": "expires", @@ -51669,15 +65240,15 @@ }, { "name": "content-length", - "value": "298" + "value": "478" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51702,8 +65273,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.129Z", - "time": 122, + "startedDateTime": "2024-11-05T21:21:56.629Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -51711,11 +65282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 91 } }, { - "_id": "f8467fc963333ec73d15e05b7e2c50a5", + "_id": "9bf3a4869b8bc668f8e9a3beae99c92f", "_order": 0, "cache": {}, "request": { @@ -51736,7 +65307,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51755,18 +65326,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/19eb6cc1-d604-4bc1-a368-9505776477ba" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/91afb28b-6cb6-4bc4-b781-5802f7570da0" }, "response": { - "bodySize": 409, + "bodySize": 783, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 409, - "text": "{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"_rev\":\"-1446348543\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 783, + "text": "{\"_id\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\",\"_rev\":\"1928103398\",\"nodes\":[{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"nodeType\":\"PingOneVerifyAuthentication\",\"displayName\":\"Selfie AuthN\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the selfie authentication step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{\"en\":\"Authenticate Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -51804,7 +65375,7 @@ }, { "name": "etag", - "value": "\"-1446348543\"" + "value": "\"1928103398\"" }, { "name": "expires", @@ -51820,15 +65391,15 @@ }, { "name": "content-length", - "value": "409" + "value": "783" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51847,14 +65418,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.129Z", - "time": 218, + "startedDateTime": "2024-11-05T21:21:56.630Z", + "time": 114, "timings": { "blocked": -1, "connect": -1, @@ -51862,11 +65433,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 218 + "wait": 114 } }, { - "_id": "62f04904c8b10ed6efe66ec13de56fbb", + "_id": "1d952a60d49d2daa024cc0522e36eb7b", "_order": 0, "cache": {}, "request": { @@ -51887,7 +65458,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51906,18 +65477,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/936c098d-bd54-4f05-827c-ed36559518ac" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/98b783bd-e27d-4343-90bb-dc6cb6433347" }, "response": { - "bodySize": 299, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"_rev\":\"-1217331790\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 507, + "text": "{\"_id\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\",\"_rev\":\"-107768725\",\"nodes\":[{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"574800d6-a41f-42a3-b8d6-2d47eb57af90\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -51955,7 +65526,7 @@ }, { "name": "etag", - "value": "\"-1217331790\"" + "value": "\"-107768725\"" }, { "name": "expires", @@ -51971,15 +65542,15 @@ }, { "name": "content-length", - "value": "299" + "value": "507" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51998,14 +65569,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.130Z", - "time": 120, + "startedDateTime": "2024-11-05T21:21:56.631Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -52013,11 +65584,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 97 } }, { - "_id": "9e2b1514dd6fc8ec2b2cfc54dc3c14df", + "_id": "f89674604ee65b0b09a627fdc592a0a5", "_order": 0, "cache": {}, "request": { @@ -52038,7 +65609,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52057,18 +65628,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/e6bf6cf7-62d2-4498-9db9-727762eb9e81" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/96e7155e-be3d-4f15-8c50-8a299e0d68ce" }, "response": { - "bodySize": 407, + "bodySize": 506, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"_rev\":\"104729500\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 506, + "text": "{\"_id\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"_rev\":\"290584646\",\"nodes\":[{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -52106,7 +65677,7 @@ }, { "name": "etag", - "value": "\"104729500\"" + "value": "\"290584646\"" }, { "name": "expires", @@ -52122,15 +65693,15 @@ }, { "name": "content-length", - "value": "407" + "value": "506" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52155,8 +65726,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.130Z", - "time": 218, + "startedDateTime": "2024-11-05T21:21:56.631Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -52164,11 +65735,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 218 + "wait": 108 } }, { - "_id": "86f91c9474f0ad101642cab732b0aec9", + "_id": "0453563e0e8d1f2c0f4c54d2870433c5", "_order": 0, "cache": {}, "request": { @@ -52189,7 +65760,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52212,14 +65783,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/eed23b6a-4f3f-46e1-99fe-9b62de1ac27d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5ad6592-b37a-43fb-9202-117f6ef7b1c2" }, "response": { - "bodySize": 298, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"_rev\":\"-865724007\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 351, + "text": "{\"_id\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"_rev\":\"696883284\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -52257,7 +65828,7 @@ }, { "name": "etag", - "value": "\"-865724007\"" + "value": "\"696883284\"" }, { "name": "expires", @@ -52273,15 +65844,15 @@ }, { "name": "content-length", - "value": "298" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52300,14 +65871,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.131Z", - "time": 138, + "startedDateTime": "2024-11-05T21:21:56.632Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -52315,11 +65886,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 138 + "wait": 95 } }, { - "_id": "73becb9c72c02f852f10a9cbeb6d0e83", + "_id": "18de85895c9360d52e43c28fcc0a0cf8", "_order": 0, "cache": {}, "request": { @@ -52340,7 +65911,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52359,18 +65930,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2031, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeRegistration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/bb782509-821a-4dfb-ae28-52c3cf0ba52e" }, "response": { - "bodySize": 3139, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3139, - "text": "{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 337, + "text": "{\"_id\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\",\"_rev\":\"1266401107\",\"nodes\":[{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -52408,7 +65979,7 @@ }, { "name": "etag", - "value": "\"-1875023946\"" + "value": "\"1266401107\"" }, { "name": "expires", @@ -52424,15 +65995,15 @@ }, { "name": "content-length", - "value": "3139" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52451,14 +66022,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.353Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:56.632Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -52466,11 +66037,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 101 } }, { - "_id": "3dc610d9cef04383cf1e07f09349d84e", + "_id": "ce638f15249eca08af716bf39df79734", "_order": 0, "cache": {}, "request": { @@ -52491,7 +66062,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52514,14 +66085,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/029c508c-2c37-47b5-842d-6a914106995b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d801bc95-03d6-4733-ae64-6270d56cd1ff" }, "response": { - "bodySize": 511, + "bodySize": 476, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 511, - "text": "{\"_id\":\"029c508c-2c37-47b5-842d-6a914106995b\",\"_rev\":\"60444018\",\"nodes\":[{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"nodeType\":\"MessageNode\",\"displayName\":\"Verify or authenticate?\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Applicant Already Verified\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 476, + "text": "{\"_id\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"_rev\":\"-1567547517\",\"nodes\":[{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -52559,7 +66130,7 @@ }, { "name": "etag", - "value": "\"60444018\"" + "value": "\"-1567547517\"" }, { "name": "expires", @@ -52575,15 +66146,15 @@ }, { "name": "content-length", - "value": "511" + "value": "476" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52602,14 +66173,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.417Z", - "time": 91, + "startedDateTime": "2024-11-05T21:21:56.633Z", + "time": 117, "timings": { "blocked": -1, "connect": -1, @@ -52617,11 +66188,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 117 } }, { - "_id": "1e14edd32aba8863e90a3c9a158ccb7f", + "_id": "7c5befe301d962a595ed3a0cb774271e", "_order": 0, "cache": {}, "request": { @@ -52642,7 +66213,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52661,18 +66232,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/139d3499-ebe9-48aa-8230-a7ee11165f60" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1ecaf904-20be-401a-90bc-84b84fa3dfbf" }, "response": { - "bodySize": 296, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\",\"_rev\":\"1606441275\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"_rev\":\"-698499331\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -52710,7 +66281,7 @@ }, { "name": "etag", - "value": "\"1606441275\"" + "value": "\"-698499331\"" }, { "name": "expires", @@ -52726,15 +66297,15 @@ }, { "name": "content-length", - "value": "296" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52759,159 +66330,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.418Z", - "time": 68, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 68 - } - }, - { - "_id": "07c360cc287fd6d043725b3ef0067fae", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1f503e47-5b59-4ff3-950b-d86f75daedd9" - }, - "response": { - "bodySize": 520, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 520, - "text": "{\"_id\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"_rev\":\"-1823189144\",\"nodes\":[{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attributes\"}],\"pageDescription\":{\"en\":\"Please provide the applicant/interviewee's first name, last name, private email address, and mobile phone number to start the process\"},\"pageHeader\":{\"en\":\"Register Applicant/Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1823189144\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "520" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:06.419Z", - "time": 67, + "startedDateTime": "2024-11-05T21:21:56.758Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -52919,11 +66339,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 82 } }, { - "_id": "8d69460c75cf004fd52def670402497c", + "_id": "12e67e53901cb01b31379b38162306a7", "_order": 0, "cache": {}, "request": { @@ -52944,7 +66364,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52963,18 +66383,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1e4264ea-7329-4ab6-b536-2990ba2ff6c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbfe448f-b242-4c96-9191-9140d8d13f14" }, "response": { - "bodySize": 460, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 460, - "text": "{\"_id\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\",\"_rev\":\"-848074132\",\"nodes\":[{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"There was an error registering the applicant. Please contact your system administrator.\"},\"pageHeader\":{\"en\":\"Error Creating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"_rev\":\"490200773\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53012,7 +66432,7 @@ }, { "name": "etag", - "value": "\"-848074132\"" + "value": "\"490200773\"" }, { "name": "expires", @@ -53028,15 +66448,15 @@ }, { "name": "content-length", - "value": "460" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53055,14 +66475,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.419Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:56.759Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -53070,11 +66490,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 82 } }, { - "_id": "2500ecf3ffa8a3c7c8a4092828be41e8", + "_id": "156ed0376f255d79b1a0ff36432239d4", "_order": 0, "cache": {}, "request": { @@ -53095,7 +66515,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53114,18 +66534,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/2295c6bc-6eb5-4822-978e-640312c34ea0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/81523af4-3a82-4df7-9d9c-e45fc1e3d5f3" }, "response": { - "bodySize": 282, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 282, - "text": "{\"_id\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"_rev\":\"-790301059\",\"tree\":\"IntervieweeSelfieAuthentication\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"_rev\":\"1725318053\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53163,7 +66583,7 @@ }, { "name": "etag", - "value": "\"-790301059\"" + "value": "\"1725318053\"" }, { "name": "expires", @@ -53179,15 +66599,15 @@ }, { "name": "content-length", - "value": "282" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53212,8 +66632,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.420Z", - "time": 90, + "startedDateTime": "2024-11-05T21:21:56.759Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -53221,11 +66641,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 83 } }, { - "_id": "a20e30af6e61bdf1a5964d71314e2ac1", + "_id": "6d1d04949c9ce9ec12c55d66c4c7b43e", "_order": 0, "cache": {}, "request": { @@ -53246,7 +66666,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53265,18 +66685,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/5214b99f-fd80-4f25-8798-4530eea5e3cb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/178ad9e5-7825-40bb-a426-ae991d0ffcea" }, "response": { - "bodySize": 278, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\",\"_rev\":\"-1759589056\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 297, + "text": "{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"_rev\":\"962194756\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53314,7 +66734,7 @@ }, { "name": "etag", - "value": "\"-1759589056\"" + "value": "\"962194756\"" }, { "name": "expires", @@ -53330,15 +66750,15 @@ }, { "name": "content-length", - "value": "278" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53357,14 +66777,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.420Z", - "time": 220, + "startedDateTime": "2024-11-05T21:21:56.760Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -53372,11 +66792,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 220 + "wait": 94 } }, { - "_id": "615e3ff2fccfe52fdbe2c6264c2b01af", + "_id": "69ec96f871c29f256ebeec7d9b4193c1", "_order": 0, "cache": {}, "request": { @@ -53397,7 +66817,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53420,14 +66840,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5a52a154-9bc9-461a-aee2-85e9cfb34fd9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/03eae59a-d184-482e-82a7-ad0a99d5ee6e" }, "response": { - "bodySize": 299, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"_rev\":\"-1913029374\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"_rev\":\"863390414\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53465,7 +66885,7 @@ }, { "name": "etag", - "value": "\"-1913029374\"" + "value": "\"863390414\"" }, { "name": "expires", @@ -53481,15 +66901,15 @@ }, { "name": "content-length", - "value": "299" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53508,14 +66928,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.421Z", - "time": 75, + "startedDateTime": "2024-11-05T21:21:56.761Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -53523,11 +66943,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 72 } }, { - "_id": "ef6b9ee63112aa5e91b2143e20607b39", + "_id": "d41e34b5495be81d7bf4fad9b32c9584", "_order": 0, "cache": {}, "request": { @@ -53548,7 +66968,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53567,18 +66987,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2072, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ae3b66b6-f4b1-4b40-ad90-f478a9c766a2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyAuthentication/e08c5232-2b8c-4d40-958b-2cb5a261d5e6" }, "response": { - "bodySize": 298, + "bodySize": 948, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"_rev\":\"1000446242\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 948, + "text": "{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"_rev\":\"859385059\",\"saveMetadata\":false,\"tsTransactionId\":false,\"userNotification\":\"QR\",\"pictureAttribute\":\"fr-attr-str1\",\"tsAccessToken\":false,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"verifyPolicyId\":\"b10955bd-bf7d-46ba-89ce-f2be16dd1533\",\"userIdAttribute\":\"fr-attr-istr1\",\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyAuthentication\",\"name\":\"PingOne Verify Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -53616,7 +67036,7 @@ }, { "name": "etag", - "value": "\"1000446242\"" + "value": "\"859385059\"" }, { "name": "expires", @@ -53632,15 +67052,15 @@ }, { "name": "content-length", - "value": "298" + "value": "948" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53659,14 +67079,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.421Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:56.761Z", + "time": 121, "timings": { "blocked": -1, "connect": -1, @@ -53674,11 +67094,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 121 } }, { - "_id": "a070e2f242233bec4cbca1c0a06484a5", + "_id": "d3c09b159eaa5e34a233574eb2a3b643", "_order": 0, "cache": {}, "request": { @@ -53699,7 +67119,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53718,18 +67138,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b5ca1e74-ee28-45ef-95ee-bf53e1ead142" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/7d73a04b-47bc-4466-9ad4-950a78b63fd6" }, "response": { - "bodySize": 278, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"_rev\":\"1358720253\",\"tree\":\"IntervieweeFullVerification\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 407, + "text": "{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"_rev\":\"-84977214\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -53767,7 +67187,7 @@ }, { "name": "etag", - "value": "\"1358720253\"" + "value": "\"-84977214\"" }, { "name": "expires", @@ -53783,15 +67203,15 @@ }, { "name": "content-length", - "value": "278" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53810,14 +67230,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.422Z", - "time": 102, + "startedDateTime": "2024-11-05T21:21:56.762Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -53825,11 +67245,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 102 + "wait": 92 } }, { - "_id": "a34959304691127535b0e9d328ad2a85", + "_id": "d6a9ae78c973d5fcf954161565bcb7cd", "_order": 0, "cache": {}, "request": { @@ -53850,7 +67270,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53869,18 +67289,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2071, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeValueDecisionNode/af9a8a68-571a-4434-9b3d-bc84e4ec6fb6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/574800d6-a41f-42a3-b8d6-2d47eb57af90" }, "response": { - "bodySize": 398, + "bodySize": 406, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 398, - "text": "{\"_id\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\",\"_rev\":\"-1500957064\",\"comparisonValue\":\"Successfully verified\",\"comparisonOperation\":\"EQUALS\",\"identityAttribute\":\"userName\",\"comparisonAttribute\":\"custom_verifyStatus\",\"_type\":{\"_id\":\"AttributeValueDecisionNode\",\"name\":\"Attribute Value Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 406, + "text": "{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"_rev\":\"71466281\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -53918,7 +67338,7 @@ }, { "name": "etag", - "value": "\"-1500957064\"" + "value": "\"71466281\"" }, { "name": "expires", @@ -53934,15 +67354,15 @@ }, { "name": "content-length", - "value": "398" + "value": "406" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53961,14 +67381,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.422Z", - "time": 205, + "startedDateTime": "2024-11-05T21:21:56.762Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -53976,11 +67396,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 205 + "wait": 92 } }, { - "_id": "3915bc58d77b250cf5552904468b4544", + "_id": "fbba904684c17ceed508c45d0caa911d", "_order": 0, "cache": {}, "request": { @@ -54001,7 +67421,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54020,18 +67440,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d31ee3a0-9b8d-4f72-9037-deb2eb27268a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d45a23ef-ac2f-49dc-a071-24ea69342c58" }, "response": { - "bodySize": 346, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\",\"_rev\":\"283483699\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 309, + "text": "{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"_rev\":\"-914547284\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54069,7 +67489,7 @@ }, { "name": "etag", - "value": "\"283483699\"" + "value": "\"-914547284\"" }, { "name": "expires", @@ -54085,15 +67505,15 @@ }, { "name": "content-length", - "value": "346" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54112,14 +67532,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.423Z", - "time": 119, + "startedDateTime": "2024-11-05T21:21:56.763Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -54127,11 +67547,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 119 + "wait": 90 } }, { - "_id": "7cbed60d62324a0d6a8dcfe9529a5bc2", + "_id": "95bc75bbbb6a99ddc8439dadf2d0d1d7", "_order": 0, "cache": {}, "request": { @@ -54152,7 +67572,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54171,18 +67591,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/ed269417-887d-4e6a-9569-ca3cae6f0424" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2bb843f4-e864-49c4-a432-a6bfc020bf54" }, "response": { - "bodySize": 514, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 514, - "text": "{\"_id\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"_rev\":\"238119602\",\"nodes\":[{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"An error occurred updating the account.\"},\"pageHeader\":{\"en\":\"Error Updating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"_rev\":\"-1575742054\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -54220,7 +67640,7 @@ }, { "name": "etag", - "value": "\"238119602\"" + "value": "\"-1575742054\"" }, { "name": "expires", @@ -54236,15 +67656,15 @@ }, { "name": "content-length", - "value": "514" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54263,14 +67683,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.424Z", - "time": 123, + "startedDateTime": "2024-11-05T21:21:56.764Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -54278,11 +67698,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 123 + "wait": 78 } }, { - "_id": "c98ee7116f63679c137fb0efc4761c6b", + "_id": "9acbb847e83730ad45d4010a9b68ccc7", "_order": 0, "cache": {}, "request": { @@ -54303,7 +67723,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54326,14 +67746,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/efa28d41-24b0-405d-8add-ae6baba145e4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/19562a6f-aae4-4925-a5db-7785862d504b" }, "response": { "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", "size": 297, - "text": "{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"_rev\":\"174471277\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"_rev\":\"201363834\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -54371,7 +67791,7 @@ }, { "name": "etag", - "value": "\"174471277\"" + "value": "\"201363834\"" }, { "name": "expires", @@ -54391,11 +67811,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54420,8 +67840,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.646Z", - "time": 68, + "startedDateTime": "2024-11-05T21:21:56.764Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -54429,11 +67849,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 106 } }, { - "_id": "5ed91472058d958b788e63525a1a6d32", + "_id": "068ccca0c79d44d8cb3d1dd614b6f5f8", "_order": 0, "cache": {}, "request": { @@ -54454,7 +67874,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54473,18 +67893,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2013, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Login" }, "response": { - "bodySize": 299, + "bodySize": 1882, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"_rev\":\"-1174532609\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1882, + "text": "{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -54522,7 +67942,7 @@ }, { "name": "etag", - "value": "\"-1174532609\"" + "value": "\"-550824128\"" }, { "name": "expires", @@ -54538,15 +67958,15 @@ }, { "name": "content-length", - "value": "299" + "value": "1882" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54571,8 +67991,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.647Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:56.888Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -54580,11 +68000,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 58 } }, { - "_id": "48ceef8ee7a8cef6e223ed8e5e9db697", + "_id": "28fe8a0e6eb1482b85cdbce70e0ca073", "_order": 0, "cache": {}, "request": { @@ -54605,7 +68025,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54624,18 +68044,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/b3cb17c3-1066-4daa-87b8-e8902f84c650" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" }, "response": { - "bodySize": 375, + "bodySize": 270, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 375, - "text": "{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"_rev\":\"1747003890\",\"messageYes\":{\"en\":\"Verify again\"},\"message\":{\"en\":\"This applicant has already been successfully verified.\"},\"messageNo\":{\"et\":\"Authenticate applicant\"},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 270, + "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -54673,7 +68093,7 @@ }, { "name": "etag", - "value": "\"1747003890\"" + "value": "\"-1405518667\"" }, { "name": "expires", @@ -54689,15 +68109,15 @@ }, { "name": "content-length", - "value": "375" + "value": "270" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54716,14 +68136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.647Z", - "time": 73, + "startedDateTime": "2024-11-05T21:21:56.952Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -54731,11 +68151,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 75 } }, { - "_id": "65c074793fa0fa147989ddb5ed076706", + "_id": "e9bc69151386b556705aedeae4838a65", "_order": 0, "cache": {}, "request": { @@ -54756,7 +68176,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54775,18 +68195,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d1513615-96e6-483a-b169-f465fbea4acc" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" }, "response": { - "bodySize": 344, + "bodySize": 670, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 344, - "text": "{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"_rev\":\"-646604869\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"telephoneNumber\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 670, + "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54824,7 +68244,7 @@ }, { "name": "etag", - "value": "\"-646604869\"" + "value": "\"-1594114\"" }, { "name": "expires", @@ -54840,15 +68260,15 @@ }, { "name": "content-length", - "value": "344" + "value": "670" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54867,14 +68287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.648Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:56.953Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -54882,11 +68302,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 78 } }, { - "_id": "bbbbd2fe5d2ff5fda6141f175d5e113f", + "_id": "ffc1b8fc95e5fa202d119157e85b3c59", "_order": 0, "cache": {}, "request": { @@ -54907,7 +68327,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54926,18 +68346,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2063, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c8376489-5929-476e-bb5a-5b3b7a24084b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/76b5e15c-493c-47dc-b813-01cbc74c5a85" }, "response": { - "bodySize": 298, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"_rev\":\"1155028337\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 221, + "text": "{\"_id\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"_rev\":\"1359876658\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54975,7 +68395,7 @@ }, { "name": "etag", - "value": "\"1155028337\"" + "value": "\"1359876658\"" }, { "name": "expires", @@ -54991,15 +68411,15 @@ }, { "name": "content-length", - "value": "298" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55024,8 +68444,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.648Z", - "time": 80, + "startedDateTime": "2024-11-05T21:21:56.953Z", + "time": 102, "timings": { "blocked": -1, "connect": -1, @@ -55033,11 +68453,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 102 } }, { - "_id": "e830279b72c892c359a8ae5e1b97cc41", + "_id": "af8bde9335410501714a11109ad620ae", "_order": 0, "cache": {}, "request": { @@ -55058,7 +68478,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55077,18 +68497,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/7a17bd74-d6b0-4f33-993d-1ec9e9700cc4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/a30b1258-4c35-4ebe-90f3-c11fced9b1e4" }, "response": { - "bodySize": 298, + "bodySize": 476, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"_rev\":\"-900243412\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 476, + "text": "{\"_id\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\",\"_rev\":\"-1414527552\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -55126,7 +68546,7 @@ }, { "name": "etag", - "value": "\"-900243412\"" + "value": "\"-1414527552\"" }, { "name": "expires", @@ -55142,15 +68562,15 @@ }, { "name": "content-length", - "value": "298" + "value": "476" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55169,14 +68589,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.649Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:56.954Z", + "time": 99, "timings": { "blocked": -1, "connect": -1, @@ -55184,11 +68604,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 99 } }, { - "_id": "2cc535855c355eb5c21c0252d8509b15", + "_id": "956a8de08167e7464c4e05451421e5bd", "_order": 0, "cache": {}, "request": { @@ -55209,7 +68629,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55228,18 +68648,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2039, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeSelfieAuthentication" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" }, "response": { - "bodySize": 2985, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2985, - "text": "{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true}" + "size": 243, + "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55277,7 +68697,7 @@ }, { "name": "etag", - "value": "\"458768360\"" + "value": "\"2098371942\"" }, { "name": "expires", @@ -55293,15 +68713,15 @@ }, { "name": "content-length", - "value": "2985" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55326,8 +68746,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.733Z", - "time": 63, + "startedDateTime": "2024-11-05T21:21:56.954Z", + "time": 115, "timings": { "blocked": -1, "connect": -1, @@ -55335,11 +68755,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 115 } }, { - "_id": "a968e7c07f8d3c0aaa4d885f72363cf8", + "_id": "26ac41a7684089009e0385ad4c03f286", "_order": 0, "cache": {}, "request": { @@ -55360,7 +68780,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55379,18 +68799,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/290f65ae-de1a-40be-9c3c-c0174decb0a2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/feecdfb1-386c-423f-b4a0-05cf6b05f783" }, "response": { - "bodySize": 296, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"_rev\":\"1417349727\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 300, + "text": "{\"_id\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"_rev\":\"-1192960910\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -55428,7 +68848,7 @@ }, { "name": "etag", - "value": "\"1417349727\"" + "value": "\"-1192960910\"" }, { "name": "expires", @@ -55444,15 +68864,15 @@ }, { "name": "content-length", - "value": "296" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55471,14 +68891,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.802Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:56.955Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -55486,11 +68906,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 100 } }, { - "_id": "bdf0e3944340bd77e6b6ef22573a5e7f", + "_id": "ef08d5997740d7de0eb6229ab2d09402", "_order": 0, "cache": {}, "request": { @@ -55511,7 +68931,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55530,18 +68950,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/67f33640-a333-4172-8339-2346d873627c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" }, "response": { - "bodySize": 385, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"67f33640-a333-4172-8339-2346d873627c\",\"_rev\":\"1200634581\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"mail\",\"fr-attr-istr1\",\"fr-attr-istr2\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 260, + "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55579,7 +68999,7 @@ }, { "name": "etag", - "value": "\"1200634581\"" + "value": "\"-2064640544\"" }, { "name": "expires", @@ -55595,15 +69015,15 @@ }, { "name": "content-length", - "value": "385" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55622,14 +69042,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.803Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:57.075Z", + "time": 114, "timings": { "blocked": -1, "connect": -1, @@ -55637,11 +69057,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 114 } }, { - "_id": "a534efcec2889ae654e65898df86b86e", + "_id": "625171232a69b9ba0d9b733ac85fc964", "_order": 0, "cache": {}, "request": { @@ -55662,7 +69082,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55681,18 +69101,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/6b761fcb-3f19-489d-8273-0c2e6b49faca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" }, "response": { - "bodySize": 373, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"_rev\":\"-1599400493\",\"nodes\":[{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 260, + "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55730,7 +69150,7 @@ }, { "name": "etag", - "value": "\"-1599400493\"" + "value": "\"-1763423776\"" }, { "name": "expires", @@ -55746,15 +69166,15 @@ }, { "name": "content-length", - "value": "373" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55779,8 +69199,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.804Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:57.076Z", + "time": 161, "timings": { "blocked": -1, "connect": -1, @@ -55788,11 +69208,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 161 } }, { - "_id": "0f68923d1fa41cd2672bed49d8130afe", + "_id": "5e3713a08184faad025ec3756bb20c22", "_order": 0, "cache": {}, "request": { @@ -55813,7 +69233,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55832,18 +69252,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2026, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/70f2653c-66e7-4787-96d1-6c56b0ffc9fd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" }, "response": { - "bodySize": 472, + "bodySize": 1354, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 472, - "text": "{\"_id\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"_rev\":\"-230051618\",\"nodes\":[{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1354, + "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -55881,7 +69301,7 @@ }, { "name": "etag", - "value": "\"-230051618\"" + "value": "\"-1028934999\"" }, { "name": "expires", @@ -55897,15 +69317,166 @@ }, { "name": "content-length", - "value": "472" + "value": "1354" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:57.244Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "fc6663be597355a91aa944a1a91ad128", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2060, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" + }, + "response": { + "bodySize": 347, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 347, + "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"-253417055\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-253417055\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "347" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:57 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55930,8 +69501,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.804Z", - "time": 105, + "startedDateTime": "2024-11-05T21:21:57.316Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -55939,11 +69510,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 105 + "wait": 70 } }, { - "_id": "f89674604ee65b0b09a627fdc592a0a5", + "_id": "06de0395774c6d77438c16bd46c5b971", "_order": 0, "cache": {}, "request": { @@ -55964,7 +69535,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55983,18 +69554,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/96e7155e-be3d-4f15-8c50-8a299e0d68ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" }, "response": { - "bodySize": 506, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 506, - "text": "{\"_id\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"_rev\":\"290584646\",\"nodes\":[{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 300, + "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -56032,7 +69603,7 @@ }, { "name": "etag", - "value": "\"290584646\"" + "value": "\"-1679047423\"" }, { "name": "expires", @@ -56048,15 +69619,15 @@ }, { "name": "content-length", - "value": "506" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56075,14 +69646,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.805Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:57.317Z", + "time": 102, "timings": { "blocked": -1, "connect": -1, @@ -56090,11 +69661,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 102 } }, { - "_id": "aaa5ad4e99f054a0efd78bec510f4ea7", + "_id": "eb866e91e5d9e1463b8e3e26f3001676", "_order": 0, "cache": {}, "request": { @@ -56115,7 +69686,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56138,14 +69709,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7f0f546b-4d92-4450-9e0d-fc07830ea3db" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" }, "response": { - "bodySize": 478, + "bodySize": 387, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 478, - "text": "{\"_id\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"_rev\":\"1947303660\",\"nodes\":[{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Authentication Success\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 387, + "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56183,7 +69754,7 @@ }, { "name": "etag", - "value": "\"1947303660\"" + "value": "\"380010937\"" }, { "name": "expires", @@ -56199,15 +69770,15 @@ }, { "name": "content-length", - "value": "478" + "value": "387" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56226,14 +69797,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.805Z", - "time": 99, + "startedDateTime": "2024-11-05T21:21:57.318Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -56241,11 +69812,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 99 + "wait": 74 } }, { - "_id": "9bf3a4869b8bc668f8e9a3beae99c92f", + "_id": "e54780e832feb2aef240f7f91b99ef0b", "_order": 0, "cache": {}, "request": { @@ -56266,7 +69837,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56285,18 +69856,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/91afb28b-6cb6-4bc4-b781-5802f7570da0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" }, "response": { - "bodySize": 783, + "bodySize": 378, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 783, - "text": "{\"_id\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\",\"_rev\":\"1928103398\",\"nodes\":[{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"nodeType\":\"PingOneVerifyAuthentication\",\"displayName\":\"Selfie AuthN\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the selfie authentication step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{\"en\":\"Authenticate Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 378, + "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -56334,7 +69905,7 @@ }, { "name": "etag", - "value": "\"1928103398\"" + "value": "\"-1852493841\"" }, { "name": "expires", @@ -56350,15 +69921,15 @@ }, { "name": "content-length", - "value": "783" + "value": "378" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56377,14 +69948,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.805Z", - "time": 119, + "startedDateTime": "2024-11-05T21:21:57.318Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -56392,11 +69963,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 119 + "wait": 100 } }, { - "_id": "1d952a60d49d2daa024cc0522e36eb7b", + "_id": "2d3d785d17fdb2276a0198975add657a", "_order": 0, "cache": {}, "request": { @@ -56417,7 +69988,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56436,18 +70007,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/98b783bd-e27d-4343-90bb-dc6cb6433347" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" }, "response": { - "bodySize": 507, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\",\"_rev\":\"-107768725\",\"nodes\":[{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"574800d6-a41f-42a3-b8d6-2d47eb57af90\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 351, + "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56485,7 +70056,7 @@ }, { "name": "etag", - "value": "\"-107768725\"" + "value": "\"-1210529544\"" }, { "name": "expires", @@ -56501,15 +70072,15 @@ }, { "name": "content-length", - "value": "507" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56528,14 +70099,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.806Z", - "time": 100, + "startedDateTime": "2024-11-05T21:21:57.423Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -56543,11 +70114,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 68 } }, { - "_id": "0453563e0e8d1f2c0f4c54d2870433c5", + "_id": "15ec74a34e5fe348ef62f880925dc5a7", "_order": 0, "cache": {}, "request": { @@ -56568,7 +70139,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56587,18 +70158,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5ad6592-b37a-43fb-9202-117f6ef7b1c2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Registration" }, "response": { - "bodySize": 351, + "bodySize": 1239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"_rev\":\"696883284\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 1239, + "text": "{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -56636,7 +70207,7 @@ }, { "name": "etag", - "value": "\"696883284\"" + "value": "\"1002362847\"" }, { "name": "expires", @@ -56652,15 +70223,15 @@ }, { "name": "content-length", - "value": "351" + "value": "1239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56679,14 +70250,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.806Z", - "time": 131, + "startedDateTime": "2024-11-05T21:21:57.497Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -56694,11 +70265,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 131 + "wait": 74 } }, { - "_id": "18de85895c9360d52e43c28fcc0a0cf8", + "_id": "ff914b33859f57859f3bc5bca71cb90d", "_order": 0, "cache": {}, "request": { @@ -56719,7 +70290,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56742,14 +70313,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/bb782509-821a-4dfb-ae28-52c3cf0ba52e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" }, "response": { - "bodySize": 337, + "bodySize": 935, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\",\"_rev\":\"1266401107\",\"nodes\":[{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 935, + "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"762531723\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56787,7 +70358,7 @@ }, { "name": "etag", - "value": "\"1266401107\"" + "value": "\"762531723\"" }, { "name": "expires", @@ -56803,15 +70374,15 @@ }, { "name": "content-length", - "value": "337" + "value": "935" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56830,14 +70401,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.807Z", - "time": 109, + "startedDateTime": "2024-11-05T21:21:57.575Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -56845,11 +70416,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 109 + "wait": 76 } }, { - "_id": "ce638f15249eca08af716bf39df79734", + "_id": "a88fc3fe56070852dfc8b510ce31e8a4", "_order": 0, "cache": {}, "request": { @@ -56870,7 +70441,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56889,18 +70460,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d801bc95-03d6-4733-ae64-6270d56cd1ff" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/6b70de2f-a625-4957-93d9-37005e33e6e1" }, "response": { - "bodySize": 476, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 476, - "text": "{\"_id\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"_rev\":\"-1567547517\",\"nodes\":[{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 436, + "text": "{\"_id\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\",\"_rev\":\"-727001800\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56938,7 +70509,7 @@ }, { "name": "etag", - "value": "\"-1567547517\"" + "value": "\"-727001800\"" }, { "name": "expires", @@ -56954,15 +70525,15 @@ }, { "name": "content-length", - "value": "476" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:06 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56981,14 +70552,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.807Z", - "time": 139, + "startedDateTime": "2024-11-05T21:21:57.576Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -56996,11 +70567,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 139 + "wait": 80 } }, { - "_id": "12e67e53901cb01b31379b38162306a7", + "_id": "2de680ea4e77e8317077be5718c39f5e", "_order": 0, "cache": {}, "request": { @@ -57021,7 +70592,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57040,18 +70611,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbfe448f-b242-4c96-9191-9140d8d13f14" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" }, "response": { - "bodySize": 297, + "bodySize": 277, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"_rev\":\"490200773\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 277, + "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"2141109171\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -57089,7 +70660,7 @@ }, { "name": "etag", - "value": "\"490200773\"" + "value": "\"2141109171\"" }, { "name": "expires", @@ -57105,15 +70676,15 @@ }, { "name": "content-length", - "value": "297" + "value": "277" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57132,14 +70703,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.952Z", - "time": 73, + "startedDateTime": "2024-11-05T21:21:57.577Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -57147,11 +70718,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 75 } }, { - "_id": "7c5befe301d962a595ed3a0cb774271e", + "_id": "51c0095f0a8fcf4682569c152122c47b", "_order": 0, "cache": {}, "request": { @@ -57172,7 +70743,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57191,18 +70762,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1ecaf904-20be-401a-90bc-84b84fa3dfbf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" }, "response": { - "bodySize": 298, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"_rev\":\"-698499331\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 243, + "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57240,7 +70811,7 @@ }, { "name": "etag", - "value": "\"-698499331\"" + "value": "\"-841385771\"" }, { "name": "expires", @@ -57256,15 +70827,15 @@ }, { "name": "content-length", - "value": "298" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57289,8 +70860,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.952Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:57.577Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -57298,11 +70869,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 76 } }, { - "_id": "156ed0376f255d79b1a0ff36432239d4", + "_id": "e5f47a9bcaa4cbbb003d008b5ebc8129", "_order": 0, "cache": {}, "request": { @@ -57323,7 +70894,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57342,18 +70913,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/81523af4-3a82-4df7-9d9c-e45fc1e3d5f3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" }, "response": { - "bodySize": 298, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"_rev\":\"1725318053\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 258, + "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57391,7 +70962,7 @@ }, { "name": "etag", - "value": "\"1725318053\"" + "value": "\"1966656034\"" }, { "name": "expires", @@ -57407,15 +70978,15 @@ }, { "name": "content-length", - "value": "298" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57440,8 +71011,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.953Z", - "time": 94, + "startedDateTime": "2024-11-05T21:21:57.662Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -57449,11 +71020,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 73 } }, { - "_id": "6d1d04949c9ce9ec12c55d66c4c7b43e", + "_id": "5e811935176ed275afbc2cd1316332ee", "_order": 0, "cache": {}, "request": { @@ -57474,7 +71045,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57493,18 +71064,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/178ad9e5-7825-40bb-a426-ae991d0ffcea" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" }, "response": { - "bodySize": 297, + "bodySize": 373, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"_rev\":\"962194756\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 373, + "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57542,7 +71113,7 @@ }, { "name": "etag", - "value": "\"962194756\"" + "value": "\"-1158802257\"" }, { "name": "expires", @@ -57558,15 +71129,15 @@ }, { "name": "content-length", - "value": "297" + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57585,14 +71156,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.953Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:57.663Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -57600,11 +71171,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 73 } }, { - "_id": "69ec96f871c29f256ebeec7d9b4193c1", + "_id": "d33943dc353e60f14ed6ad191bc79bb9", "_order": 0, "cache": {}, "request": { @@ -57625,7 +71196,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57644,18 +71215,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/03eae59a-d184-482e-82a7-ad0a99d5ee6e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" }, "response": { - "bodySize": 297, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"_rev\":\"863390414\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 259, + "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57693,7 +71264,7 @@ }, { "name": "etag", - "value": "\"863390414\"" + "value": "\"-1470058997\"" }, { "name": "expires", @@ -57709,15 +71280,15 @@ }, { "name": "content-length", - "value": "297" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57736,14 +71307,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.954Z", - "time": 92, + "startedDateTime": "2024-11-05T21:21:57.664Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -57751,11 +71322,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 80 } }, { - "_id": "d41e34b5495be81d7bf4fad9b32c9584", + "_id": "103bd7d2b1b498a32dd3d684a6f0e87f", "_order": 0, "cache": {}, "request": { @@ -57776,7 +71347,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57795,18 +71366,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2072, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyAuthentication/e08c5232-2b8c-4d40-958b-2cb5a261d5e6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" }, "response": { - "bodySize": 948, + "bodySize": 272, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 948, - "text": "{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"_rev\":\"859385059\",\"saveMetadata\":false,\"tsTransactionId\":false,\"userNotification\":\"QR\",\"pictureAttribute\":\"fr-attr-str1\",\"tsAccessToken\":false,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"verifyPolicyId\":\"b10955bd-bf7d-46ba-89ce-f2be16dd1533\",\"userIdAttribute\":\"fr-attr-istr1\",\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyAuthentication\",\"name\":\"PingOne Verify Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 272, + "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57844,7 +71415,7 @@ }, { "name": "etag", - "value": "\"859385059\"" + "value": "\"-8134977\"" }, { "name": "expires", @@ -57860,15 +71431,15 @@ }, { "name": "content-length", - "value": "948" + "value": "272" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57887,14 +71458,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.954Z", - "time": 133, + "startedDateTime": "2024-11-05T21:21:57.664Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -57902,11 +71473,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 133 + "wait": 106 } }, { - "_id": "d6a9ae78c973d5fcf954161565bcb7cd", + "_id": "e1a9a2495f60c6036bd9bf1719e46085", "_order": 0, "cache": {}, "request": { @@ -57927,7 +71498,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57946,18 +71517,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/574800d6-a41f-42a3-b8d6-2d47eb57af90" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" }, "response": { - "bodySize": 406, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 406, - "text": "{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"_rev\":\"71466281\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 223, + "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57995,7 +71566,7 @@ }, { "name": "etag", - "value": "\"71466281\"" + "value": "\"1508860909\"" }, { "name": "expires", @@ -58011,15 +71582,15 @@ }, { "name": "content-length", - "value": "406" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58038,14 +71609,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.955Z", - "time": 92, + "startedDateTime": "2024-11-05T21:21:57.665Z", + "time": 105, "timings": { "blocked": -1, "connect": -1, @@ -58053,11 +71624,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 105 } }, { - "_id": "d3c09b159eaa5e34a233574eb2a3b643", + "_id": "7d33552ed556d33d7a33d438ee0bc2ca", "_order": 0, "cache": {}, "request": { @@ -58078,7 +71649,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58097,18 +71668,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2021, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/7d73a04b-47bc-4466-9ad4-950a78b63fd6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ResetPassword" }, "response": { - "bodySize": 407, + "bodySize": 1436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"_rev\":\"-84977214\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1436, + "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -58146,7 +71717,7 @@ }, { "name": "etag", - "value": "\"-84977214\"" + "value": "\"-2043431286\"" }, { "name": "expires", @@ -58162,15 +71733,15 @@ }, { "name": "content-length", - "value": "407" + "value": "1436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58189,14 +71760,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.955Z", - "time": 101, + "startedDateTime": "2024-11-05T21:21:57.775Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -58204,11 +71775,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 59 } }, { - "_id": "95bc75bbbb6a99ddc8439dadf2d0d1d7", + "_id": "71b67696b90c8ffb0962981615f590c6", "_order": 0, "cache": {}, "request": { @@ -58229,7 +71800,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58248,18 +71819,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2bb843f4-e864-49c4-a432-a6bfc020bf54" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" }, "response": { - "bodySize": 299, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"_rev\":\"-1575742054\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 433, + "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58297,7 +71868,7 @@ }, { "name": "etag", - "value": "\"-1575742054\"" + "value": "\"-1138066714\"" }, { "name": "expires", @@ -58313,15 +71884,15 @@ }, { "name": "content-length", - "value": "299" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58346,8 +71917,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.956Z", - "time": 97, + "startedDateTime": "2024-11-05T21:21:57.840Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -58355,11 +71926,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 69 } }, { - "_id": "fbba904684c17ceed508c45d0caa911d", + "_id": "42491f5a58a5654c29968d87e0796bdd", "_order": 0, "cache": {}, "request": { @@ -58380,7 +71951,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58399,18 +71970,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d45a23ef-ac2f-49dc-a071-24ea69342c58" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" }, "response": { - "bodySize": 309, + "bodySize": 343, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"_rev\":\"-914547284\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 343, + "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"-986085110\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -58448,7 +72019,7 @@ }, { "name": "etag", - "value": "\"-914547284\"" + "value": "\"-986085110\"" }, { "name": "expires", @@ -58464,15 +72035,15 @@ }, { "name": "content-length", - "value": "309" + "value": "343" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58497,8 +72068,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.956Z", - "time": 98, + "startedDateTime": "2024-11-05T21:21:57.841Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -58506,11 +72077,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 78 } }, { - "_id": "9acbb847e83730ad45d4010a9b68ccc7", + "_id": "5886ec22c2565c213eeec24bd416f042", "_order": 0, "cache": {}, "request": { @@ -58531,7 +72102,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58550,18 +72121,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/19562a6f-aae4-4925-a5db-7785862d504b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" }, "response": { - "bodySize": 297, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"_rev\":\"201363834\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 295, + "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58599,7 +72170,7 @@ }, { "name": "etag", - "value": "\"201363834\"" + "value": "\"402776485\"" }, { "name": "expires", @@ -58615,15 +72186,15 @@ }, { "name": "content-length", - "value": "297" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58648,8 +72219,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:06.957Z", - "time": 109, + "startedDateTime": "2024-11-05T21:21:57.841Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -58657,11 +72228,162 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 109 + "wait": 84 } }, { - "_id": "068ccca0c79d44d8cb3d1dd614b6f5f8", + "_id": "773116cf47edc2a7e7b3579baf8699cb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2053, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" + }, + "response": { + "bodySize": 444, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 444, + "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"86486605\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "444" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:57 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 784, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:57.842Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + }, + { + "_id": "a29b15509bfa143274bd3ea0b788b0b5", "_order": 0, "cache": {}, "request": { @@ -58682,7 +72404,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58701,18 +72423,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2013, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Login" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" }, "response": { - "bodySize": 1882, + "bodySize": 391, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1882, - "text": "{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 391, + "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58750,7 +72472,7 @@ }, { "name": "etag", - "value": "\"-550824128\"" + "value": "\"1593283676\"" }, { "name": "expires", @@ -58766,15 +72488,15 @@ }, { "name": "content-length", - "value": "1882" + "value": "391" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58793,14 +72515,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.091Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:57.843Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -58808,11 +72530,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 75 } }, { - "_id": "28fe8a0e6eb1482b85cdbce70e0ca073", + "_id": "70a45063a7cd06c293e9a6f5af3953d9", "_order": 0, "cache": {}, "request": { @@ -58833,7 +72555,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58856,14 +72578,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" }, "response": { - "bodySize": 270, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 270, - "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 307, + "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58901,7 +72623,7 @@ }, { "name": "etag", - "value": "\"-1405518667\"" + "value": "\"-1256358519\"" }, { "name": "expires", @@ -58917,15 +72639,15 @@ }, { "name": "content-length", - "value": "270" + "value": "307" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58950,159 +72672,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.162Z", - "time": 147, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 147 - } - }, - { - "_id": "ffc1b8fc95e5fa202d119157e85b3c59", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2063, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/76b5e15c-493c-47dc-b813-01cbc74c5a85" - }, - "response": { - "bodySize": 221, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"_rev\":\"1359876658\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"1359876658\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "221" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:07.163Z", - "time": 182, + "startedDateTime": "2024-11-05T21:21:57.931Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -59110,11 +72681,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 182 + "wait": 68 } }, { - "_id": "e9bc69151386b556705aedeae4838a65", + "_id": "f3f9337e10507effd4631d3de5c88e5e", "_order": 0, "cache": {}, "request": { @@ -59135,7 +72706,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59154,18 +72725,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" }, "response": { - "bodySize": 670, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 670, - "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59203,7 +72774,7 @@ }, { "name": "etag", - "value": "\"-1594114\"" + "value": "\"519412822\"" }, { "name": "expires", @@ -59219,15 +72790,15 @@ }, { "name": "content-length", - "value": "670" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59246,14 +72817,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.164Z", - "time": 132, + "startedDateTime": "2024-11-05T21:21:57.932Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -59261,11 +72832,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 132 + "wait": 67 } }, { - "_id": "af8bde9335410501714a11109ad620ae", + "_id": "ce27188d5e7080f58dbd99f0d1035fbe", "_order": 0, "cache": {}, "request": { @@ -59286,7 +72857,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59305,18 +72876,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2022, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/a30b1258-4c35-4ebe-90f3-c11fced9b1e4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/UpdatePassword" }, "response": { - "bodySize": 476, + "bodySize": 1887, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 476, - "text": "{\"_id\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\",\"_rev\":\"-1414527552\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 1887, + "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -59354,7 +72925,7 @@ }, { "name": "etag", - "value": "\"-1414527552\"" + "value": "\"1686140325\"" }, { "name": "expires", @@ -59370,15 +72941,15 @@ }, { "name": "content-length", - "value": "476" + "value": "1887" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59403,8 +72974,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.164Z", - "time": 169, + "startedDateTime": "2024-11-05T21:21:58.003Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -59412,11 +72983,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 169 + "wait": 63 } }, { - "_id": "956a8de08167e7464c4e05451421e5bd", + "_id": "52f4ddcf1db967208508a9995fd8e71e", "_order": 0, "cache": {}, "request": { @@ -59437,7 +73008,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59456,18 +73027,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" }, "response": { - "bodySize": 243, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 315, + "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -59505,7 +73076,7 @@ }, { "name": "etag", - "value": "\"2098371942\"" + "value": "\"-1218497043\"" }, { "name": "expires", @@ -59521,15 +73092,15 @@ }, { "name": "content-length", - "value": "243" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59548,14 +73119,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.165Z", - "time": 195, + "startedDateTime": "2024-11-05T21:21:58.073Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -59563,11 +73134,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 195 + "wait": 110 } }, { - "_id": "26ac41a7684089009e0385ad4c03f286", + "_id": "b4ab166fd09bdea0c7e62076a533fecc", "_order": 0, "cache": {}, "request": { @@ -59588,7 +73159,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59607,18 +73178,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/feecdfb1-386c-423f-b4a0-05cf6b05f783" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" }, "response": { - "bodySize": 300, + "bodySize": 408, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"_rev\":\"-1192960910\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 408, + "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59656,7 +73227,7 @@ }, { "name": "etag", - "value": "\"-1192960910\"" + "value": "\"1965792723\"" }, { "name": "expires", @@ -59672,15 +73243,15 @@ }, { "name": "content-length", - "value": "300" + "value": "408" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59699,14 +73270,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.166Z", - "time": 185, + "startedDateTime": "2024-11-05T21:21:58.074Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -59714,11 +73285,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 185 + "wait": 83 } }, { - "_id": "ef08d5997740d7de0eb6229ab2d09402", + "_id": "26eb33fe1dd52407465bf5ddd1eb972a", "_order": 0, "cache": {}, "request": { @@ -59739,7 +73310,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59758,18 +73329,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" }, "response": { - "bodySize": 260, + "bodySize": 358, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 358, + "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-1754119521\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -59807,7 +73378,7 @@ }, { "name": "etag", - "value": "\"-2064640544\"" + "value": "\"-1754119521\"" }, { "name": "expires", @@ -59823,15 +73394,15 @@ }, { "name": "content-length", - "value": "260" + "value": "358" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59856,8 +73427,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.365Z", - "time": 132, + "startedDateTime": "2024-11-05T21:21:58.074Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -59865,11 +73436,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 132 + "wait": 89 } }, { - "_id": "625171232a69b9ba0d9b733ac85fc964", + "_id": "3a06885b2edb4f816e983497e1067f9a", "_order": 0, "cache": {}, "request": { @@ -59890,7 +73461,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59909,18 +73480,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" }, "response": { - "bodySize": 260, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 485, + "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59958,7 +73529,7 @@ }, { "name": "etag", - "value": "\"-1763423776\"" + "value": "\"-1059437256\"" }, { "name": "expires", @@ -59974,15 +73545,15 @@ }, { "name": "content-length", - "value": "260" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60007,8 +73578,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.366Z", - "time": 176, + "startedDateTime": "2024-11-05T21:21:58.075Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -60016,11 +73587,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 176 + "wait": 83 } }, { - "_id": "5e3713a08184faad025ec3756bb20c22", + "_id": "061cfeba7c8726e4a2e9f2e68f40f972", "_order": 0, "cache": {}, "request": { @@ -60041,7 +73612,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60060,18 +73631,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2026, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" }, "response": { - "bodySize": 1354, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1354, - "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" + "size": 238, + "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60109,7 +73680,7 @@ }, { "name": "etag", - "value": "\"-1028934999\"" + "value": "\"869693667\"" }, { "name": "expires", @@ -60125,15 +73696,15 @@ }, { "name": "content-length", - "value": "1354" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60152,14 +73723,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.548Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:58.075Z", + "time": 112, "timings": { "blocked": -1, "connect": -1, @@ -60167,11 +73738,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 112 } }, { - "_id": "fc6663be597355a91aa944a1a91ad128", + "_id": "41c96f35aaab454053f1ade7135ff2d4", "_order": 0, "cache": {}, "request": { @@ -60192,7 +73763,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60211,18 +73782,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" }, "response": { - "bodySize": 347, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 347, - "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"-253417055\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 396, + "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60260,7 +73831,7 @@ }, { "name": "etag", - "value": "\"-253417055\"" + "value": "\"-1359533036\"" }, { "name": "expires", @@ -60276,15 +73847,15 @@ }, { "name": "content-length", - "value": "347" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60303,14 +73874,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.611Z", - "time": 67, + "startedDateTime": "2024-11-05T21:21:58.076Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -60318,11 +73889,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 90 } }, { - "_id": "06de0395774c6d77438c16bd46c5b971", + "_id": "c3628e7bc663e74b269131ae9770fb48", "_order": 0, "cache": {}, "request": { @@ -60343,7 +73914,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60362,18 +73933,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" }, "response": { - "bodySize": 300, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 256, + "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60411,7 +73982,7 @@ }, { "name": "etag", - "value": "\"-1679047423\"" + "value": "\"-716667889\"" }, { "name": "expires", @@ -60427,15 +73998,15 @@ }, { "name": "content-length", - "value": "300" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60454,14 +74025,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.612Z", - "time": 81, + "startedDateTime": "2024-11-05T21:21:58.076Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -60469,11 +74040,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 110 } }, { - "_id": "e54780e832feb2aef240f7f91b99ef0b", + "_id": "15c405cb6237271ceb5de77015a8fadf", "_order": 0, "cache": {}, "request": { @@ -60494,7 +74065,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60513,18 +74084,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" }, "response": { - "bodySize": 378, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 378, - "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 258, + "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60562,7 +74133,7 @@ }, { "name": "etag", - "value": "\"-1852493841\"" + "value": "\"875005143\"" }, { "name": "expires", @@ -60578,15 +74149,15 @@ }, { "name": "content-length", - "value": "378" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60605,14 +74176,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.612Z", - "time": 91, + "startedDateTime": "2024-11-05T21:21:58.192Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -60620,11 +74191,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 64 } }, { - "_id": "eb866e91e5d9e1463b8e3e26f3001676", + "_id": "5f8e2c793bba8b45f4ceeaf69df39200", "_order": 0, "cache": {}, "request": { @@ -60645,7 +74216,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60664,18 +74235,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" }, "response": { - "bodySize": 387, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 387, - "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60713,7 +74284,7 @@ }, { "name": "etag", - "value": "\"380010937\"" + "value": "\"688403743\"" }, { "name": "expires", @@ -60729,15 +74300,15 @@ }, { "name": "content-length", - "value": "387" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60762,8 +74333,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.613Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:58.193Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -60771,11 +74342,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 62 } }, { - "_id": "2d3d785d17fdb2276a0198975add657a", + "_id": "644daac1d3ee4232d51939812bd81166", "_order": 0, "cache": {}, "request": { @@ -60796,11 +74367,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -60815,45 +74382,54 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2083, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/bravo_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" }, "response": { - "bodySize": 351, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "mimeType": "application/json;charset=utf-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -60862,10 +74438,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1210529544\"" - }, { "name": "expires", "value": "0" @@ -60875,20 +74447,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "351" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "name": "content-length", + "value": "138" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60907,14 +74479,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.708Z", - "time": 58, + "startedDateTime": "2024-11-05T21:21:58.263Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -60922,11 +74494,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 56 } }, { - "_id": "15ec74a34e5fe348ef62f880925dc5a7", + "_id": "268fbe92035d46acffcf776bd02460bc", "_order": 0, "cache": {}, "request": { @@ -60947,11 +74519,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "authorization", @@ -60966,18 +74538,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 1967, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Registration" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/policies?_queryFilter=true" }, "response": { - "bodySize": 1239, + "bodySize": 137, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1239, - "text": "{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -60999,7 +74576,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=2.1" }, { "name": "content-security-policy", @@ -61013,10 +74590,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1002362847\"" - }, { "name": "expires", "value": "0" @@ -61031,15 +74604,15 @@ }, { "name": "content-length", - "value": "1239" + "value": "137" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61058,14 +74631,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.770Z", - "time": 61, + "startedDateTime": "2024-11-05T21:21:58.324Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -61073,11 +74646,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 62 } }, { - "_id": "ff914b33859f57859f3bc5bca71cb90d", + "_id": "769334af37e886da6d33ca9c48963b76", "_order": 0, "cache": {}, "request": { @@ -61098,11 +74671,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "authorization", @@ -61117,18 +74690,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2057, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 935, + "bodySize": 1070, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 935, - "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"762531723\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1070, + "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915520061,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61150,7 +74732,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -61164,10 +74746,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"762531723\"" - }, { "name": "expires", "value": "0" @@ -61182,15 +74760,15 @@ }, { "name": "content-length", - "value": "935" + "value": "1070" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61209,14 +74787,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.836Z", - "time": 71, + "startedDateTime": "2024-11-05T21:21:58.391Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -61224,11 +74802,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 82 } }, { - "_id": "51c0095f0a8fcf4682569c152122c47b", + "_id": "b6389f9d631cf6fc607a6d3b6f941607", "_order": 0, "cache": {}, "request": { @@ -61249,11 +74827,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -61268,18 +74846,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 243, + "bodySize": 1019, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1019, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915518398},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915519107}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61301,7 +74888,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -61315,10 +74902,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-841385771\"" - }, { "name": "expires", "value": "0" @@ -61333,15 +74916,15 @@ }, { "name": "content-length", - "value": "243" + "value": "1019" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61360,14 +74943,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.837Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:58.478Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -61375,11 +74958,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 84 } }, { - "_id": "a88fc3fe56070852dfc8b510ce31e8a4", + "_id": "4b12f5b80ca674782cd53806efb4ddb1", "_order": 0, "cache": {}, "request": { @@ -61400,11 +74983,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -61419,18 +75002,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1979, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/6b70de2f-a625-4957-93d9-37005e33e6e1" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/scripts?_queryFilter=true" }, "response": { - "bodySize": 436, + "bodySize": 428124, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\",\"_rev\":\"-727001800\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 428124, + "text": "{\"result\":[{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"name\":\"Bravo OIDC Claims Script\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"name\":\"Check Resolved Username - imported (1)\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"name\":\"Load Reference Selfie\",\"description\":\"Load reference selfie into shared state\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"name\":\"Next Generation Device Match Node Script\",\"description\":\"Default global script for a device match node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"DEVICE_MATCH_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"name\":\"Full Verification Results\",\"description\":\"Show full identity verification results\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"name\":\"Check Resolved Username\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Next Generation Scripted Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug - imported (1)\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"name\":\"Prepare Account Update\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb0b46f8-bdf3-4fb8-8d8f-bd921af7e79e\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"b3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"name\":\"Prepare Account Creation\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"name\":\"Selfie Authentication Results\",\"description\":\"Show selfie authentication results\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":60,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61452,7 +75040,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -61466,10 +75054,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-727001800\"" - }, { "name": "expires", "value": "0" @@ -61482,17 +75066,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "436" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61509,16 +75089,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.837Z", - "time": 71, + "startedDateTime": "2024-11-05T21:21:58.566Z", + "time": 183, "timings": { "blocked": -1, "connect": -1, @@ -61526,11 +75110,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 183 } }, { - "_id": "2de680ea4e77e8317077be5718c39f5e", + "_id": "9763376dcca13c43a407d9b70906fb23", "_order": 0, "cache": {}, "request": { @@ -61551,11 +75135,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -61570,18 +75154,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"Library Script\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" }, "response": { - "bodySize": 277, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 277, - "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"2141109171\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61603,7 +75192,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -61617,10 +75206,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"2141109171\"" - }, { "name": "expires", "value": "0" @@ -61635,15 +75220,15 @@ }, { "name": "content-length", - "value": "277" + "value": "404" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:58 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61662,14 +75247,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.838Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:58.755Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -61677,11 +75262,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 60 } }, { - "_id": "e5f47a9bcaa4cbbb003d008b5ebc8129", + "_id": "f08c9b1bfb91a7ac9948a0779d52beb2", "_order": 0, "cache": {}, "request": { @@ -61702,11 +75287,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -61721,18 +75306,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2000, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 184974, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 184974, + "text": "{\"result\":[{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"enable\":true,\"_id\":\"TNTPPingOneService\",\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Creation\",\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username\",\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show full identity verification results\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Full Verification Results\",\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show selfie authentication results\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Selfie Authentication Results\",\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Update\",\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username - imported (1)\",\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b3V0Y29tZSA9ICJ0cnVlIjsK\",\"description\":\"Dummy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Dummy\",\"_id\":\"bb0b46f8-bdf3-4fb8-8d8f-bd921af7e79e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script\",\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug - imported (1)\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Load reference selfie into shared state\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Load Reference Selfie\",\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -61768,10 +75358,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1966656034\"" - }, { "name": "expires", "value": "0" @@ -61784,17 +75370,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "258" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61811,16 +75393,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.913Z", - "time": 76, + "startedDateTime": "2024-11-05T21:21:58.821Z", + "time": 512, "timings": { "blocked": -1, "connect": -1, @@ -61828,11 +75414,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 512 } }, { - "_id": "5e811935176ed275afbc2cd1316332ee", + "_id": "e09460740281fbbb56e0ba1d82c45356", "_order": 0, "cache": {}, "request": { @@ -61853,11 +75439,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -61872,18 +75458,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email" }, "response": { - "bodySize": 373, + "bodySize": 286, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 286, + "text": "{\"_id\":\"\",\"_rev\":\"1248750872\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -61921,7 +75507,7 @@ }, { "name": "etag", - "value": "\"-1158802257\"" + "value": "\"1248750872\"" }, { "name": "expires", @@ -61937,15 +75523,15 @@ }, { "name": "content-length", - "value": "373" + "value": "286" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61964,14 +75550,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.914Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:59.343Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -61979,11 +75565,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 86 } }, { - "_id": "d33943dc353e60f14ed6ad191bc79bb9", + "_id": "49cd3e56007bb581f457f78f77d0db7e", "_order": 0, "cache": {}, "request": { @@ -62004,11 +75590,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62023,18 +75609,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2006, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 259, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -62070,10 +75661,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1470058997\"" - }, { "name": "expires", "value": "0" @@ -62088,15 +75675,15 @@ }, { "name": "content-length", - "value": "259" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62115,14 +75702,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.914Z", - "time": 80, + "startedDateTime": "2024-11-05T21:21:59.344Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -62130,11 +75717,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 100 } }, { - "_id": "e1a9a2495f60c6036bd9bf1719e46085", + "_id": "a676125b13d746ef911be6d0ae3a036f", "_order": 0, "cache": {}, "request": { @@ -62155,11 +75742,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62174,18 +75761,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 1994, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService" }, "response": { - "bodySize": 223, + "bodySize": 125, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 125, + "text": "{\"_id\":\"\",\"_rev\":\"1688843526\",\"enable\":true,\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62223,7 +75810,7 @@ }, { "name": "etag", - "value": "\"1508860909\"" + "value": "\"1688843526\"" }, { "name": "expires", @@ -62239,15 +75826,15 @@ }, { "name": "content-length", - "value": "223" + "value": "125" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62272,8 +75859,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.915Z", - "time": 95, + "startedDateTime": "2024-11-05T21:21:59.345Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -62281,11 +75868,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 92 } }, { - "_id": "103bd7d2b1b498a32dd3d684a6f0e87f", + "_id": "765ef82693538218803204da06f18c64", "_order": 0, "cache": {}, "request": { @@ -62306,11 +75893,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62325,18 +75912,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 1995, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 272, + "bodySize": 837, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 272, - "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 837, + "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62374,7 +75961,7 @@ }, { "name": "etag", - "value": "\"-8134977\"" + "value": "\"-1504612008\"" }, { "name": "expires", @@ -62390,15 +75977,15 @@ }, { "name": "content-length", - "value": "272" + "value": "837" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:07 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62417,14 +76004,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:07.915Z", - "time": 96, + "startedDateTime": "2024-11-05T21:21:59.346Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -62432,11 +76019,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 92 } }, { - "_id": "7d33552ed556d33d7a33d438ee0bc2ca", + "_id": "c56f9e67b3250bdfea892eadb98b469e", "_order": 0, "cache": {}, "request": { @@ -62457,11 +76044,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62476,18 +76063,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 2019, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ResetPassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService?_action=nextdescendents" }, "response": { - "bodySize": 1436, + "bodySize": 645, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1436, - "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 645, + "text": "{\"result\":[{\"clientIdWorkerSecret\":\"MYeArFcBVz_koayPMhz8dSmkKN9P1SjEA3CApwzWTfKuGvhS3XERxRpR1zTYg0ZT\",\"clientIdWorkerApp\":\"9e4b8778-8d02-4533-b11f-407c15e5519e\",\"environmentId\":\"183aa418-cdd3-4075-b20d-1ed89c8ca36e\",\"environmentRegion\":\"NA\",\"_id\":\"p1-volker-dev\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}},{\"clientIdWorkerSecret\":\"PYT2yEkgv73IAXf7W-Gxo32SdANddMPdRPHuo8btgIR~qoU_KBmP3NfGpVxxGCK-\",\"clientIdWorkerApp\":\"bc700ab9-b18d-4d75-9c10-0ddfd7a2fcf6\",\"environmentId\":\"77826556-ad2a-4cb9-86fc-41f53fd35d4d\",\"environmentRegion\":\"NA\",\"_id\":\"JC\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -62524,8 +76116,156 @@ "value": "same-origin" }, { - "name": "etag", - "value": "\"-2043431286\"" + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "645" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:59 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:21:59.346Z", + "time": 111, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 111 + } + }, + { + "_id": "483ca721c05100b646e50c58ff8b5d8c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2020, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { "name": "expires", @@ -62541,15 +76281,15 @@ }, { "name": "content-length", - "value": "1436" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62568,14 +76308,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.015Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:59.347Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -62583,11 +76323,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 71 } }, { - "_id": "71b67696b90c8ffb0962981615f590c6", + "_id": "54e9e274b63b64e32662ed40c91d88b7", "_order": 0, "cache": {}, "request": { @@ -62608,11 +76348,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62627,18 +76367,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 433, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 279, + "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62676,7 +76416,7 @@ }, { "name": "etag", - "value": "\"-1138066714\"" + "value": "\"-948959244\"" }, { "name": "expires", @@ -62692,15 +76432,15 @@ }, { "name": "content-length", - "value": "433" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62719,14 +76459,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.083Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:59.347Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -62734,11 +76474,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 80 } }, { - "_id": "5886ec22c2565c213eeec24bd416f042", + "_id": "864db2aced2e25acf21b709449360ad3", "_order": 0, "cache": {}, "request": { @@ -62759,11 +76499,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62778,18 +76518,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 295, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -62825,10 +76570,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"402776485\"" - }, { "name": "expires", "value": "0" @@ -62843,15 +76584,15 @@ }, { "name": "content-length", - "value": "295" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62870,14 +76611,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.084Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:59.348Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -62885,11 +76626,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 86 } }, { - "_id": "42491f5a58a5654c29968d87e0796bdd", + "_id": "d784eac328f02a92f02b8daab73886c8", "_order": 0, "cache": {}, "request": { @@ -62910,11 +76651,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62929,18 +76670,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1999, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 343, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 343, - "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"-986085110\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62978,7 +76719,7 @@ }, { "name": "etag", - "value": "\"-986085110\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -62994,15 +76735,15 @@ }, { "name": "content-length", - "value": "343" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63027,8 +76768,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.084Z", - "time": 69, + "startedDateTime": "2024-11-05T21:21:59.348Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -63036,11 +76777,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 88 } }, { - "_id": "773116cf47edc2a7e7b3579baf8699cb", + "_id": "9c24c392d5ec59518b53b6c98a036372", "_order": 0, "cache": {}, "request": { @@ -63061,11 +76802,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63080,18 +76821,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 444, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 444, - "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -63127,10 +76873,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"86486605\"" - }, { "name": "expires", "value": "0" @@ -63145,15 +76887,15 @@ }, { "name": "content-length", - "value": "444" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63172,14 +76914,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.085Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:59.349Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -63187,11 +76929,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 86 } }, { - "_id": "a29b15509bfa143274bd3ea0b788b0b5", + "_id": "ef998d020afb2e38925faf9edcac264b", "_order": 0, "cache": {}, "request": { @@ -63212,11 +76954,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63231,18 +76973,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 391, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 391, - "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -63278,10 +77025,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1593283676\"" - }, { "name": "expires", "value": "0" @@ -63296,15 +77039,15 @@ }, { "name": "content-length", - "value": "391" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63323,14 +77066,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.085Z", - "time": 72, + "startedDateTime": "2024-11-05T21:21:59.351Z", + "time": 136, "timings": { "blocked": -1, "connect": -1, @@ -63338,11 +77081,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 136 } }, { - "_id": "70a45063a7cd06c293e9a6f5af3953d9", + "_id": "5854232707369b3351cccfd047e0b48e", "_order": 0, "cache": {}, "request": { @@ -63363,11 +77106,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63382,88 +77125,36 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 1991, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories" }, "response": { - "bodySize": 307, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1256358519\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" + "value": "private, no-store" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "307" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "via", @@ -63472,16 +77163,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 292, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:08.162Z", - "time": 62, + "startedDateTime": "2024-11-05T21:21:59.352Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -63489,11 +77184,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 93 } }, { - "_id": "f3f9337e10507effd4631d3de5c88e5e", + "_id": "a51b239eab51fcc0dd0f8318612e0fe1", "_order": 0, "cache": {}, "request": { @@ -63514,11 +77209,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63533,88 +77228,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2016, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 257, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"519412822\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "257" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "via", @@ -63623,16 +77271,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 785, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:08.163Z", - "time": 60, + "startedDateTime": "2024-11-05T21:21:59.354Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -63640,11 +77292,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 91 } }, { - "_id": "ce27188d5e7080f58dbd99f0d1035fbe", + "_id": "02de68169a4bfc9a868495c69693abec", "_order": 0, "cache": {}, "request": { @@ -63665,11 +77317,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63684,18 +77336,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2022, + "headersSize": 1996, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/UpdatePassword" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 1887, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1887, - "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -63733,7 +77385,7 @@ }, { "name": "etag", - "value": "\"1686140325\"" + "value": "\"-945038405\"" }, { "name": "expires", @@ -63749,15 +77401,15 @@ }, { "name": "content-length", - "value": "1887" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63776,14 +77428,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.229Z", - "time": 59, + "startedDateTime": "2024-11-05T21:21:59.355Z", + "time": 123, "timings": { "blocked": -1, "connect": -1, @@ -63791,11 +77443,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 123 } }, { - "_id": "52f4ddcf1db967208508a9995fd8e71e", + "_id": "2953e2057e337bd2211699eea5ff1098", "_order": 0, "cache": {}, "request": { @@ -63816,11 +77468,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63835,169 +77487,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" - }, - "response": { - "bodySize": 315, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-1218497043\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "315" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, + "headersSize": 2021, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:08.293Z", - "time": 129, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 129 - } - }, - { - "_id": "b4ab166fd09bdea0c7e62076a533fecc", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 408, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 408, - "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64033,10 +77539,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1965792723\"" - }, { "name": "expires", "value": "0" @@ -64051,15 +77553,15 @@ }, { "name": "content-length", - "value": "408" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64078,14 +77580,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.294Z", - "time": 74, + "startedDateTime": "2024-11-05T21:21:59.356Z", + "time": 125, "timings": { "blocked": -1, "connect": -1, @@ -64093,11 +77595,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 125 } }, { - "_id": "26eb33fe1dd52407465bf5ddd1eb972a", + "_id": "79f6bd8f783eaf4ca302e8cb4ef51612", "_order": 0, "cache": {}, "request": { @@ -64118,11 +77620,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64137,18 +77639,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl" }, "response": { - "bodySize": 358, + "bodySize": 178, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 358, - "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-1754119521\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 178, + "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -64186,7 +77688,7 @@ }, { "name": "etag", - "value": "\"-1754119521\"" + "value": "\"-1889820858\"" }, { "name": "expires", @@ -64202,15 +77704,15 @@ }, { "name": "content-length", - "value": "358" + "value": "178" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64235,8 +77737,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.295Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:59.357Z", + "time": 129, "timings": { "blocked": -1, "connect": -1, @@ -64244,11 +77746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 129 } }, { - "_id": "061cfeba7c8726e4a2e9f2e68f40f972", + "_id": "8ed1b03474e06c05baf83c5ce1d75ab6", "_order": 0, "cache": {}, "request": { @@ -64269,11 +77771,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64288,18 +77790,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2008, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl?_action=nextdescendents" }, "response": { - "bodySize": 238, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64335,10 +77842,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"869693667\"" - }, { "name": "expires", "value": "0" @@ -64353,15 +77856,15 @@ }, { "name": "content-length", - "value": "238" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64380,14 +77883,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.295Z", - "time": 122, + "startedDateTime": "2024-11-05T21:21:59.358Z", + "time": 132, "timings": { "blocked": -1, "connect": -1, @@ -64395,11 +77898,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 132 } }, { - "_id": "41c96f35aaab454053f1ade7135ff2d4", + "_id": "37569ca7fa59cbe4a83adb2c86047fbd", "_order": 0, "cache": {}, "request": { @@ -64420,11 +77923,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64439,18 +77942,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation" }, "response": { - "bodySize": 396, + "bodySize": 175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 396, - "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 175, + "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -64488,7 +77991,7 @@ }, { "name": "etag", - "value": "\"-1359533036\"" + "value": "\"896681690\"" }, { "name": "expires", @@ -64504,15 +78007,15 @@ }, { "name": "content-length", - "value": "396" + "value": "175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64531,14 +78034,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.296Z", - "time": 66, + "startedDateTime": "2024-11-05T21:21:59.359Z", + "time": 120, "timings": { "blocked": -1, "connect": -1, @@ -64546,11 +78049,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 120 } }, { - "_id": "3a06885b2edb4f816e983497e1067f9a", + "_id": "5ba208b28b7723a17eb51fee8c500317", "_order": 0, "cache": {}, "request": { @@ -64571,11 +78074,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64590,18 +78093,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 485, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64637,10 +78145,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1059437256\"" - }, { "name": "expires", "value": "0" @@ -64655,15 +78159,15 @@ }, { "name": "content-length", - "value": "485" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64682,14 +78186,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.296Z", - "time": 79, + "startedDateTime": "2024-11-05T21:21:59.360Z", + "time": 120, "timings": { "blocked": -1, "connect": -1, @@ -64697,11 +78201,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 120 } }, { - "_id": "c3628e7bc663e74b269131ae9770fb48", + "_id": "ee48dfbbaf2f3eca24540288af8b91fb", "_order": 0, "cache": {}, "request": { @@ -64722,11 +78226,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64741,88 +78245,36 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService" }, "response": { - "bodySize": 256, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-716667889\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" + "value": "private, no-store" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "256" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "via", @@ -64831,16 +78283,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 292, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:08.297Z", - "time": 118, + "startedDateTime": "2024-11-05T21:21:59.361Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -64848,11 +78304,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 118 + "wait": 85 } }, { - "_id": "5f8e2c793bba8b45f4ceeaf69df39200", + "_id": "59a849d0d0f5b95d886adecc30f2c31a", "_order": 0, "cache": {}, "request": { @@ -64873,11 +78329,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64892,88 +78348,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService?_action=nextdescendents" }, "response": { - "bodySize": 257, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"688403743\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "257" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "via", @@ -64982,16 +78391,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 785, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:08.427Z", - "time": 64, + "startedDateTime": "2024-11-05T21:21:59.362Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -64999,11 +78412,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 84 } }, { - "_id": "15c405cb6237271ceb5de77015a8fadf", + "_id": "b17830af4c37e305aeb21940488c6ddb", "_order": 0, "cache": {}, "request": { @@ -65024,7 +78437,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -65043,18 +78456,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2008, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -65090,10 +78508,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"875005143\"" - }, { "name": "expires", "value": "0" @@ -65108,15 +78522,15 @@ }, { "name": "content-length", - "value": "258" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "value": "Tue, 05 Nov 2024 21:21:59 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -65135,14 +78549,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.427Z", - "time": 65, + "startedDateTime": "2024-11-05T21:21:59.603Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -65150,7 +78564,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 66 } } ], diff --git a/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/2-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3883162875/recording.har b/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/2-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3883162875/recording.har index 6c0435335..f32264cb1 100644 --- a/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/2-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3883162875/recording.har +++ b/src/test/mock-recordings/ConfigOps_2138586609/Cloud-Tests_2178067211/exportFullConfiguration_221463303/2-Export-everything-without-string-arrays-decoding-variables-excluding-journey-coordinate_3883162875/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "6e9b2f10aede12892b2cd5ccd64a725a", + "_id": "fc71be44855f4e764537c68893e9a626", "_order": 0, "cache": {}, "request": { @@ -29,7 +29,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -44,41 +48,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1893, + "headersSize": 1968, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/sync" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/realms/?_queryFilter=true" }, "response": { - "bodySize": 8380, + "bodySize": 331, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8380, - "text": "{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 331, + "text": "{\"result\":[{\"_id\":\"L2FscGhh\",\"_rev\":\"362268810\",\"parentPath\":\"/\",\"active\":true,\"name\":\"alpha\",\"aliases\":[]},{\"_id\":\"L2JyYXZv\",\"_rev\":\"480875699\",\"parentPath\":\"/\",\"active\":true,\"name\":\"bravo\",\"aliases\":[]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -96,20 +109,16 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "content-length", - "value": "8380" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -126,16 +135,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 665, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.770Z", - "time": 61, + "startedDateTime": "2024-11-05T21:22:00.003Z", + "time": 268, "timings": { "blocked": -1, "connect": -1, @@ -143,11 +156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 268 } }, { - "_id": "66a323d6617f3858cb7b08568782385e", + "_id": "1ee245d6a72b8aeb85a5c7986e8ba2f8", "_order": 0, "cache": {}, "request": { @@ -168,7 +181,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -183,46 +200,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1926, + "headersSize": 1988, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "_id sw 'mapping'" + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 12816, + "bodySize": 1341, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 12816, - "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -240,20 +261,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1341" }, { - "name": "content-length", - "value": "12816" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -272,14 +293,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.836Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:00.277Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -287,11 +308,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 60 } }, { - "_id": "5f9b1fdb490ee0b08c162715cd237c1c", + "_id": "d876647120f52b0656df716a2ca8f904", "_order": 0, "cache": {}, "request": { @@ -312,7 +333,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -327,46 +352,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1931, + "headersSize": 1988, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "_id sw 'emailTemplat'" + "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applicationtypes?_queryFilter=true" }, "response": { - "bodySize": 30404, + "bodySize": 1341, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 30404, - "text": "{\"result\":[{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 1341, + "text": "{\"result\":[{\"_id\":\"umaApplicationType\",\"name\":\"umaApplicationType\",\"actions\":{},\"resourceComparator\":\"org.forgerock.openam.uma.UmaPolicyResourceMatcher\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.uma.UmaPolicySaveIndex\",\"searchIndex\":\"org.forgerock.openam.uma.UmaPolicySearchIndex\"},{\"_id\":\"sunAMDelegationService\",\"name\":\"sunAMDelegationService\",\"actions\":{\"READ\":true,\"MODIFY\":true,\"DELEGATE\":true},\"resourceComparator\":\"com.sun.identity.entitlement.RegExResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameIndexGenerator\",\"searchIndex\":\"com.sun.identity.entitlement.opensso.DelegationResourceNameSplitter\"},{\"_id\":\"iPlanetAMWebAgentService\",\"name\":\"iPlanetAMWebAgentService\",\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"resourceComparator\":\"com.sun.identity.entitlement.URLResourceName\",\"applicationClassName\":\"com.sun.identity.entitlement.Application\",\"saveIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSaveIndex\",\"searchIndex\":\"org.forgerock.openam.entitlement.indextree.TreeSearchIndex\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:08 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -384,20 +413,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1341" }, { - "name": "content-length", - "value": "30404" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -416,14 +445,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.904Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:00.342Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -431,11 +460,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 60 } }, { - "_id": "4332d9ff964dfcdd1e9f493e09382dc1", + "_id": "c2d4a07670ee940e56f162278f36c82f", "_order": 0, "cache": {}, "request": { @@ -456,7 +485,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -471,7 +504,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 2006, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -480,37 +513,41 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 346483, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 346483, - "text": "{\"result\":[{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]},{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}},{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}},{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}},{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"fidc/federation-EntraID\",\"groups\":{\"claim\":\"groups\",\"mappings\":{\"super-admins\":[\"750d8eca-c15e-4944-a8a7-537a0f3e8dd6\"],\"tenant-admins\":[\"93b762fa-5982-4cc0-9f5b-88ab8b3e2589\"]}}},{\"_id\":\"fieldPolicy/alpha_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]},{\"_id\":\"fieldPolicy/bravo_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]},{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]},{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]},{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"},{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]},{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]},{\"_id\":\"privileges\",\"privileges\":[]},{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]},{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}},{\"_id\":\"router\",\"filters\":[]},{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}},{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]},{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}},{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]},{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]},{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]},{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]},{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]},{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"},{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"},{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"},{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"},{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}},{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}},{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]},{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]},{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}},{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}},{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":67,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -528,16 +565,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -554,20 +595,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:08.980Z", - "time": 126, + "startedDateTime": "2024-11-05T21:22:00.407Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -575,11 +612,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 126 + "wait": 63 } }, { - "_id": "05deaa1004d850ca435cf54019a825fb", + "_id": "a7b3dee181192a76be1cb161727428c9", "_order": 0, "cache": {}, "request": { @@ -600,7 +637,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -615,41 +656,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 2006, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/access" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/chains?_queryFilter=true" }, "response": { - "bodySize": 6529, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 6529, - "text": "{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -667,20 +717,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "6529" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -699,14 +749,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.128Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:00.476Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -714,15 +764,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 64 } }, { - "_id": "3008decc523d17ff804c6e75c8d7cc72", + "_id": "b47cd65f921c415d1041c0465ea1b1d9", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -739,12 +789,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -754,41 +812,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 2033, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/alphaOrgPrivileges" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 8640, + "bodySize": 2399, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8640, - "text": "{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 2399, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"uid=admin\",\"primaryLdapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"userSearchStartDN\":[\"ou=identities\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/forgerock/openam/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"Federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -806,20 +878,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2399" }, { - "name": "content-length", - "value": "8640" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -838,14 +910,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.128Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:00.544Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -853,15 +925,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 89 } }, { - "_id": "c58e7a5a4e0db6fbabe2dad65422529e", + "_id": "b8ff1d20d159ad74ea258b92b97de742", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -878,12 +950,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -893,41 +973,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1894, + "headersSize": 2033, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/audit" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/modules?_action=nextdescendents" }, "response": { - "bodySize": 2757, + "bodySize": 2399, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2757, - "text": "{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2399, + "text": "{\"result\":[{\"authenticationLevel\":0,\"_id\":\"datastore\",\"_type\":{\"_id\":\"datastore\",\"name\":\"Data Store\",\"collection\":true}},{\"minimumPasswordLength\":\"8\",\"trustAllServerCertificates\":false,\"connectionHeartbeatInterval\":10,\"userSearchAttributes\":[\"uid\"],\"operationTimeout\":0,\"beheraPasswordPolicySupportEnabled\":true,\"userBindDN\":\"uid=admin\",\"primaryLdapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"userSearchStartDN\":[\"ou=identities\"],\"profileAttributeMappings\":[],\"stopLdapbindAfterInmemoryLockedEnabled\":false,\"returnUserDN\":true,\"secondaryLdapServer\":[],\"userBindPassword\":null,\"connectionHeartbeatTimeUnit\":\"SECONDS\",\"openam-auth-ldap-connection-mode\":\"LDAP\",\"authenticationLevel\":0,\"searchScope\":\"SUBTREE\",\"userProfileRetrievalAttribute\":\"uid\",\"_id\":\"ldap\",\"_type\":{\"_id\":\"ldap\",\"name\":\"LDAP\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"sae\",\"_type\":{\"_id\":\"sae\",\"name\":\"SAE\",\"collection\":true}},{\"userProfileEmailAttribute\":\"mail\",\"otpDeliveryMethod\":\"SMS and E-mail\",\"smtpSslEnabled\":\"SSL\",\"userProfileTelephoneAttribute\":\"telephoneNumber\",\"authenticationLevel\":0,\"smtpHostname\":\"smtp.gmail.com\",\"smtpHostPort\":465,\"smtpUserPassword\":null,\"smtpUsername\":\"opensso.sun\",\"smtpFromAddress\":\"no-reply@openam.org\",\"otpValidityDuration\":5,\"autoSendOTP\":false,\"otpMaxRetry\":3,\"otpLength\":\"8\",\"smsGatewayClass\":\"com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl\",\"_id\":\"hotp\",\"_type\":{\"_id\":\"hotp\",\"name\":\"HOTP\",\"collection\":true}},{\"addChecksum\":\"False\",\"forgerock-oath-sharedsecret-implementation-class\":\"org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider\",\"oathAlgorithm\":\"HOTP\",\"timeStepSize\":30,\"truncationOffset\":-1,\"stepsInWindow\":2,\"forgerock-oath-maximum-clock-drift\":0,\"authenticationLevel\":0,\"oathOtpMaxRetry\":3,\"hotpWindowSize\":100,\"passwordLength\":\"6\",\"minimumSecretKeyLength\":\"32\",\"_id\":\"oath\",\"_type\":{\"_id\":\"oath\",\"name\":\"OATH\",\"collection\":true}},{\"authorizedKeys\":\"/home/forgerock/openam/security/keys/amster/authorized_keys\",\"authenticationLevel\":0,\"enabled\":true,\"_id\":\"amster\",\"_type\":{\"_id\":\"amster\",\"name\":\"ForgeRock Amster\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"Federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}},{\"authenticationLevel\":0,\"_id\":\"federation\",\"_type\":{\"_id\":\"federation\",\"name\":\"Federation\",\"collection\":true}}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -945,20 +1039,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2399" }, { - "name": "content-length", - "value": "2757" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -977,14 +1071,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.129Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:00.637Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -992,11 +1086,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 90 } }, { - "_id": "e4ec98eee8e211f63c36ec50a24ce5c5", + "_id": "83913e91127b48641d8342a82e8f62f8", "_order": 0, "cache": {}, "request": { @@ -1017,7 +1111,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1032,41 +1130,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/authentication" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 779, + "bodySize": 3505, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 779, - "text": "{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}}" + "mimeType": "application/json;charset=UTF-8", + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1084,20 +1191,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "3505" }, { - "name": "content-length", - "value": "779" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1116,14 +1223,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.129Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:00.733Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -1131,11 +1238,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 59 } }, { - "_id": "9c0a73d0dfb560158488caa28b671a40", + "_id": "e3ebc1998ec72c07d35f838ed992a5ac", "_order": 0, "cache": {}, "request": { @@ -1156,7 +1263,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1171,41 +1282,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/bravoOrgPrivileges" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/conditiontypes?_queryFilter=true" }, "response": { - "bodySize": 8640, + "bodySize": 3505, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8640, - "text": "{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]}" + "mimeType": "application/json;charset=UTF-8", + "size": 3505, + "text": "{\"result\":[{\"_id\":\"AMIdentityMembership\",\"title\":\"AMIdentityMembership\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"amIdentityName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"AuthLevel\",\"title\":\"AuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"AuthScheme\",\"title\":\"AuthScheme\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authScheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"applicationIdleTimeout\":{\"type\":\"integer\"},\"applicationName\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToRealm\",\"title\":\"AuthenticateToRealm\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToRealm\":{\"type\":\"string\"}}}},{\"_id\":\"AuthenticateToService\",\"title\":\"AuthenticateToService\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticateToService\":{\"type\":\"string\"}}}},{\"_id\":\"IPv4\",\"title\":\"IPv4\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"IPv6\",\"title\":\"IPv6\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startIp\":{\"type\":\"string\"},\"endIp\":{\"type\":\"string\"},\"dnsName\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"LDAPFilter\",\"title\":\"LDAPFilter\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ldapFilter\":{\"type\":\"string\"}}}},{\"_id\":\"LEAuthLevel\",\"title\":\"LEAuthLevel\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authLevel\":{\"type\":\"integer\"}}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OAuth2Scope\",\"title\":\"OAuth2Scope\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"requiredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"conditions\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"className\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"ResourceEnvIP\",\"title\":\"ResourceEnvIP\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"resourceEnvIPConditionValue\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"Script\",\"title\":\"Script\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"scriptId\":{\"type\":\"string\"}}}},{\"_id\":\"Session\",\"title\":\"Session\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"maxSessionTime\":{\"type\":\"integer\"},\"terminateSession\":{\"type\":\"boolean\",\"required\":true}}}},{\"_id\":\"SessionProperty\",\"title\":\"SessionProperty\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"ignoreValueCase\":{\"type\":\"boolean\",\"required\":true},\"properties\":{\"type\":\"object\"}}}},{\"_id\":\"SimpleTime\",\"title\":\"SimpleTime\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"startTime\":{\"type\":\"string\"},\"endTime\":{\"type\":\"string\"},\"startDay\":{\"type\":\"string\"},\"endDay\":{\"type\":\"string\"},\"startDate\":{\"type\":\"string\"},\"endDate\":{\"type\":\"string\"},\"enforcementTimeZone\":{\"type\":\"string\"}}}},{\"_id\":\"Transaction\",\"title\":\"Transaction\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"authenticationStrategy\":{\"type\":\"string\"},\"strategySpecifier\":{\"type\":\"string\"}}}}],\"resultCount\":20,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1223,20 +1343,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "3505" }, { - "name": "content-length", - "value": "8640" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1255,14 +1375,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.130Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:00.797Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -1270,11 +1390,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 58 } }, { - "_id": "ec18dd64f5cbaf91ec0f966c097a2381", + "_id": "7c1684919d3c39aaa988c6a4a3ac4363", "_order": 0, "cache": {}, "request": { @@ -1295,7 +1415,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1310,41 +1434,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1932, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoEmailVerification" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 3342, + "bodySize": 182, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 3342, - "text": "{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1362,20 +1495,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "182" }, { - "name": "content-length", - "value": "3342" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1394,14 +1527,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.131Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:00.859Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -1409,11 +1542,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 58 } }, { - "_id": "d80d0ddfde8c6e4904c7048f7a16a9c5", + "_id": "eb3bb38284a35b06c8bb5dad3480c315", "_order": 0, "cache": {}, "request": { @@ -1434,7 +1567,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -1449,41 +1586,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1924, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoMagicLink" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/decisioncombiners?_queryFilter=true" }, "response": { - "bodySize": 2484, + "bodySize": 182, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2484, - "text": "{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 182, + "text": "{\"result\":[{\"_id\":\"DenyOverride\",\"title\":\"DenyOverride\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1501,20 +1647,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "182" }, { - "name": "content-length", - "value": "2484" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:00 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1533,14 +1679,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.131Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:00.921Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -1548,15 +1694,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 61 } }, { - "_id": "9d88f2620d3b7879502866706f1b08e7", + "_id": "df263574b44b634fbcd214acb78c9527", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1573,12 +1719,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1588,41 +1742,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 2018, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/forgottenUsername" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 2036, + "bodySize": 13, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2036, - "text": "{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1640,20 +1808,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "13" }, { - "name": "content-length", - "value": "2036" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1672,14 +1840,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.132Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:00.986Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -1687,15 +1855,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 60 } }, { - "_id": "e3ffd4109aab37d16eeec1b2247b6e81", + "_id": "15b970472b5c4ac0bc1eca62d9f16e8d", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -1712,12 +1880,20 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -1727,41 +1903,55 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 2018, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frForgotUsername" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/secrets?_action=nextdescendents" }, "response": { - "bodySize": 1803, + "bodySize": 13, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1803, - "text": "{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1779,20 +1969,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "13" }, { - "name": "content-length", - "value": "1803" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1811,14 +2001,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.133Z", - "time": 61, + "startedDateTime": "2024-11-05T21:22:01.051Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -1826,11 +2016,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 60 } }, { - "_id": "eae69243d1e21f5c8ac2567ec6a742d5", + "_id": "33c52e4ceb99b07961cc4718e320cd5c", "_order": 0, "cache": {}, "request": { @@ -1851,7 +2041,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -1866,24 +2060,32 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1917, + "headersSize": 1941, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frEmailUpdated" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 1629, + "bodySize": 601, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1629, - "text": "{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 601, + "text": "{\"_id\":\"*\",\"_rev\":\"-1326577700\",\"domains\":[\"openam-frodo-dev.forgeblocks.com\"],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[\"fr-idm-uuid\"]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", @@ -1891,16 +2093,12 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -1909,6 +2107,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1326577700\"" + }, { "name": "expires", "value": "0" @@ -1918,20 +2120,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "601" }, { - "name": "content-length", - "value": "1629" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -1950,14 +2152,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.133Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:01.116Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -1965,11 +2167,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 59 } }, { - "_id": "3dc6a089c77d8136e5f62223a5af97d6", + "_id": "aa10efcdc38c441b757de1bbca70d9de", "_order": 0, "cache": {}, "request": { @@ -1990,7 +2192,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2005,24 +2211,32 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frOnboarding" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 1953, + "bodySize": 279, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1953, - "text": "{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 279, + "text": "{\"_id\":\"version\",\"_rev\":\"-448206912\",\"version\":\"7.6.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.6.0-SNAPSHOT Build 811ccc8cd2adb016ebe7d3365b0d10e45e2aead3 (2024-October-29 11:05)\",\"revision\":\"811ccc8cd2adb016ebe7d3365b0d10e45e2aead3\",\"date\":\"2024-October-29 11:05\"}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", @@ -2030,16 +2244,12 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2048,6 +2258,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-448206912\"" + }, { "name": "expires", "value": "0" @@ -2057,20 +2271,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "279" }, { - "name": "content-length", - "value": "1953" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2089,14 +2303,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.134Z", - "time": 189, + "startedDateTime": "2024-11-05T21:22:01.179Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -2104,11 +2318,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 189 + "wait": 60 } }, { - "_id": "4631fd277b76a8b2e86dc17da2d075a5", + "_id": "c7a304b05d6dbb5961330aefc0fb3ab7", "_order": 0, "cache": {}, "request": { @@ -2129,7 +2343,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -2144,41 +2362,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frPasswordUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 1641, + "bodySize": 2960, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1641, - "text": "{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2960, + "text": "{\"result\":[\"fr-idm-role\",\"description\",\"l\",\"createTimestamp\",\"uid\",\"fr-idm-nick-name\",\"fr-attr-iint4\",\"fr-attr-str5\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"st\",\"oathDeviceProfiles\",\"userCertificate\",\"labeledURI\",\"iplanet-am-auth-configuration\",\"fr-attr-istr1\",\"fr-idm-profile-url\",\"iplanet-am-session-service-status\",\"fr-attr-imulti1\",\"sun-fm-saml2-nameid-infokey\",\"fr-attr-int4\",\"fr-attr-str3\",\"fr-idm-inviteDate\",\"fr-idm-managed-organization-member\",\"sun-fm-saml2-nameid-info\",\"fr-attr-idate5\",\"kbaInfoAttempts\",\"fr-idm-preferences\",\"fr-attr-multi5\",\"memberOf\",\"fr-idm-photos\",\"co\",\"userPassword\",\"pushDeviceProfiles\",\"fr-attr-iint2\",\"fr-idm-birthdate\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"fr-idm-uuid\",\"iplanet-am-session-max-caching-time\",\"fr-attr-int2\",\"pwdExpireWarning\",\"webauthnDeviceProfiles\",\"fr-idm-effectiveAssignment\",\"objectClass\",\"fr-attr-date3\",\"isMemberOf\",\"fr-attr-imulti5\",\"fr-attr-imulti2\",\"fr-idm-name\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"fr-attr-multi4\",\"fr-idm-managed-user-memberoforgid\",\"telephoneNumber\",\"fr-idm-kbaInfo\",\"street\",\"cn\",\"ds-pwp-account-disabled\",\"fr-attr-istr4\",\"fr-idm-phone-numbers\",\"fr-attr-date1\",\"givenName\",\"fr-idm-addresses\",\"postalAddress\",\"fr-idm-gender\",\"fr-attr-multi2\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"postalCode\",\"iplanet-am-user-admin-start-dn\",\"pwdCheckQuality\",\"push2faEnabled\",\"pwdMinLength\",\"fr-attr-istr2\",\"fr-attr-int3\",\"iplanet-am-session-max-idle-time\",\"fr-idm-website\",\"fr-idm-custom-attrs\",\"fr-idm-password\",\"fr-attr-idate4\",\"kbaInfo\",\"fr-attr-str4\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"fr-attr-multi1\",\"fr-idm-title\",\"iplanet-am-session-max-session-time\",\"fr-attr-int1\",\"fr-attr-iint5\",\"fr-attr-date5\",\"preferredtimezone\",\"fr-attr-date2\",\"fr-attr-idate2\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"dn\",\"fr-idm-timezone\",\"mail\",\"fr-attr-str2\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"fr-attr-iint3\",\"fr-attr-multi3\",\"deviceProfiles\",\"fr-attr-str1\",\"inetUserStatus\",\"authorityRevocationList\",\"fr-attr-istr5\",\"fr-idm-preferred-language\",\"fr-attr-imulti4\",\"fr-idm-emails\",\"sn\",\"fr-idm-effectiveRole\",\"manager\",\"fr-idm-lastChanged\",\"iplanet-am-user-password-reset-force-reset\",\"fr-idm-name-object\",\"fr-attr-idate3\",\"fr-attr-date4\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"displayName\",\"iplanet-am-user-success-url\",\"fr-attr-iint1\",\"fr-idm-locale\",\"iplanet-am-session-get-valid-sessions\",\"devicePrintProfiles\",\"fr-attr-int5\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"fr-idm-onboardDate\",\"fr-attr-imulti3\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"fr-attr-istr3\",\"fr-attr-idate1\",\"fr-idm-consentedMapping\",\"fr-idm-lastSync\",\"iplanet-am-user-login-status\"],\"resultCount\":144,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2196,20 +2423,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2960" }, { - "name": "content-length", - "value": "1641" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2228,14 +2455,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.135Z", - "time": 272, + "startedDateTime": "2024-11-05T21:22:01.245Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -2243,11 +2470,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 272 + "wait": 62 } }, { - "_id": "795218d01b11ce6c7533d87d083a985f", + "_id": "659599ec04379c96aea6462a4c029012", "_order": 0, "cache": {}, "request": { @@ -2268,7 +2495,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -2283,41 +2514,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 1989, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frProfileUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/subjectattributes?_queryFilter=true" }, "response": { - "bodySize": 1637, + "bodySize": 2960, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1637, - "text": "{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 2960, + "text": "{\"result\":[\"fr-idm-role\",\"description\",\"l\",\"createTimestamp\",\"uid\",\"fr-idm-nick-name\",\"fr-attr-iint4\",\"fr-attr-str5\",\"iplanet-am-user-auth-config\",\"boundDevices\",\"retryLimitNodeCount\",\"st\",\"oathDeviceProfiles\",\"userCertificate\",\"labeledURI\",\"iplanet-am-auth-configuration\",\"fr-attr-istr1\",\"fr-idm-profile-url\",\"iplanet-am-session-service-status\",\"fr-attr-imulti1\",\"sun-fm-saml2-nameid-infokey\",\"fr-attr-int4\",\"fr-attr-str3\",\"fr-idm-inviteDate\",\"fr-idm-managed-organization-member\",\"sun-fm-saml2-nameid-info\",\"fr-attr-idate5\",\"kbaInfoAttempts\",\"fr-idm-preferences\",\"fr-attr-multi5\",\"memberOf\",\"fr-idm-photos\",\"co\",\"userPassword\",\"pushDeviceProfiles\",\"fr-attr-iint2\",\"fr-idm-birthdate\",\"oath2faEnabled\",\"iplanet-am-user-password-reset-options\",\"fr-idm-uuid\",\"iplanet-am-session-max-caching-time\",\"fr-attr-int2\",\"pwdExpireWarning\",\"webauthnDeviceProfiles\",\"fr-idm-effectiveAssignment\",\"objectClass\",\"fr-attr-date3\",\"isMemberOf\",\"fr-attr-imulti5\",\"fr-attr-imulti2\",\"fr-idm-name\",\"iplanet-am-session-quota-limit\",\"caCertificate\",\"iplanet-am-user-auth-modules\",\"fr-attr-multi4\",\"fr-idm-managed-user-memberoforgid\",\"telephoneNumber\",\"fr-idm-kbaInfo\",\"street\",\"cn\",\"ds-pwp-account-disabled\",\"fr-attr-istr4\",\"fr-idm-phone-numbers\",\"fr-attr-date1\",\"givenName\",\"fr-idm-addresses\",\"postalAddress\",\"fr-idm-gender\",\"fr-attr-multi2\",\"iplanet-am-user-failure-url\",\"distinguishedName\",\"postalCode\",\"iplanet-am-user-admin-start-dn\",\"pwdCheckQuality\",\"push2faEnabled\",\"pwdMinLength\",\"fr-attr-istr2\",\"fr-attr-int3\",\"iplanet-am-session-max-idle-time\",\"fr-idm-website\",\"fr-idm-custom-attrs\",\"fr-idm-password\",\"fr-attr-idate4\",\"kbaInfo\",\"fr-attr-str4\",\"iplanet-am-user-account-life\",\"kbaActiveIndex\",\"fr-attr-multi1\",\"fr-idm-title\",\"iplanet-am-session-max-session-time\",\"fr-attr-int1\",\"fr-attr-iint5\",\"fr-attr-date5\",\"preferredtimezone\",\"fr-attr-date2\",\"fr-attr-idate2\",\"assignedDashboard\",\"inetUserHttpURL\",\"preferredlanguage\",\"dn\",\"fr-idm-timezone\",\"mail\",\"fr-attr-str2\",\"modifyTimestamp\",\"iplanet-am-session-destroy-sessions\",\"fr-attr-iint3\",\"fr-attr-multi3\",\"deviceProfiles\",\"fr-attr-str1\",\"inetUserStatus\",\"authorityRevocationList\",\"fr-attr-istr5\",\"fr-idm-preferred-language\",\"fr-attr-imulti4\",\"fr-idm-emails\",\"sn\",\"fr-idm-effectiveRole\",\"manager\",\"fr-idm-lastChanged\",\"iplanet-am-user-password-reset-force-reset\",\"fr-idm-name-object\",\"fr-attr-idate3\",\"fr-attr-date4\",\"adminRole\",\"sunAMAuthInvalidAttemptsData\",\"displayName\",\"iplanet-am-user-success-url\",\"fr-attr-iint1\",\"fr-idm-locale\",\"iplanet-am-session-get-valid-sessions\",\"devicePrintProfiles\",\"fr-attr-int5\",\"preferredLocale\",\"employeeNumber\",\"sunIdentityMSISDNNumber\",\"fr-idm-onboardDate\",\"fr-attr-imulti3\",\"iplanet-am-user-alias-list\",\"iplanet-am-user-password-reset-question-answer\",\"fr-attr-istr3\",\"fr-attr-idate1\",\"fr-idm-consentedMapping\",\"fr-idm-lastSync\",\"iplanet-am-user-login-status\"],\"resultCount\":144,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2335,20 +2575,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "2960" }, { - "name": "content-length", - "value": "1637" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2367,14 +2607,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.137Z", - "time": 180, + "startedDateTime": "2024-11-05T21:22:01.311Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -2382,11 +2622,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 180 + "wait": 61 } }, { - "_id": "16a23b1a7df63bb69d21abc4b0b7a200", + "_id": "e5bff9c7c5f3f7ced4744b09a51a4924", "_order": 0, "cache": {}, "request": { @@ -2407,7 +2647,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2422,41 +2666,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1918, + "headersSize": 1984, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frResetPassword" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 1959, + "bodySize": 1206, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1959, - "text": "{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2474,20 +2727,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1206" }, { - "name": "content-length", - "value": "1959" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2506,14 +2759,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.138Z", - "time": 224, + "startedDateTime": "2024-11-05T21:22:01.377Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -2521,11 +2774,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 224 + "wait": 70 } }, { - "_id": "9b2b0dd8f20e18ad7545f7a3b05ee187", + "_id": "8c2bb94d735cde043751f3943d4bb185", "_order": 0, "cache": {}, "request": { @@ -2546,7 +2799,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -2561,41 +2818,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1920, + "headersSize": 1984, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frUsernameUpdated" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/subjecttypes?_queryFilter=true" }, "response": { - "bodySize": 1641, + "bodySize": 1206, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1641, - "text": "{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 1206, + "text": "{\"result\":[{\"_id\":\"AND\",\"title\":\"AND\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"AuthenticatedUsers\",\"title\":\"AuthenticatedUsers\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"Identity\",\"title\":\"Identity\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"subjectValues\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}},{\"_id\":\"JwtClaim\",\"title\":\"JwtClaim\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"claimName\":{\"type\":\"string\"},\"claimValue\":{\"type\":\"string\"}}}},{\"_id\":\"NONE\",\"title\":\"NONE\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{}}},{\"_id\":\"NOT\",\"title\":\"NOT\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subject\":{\"type\":\"object\",\"properties\":{}}}}},{\"_id\":\"OR\",\"title\":\"OR\",\"logical\":true,\"config\":{\"type\":\"object\",\"properties\":{\"subjects\":{\"type\":\"array\"}}}},{\"_id\":\"Policy\",\"title\":\"Policy\",\"logical\":false,\"config\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"className\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=1.0, resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2613,20 +2879,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "1206" }, { - "name": "content-length", - "value": "1641" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2645,14 +2911,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.139Z", - "time": 165, + "startedDateTime": "2024-11-05T21:22:01.452Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -2660,11 +2926,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 165 + "wait": 56 } }, { - "_id": "80338c2879098c77bfa4a49dcc62b6dd", + "_id": "2874ee10c7869cca540bfb0ccc8dce0b", "_order": 0, "cache": {}, "request": { @@ -2685,7 +2951,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2700,41 +2970,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 1993, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/idv" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 1661, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1661, - "text": "{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2752,20 +3031,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1661" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2784,14 +3063,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.140Z", - "time": 184, + "startedDateTime": "2024-11-05T21:22:01.513Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -2799,11 +3078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 184 + "wait": 59 } }, { - "_id": "f0c35027444193fdf892e455b781641a", + "_id": "f0f315df038dffc05ceaf4d64fb96788", "_order": 0, "cache": {}, "request": { @@ -2824,7 +3103,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2839,41 +3122,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1909, + "headersSize": 1993, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/joiner" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/webhooks?_queryFilter=true" }, "response": { - "bodySize": 1985, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1985, - "text": "{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -2891,20 +3183,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1985" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -2923,14 +3215,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.141Z", - "time": 312, + "startedDateTime": "2024-11-05T21:22:01.577Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -2938,11 +3230,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 312 + "wait": 59 } }, { - "_id": "d2c63175b61abfe3e65fe6bd4ea8b6de", + "_id": "26d73af01d88daeb886c9a61cf0912d3", "_order": 0, "cache": {}, "request": { @@ -2963,7 +3255,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -2978,41 +3274,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1929, + "headersSize": 2014, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registerPasswordlessDevice" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 2744, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 2744, - "text": "{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -3030,20 +3335,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "2744" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3062,14 +3367,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.142Z", - "time": 169, + "startedDateTime": "2024-11-05T21:22:01.641Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -3077,11 +3382,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 169 + "wait": 71 } }, { - "_id": "756f6f48fb26d1eb4bdf4fd3e99d0117", + "_id": "a6e4e97642cdbe7eb5a99b648bc3dd4c", "_order": 0, "cache": {}, "request": { @@ -3102,7 +3407,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -3117,41 +3426,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 2014, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registration" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/entityproviders/ws?_queryFilter=true" }, "response": { - "bodySize": 1546, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 1546, - "text": "{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}}" + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -3169,20 +3487,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "138" }, { - "name": "content-length", - "value": "1546" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3201,14 +3519,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.143Z", - "time": 259, + "startedDateTime": "2024-11-05T21:22:01.716Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -3216,11 +3534,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 259 + "wait": 58 } }, { - "_id": "ac61014892eddc484e84f9a6e4713f3e", + "_id": "6e9b2f10aede12892b2cd5ccd64a725a", "_order": 0, "cache": {}, "request": { @@ -3241,7 +3559,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3256,24 +3574,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1916, + "headersSize": 1893, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/resetPassword" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/sync" }, "response": { - "bodySize": 455, + "bodySize": 8380, "content": { "mimeType": "application/json;charset=utf-8", - "size": 455, - "text": "{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}}" + "size": 8380, + "text": "{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "cache-control", @@ -3317,11 +3635,11 @@ }, { "name": "content-length", - "value": "455" + "value": "8380" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3340,14 +3658,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.144Z", - "time": 165, + "startedDateTime": "2024-11-05T21:22:01.779Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -3355,11 +3673,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 165 + "wait": 54 } }, { - "_id": "eaa92f6f878816816fa94ff43be52525", + "_id": "66a323d6617f3858cb7b08568782385e", "_order": 0, "cache": {}, "request": { @@ -3380,7 +3698,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3395,24 +3713,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1917, + "headersSize": 1926, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/updatePassword" + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'mapping'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" }, "response": { - "bodySize": 943, + "bodySize": 12816, "content": { "mimeType": "application/json;charset=utf-8", - "size": 943, - "text": "{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}}" + "size": 12816, + "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}],\"resultCount\":9,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":9,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "cache-control", @@ -3456,11 +3779,11 @@ }, { "name": "content-length", - "value": "943" + "value": "12816" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3479,14 +3802,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 666, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.145Z", - "time": 177, + "startedDateTime": "2024-11-05T21:22:01.838Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -3494,11 +3817,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 177 + "wait": 59 } }, { - "_id": "baf600ba2674b3b630e87fd32ca35eed", + "_id": "5f9b1fdb490ee0b08c162715cd237c1c", "_order": 0, "cache": {}, "request": { @@ -3519,7 +3842,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3534,24 +3857,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1931, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 789, + "bodySize": 30454, "content": { "mimeType": "application/json;charset=utf-8", - "size": 789, - "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" + "size": 30454, + "text": "{\"result\":[{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "cache-control", @@ -3595,11 +3923,11 @@ }, { "name": "content-length", - "value": "789" + "value": "30454" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3618,14 +3946,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 666, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.146Z", - "time": 172, + "startedDateTime": "2024-11-05T21:22:01.903Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -3633,11 +3961,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 172 + "wait": 58 } }, { - "_id": "a394360f37aed020d5183d19c2ff884b", + "_id": "4332d9ff964dfcdd1e9f493e09382dc1", "_order": 0, "cache": {}, "request": { @@ -3658,7 +3986,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3673,24 +4001,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1897, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/entityId" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=true" }, "response": { - "bodySize": 372, + "bodySize": 347794, "content": { "mimeType": "application/json;charset=utf-8", - "size": 372, - "text": "{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}}" + "size": 347794, + "text": "{\"result\":[{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]},{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}},{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}},{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]},{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"},{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}},{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}},{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}},{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}},{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}},{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}},{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}},{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"},{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"},{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"},{\"_id\":\"endpoint/Test\",\"description\":\"test\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"},{\"_id\":\"endpoint/testEndpoint2\",\"description\":\"\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"},{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000},{\"_id\":\"fidc/federation-EntraID\",\"groups\":{\"claim\":\"groups\",\"mappings\":{\"super-admins\":[\"750d8eca-c15e-4944-a8a7-537a0f3e8dd6\"],\"tenant-admins\":[\"93b762fa-5982-4cc0-9f5b-88ab8b3e2589\"]}}},{\"_id\":\"fieldPolicy/alpha_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]},{\"_id\":\"fieldPolicy/bravo_user\",\"allowPreEncodedPasswords\":true,\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"deprecatedPasswordStorageScheme\":[\"cn=Bcrypt,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA256,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2-HMAC-SHA512,cn=Password Storage Schemes,cn=config\",\"cn=PBKDF2,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-1,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-384,cn=Password Storage Schemes,cn=config\",\"cn=Salted SHA-512,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-256,cn=Password Storage Schemes,cn=config\",\"cn=SCRAM-SHA-512,cn=Password Storage Schemes,cn=config\"],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]},{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]},{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]},{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"},{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"},{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"},{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}},{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}},{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}},{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"},{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]},{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]},{\"_id\":\"privileges\",\"privileges\":[]},{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]},{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}},{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}},{\"_id\":\"router\",\"filters\":[]},{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}},{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]},{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}},{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]},{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]},{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]},{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]},{\"_id\":\"sync\",\"mappings\":[{\"_id\":\"sync/managedBravo_user_managedBravo_user\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedAlpha_user_managedBravo_user\",\"consentRequired\":true,\"displayName\":\"Test Mapping for Frodo\",\"icon\":null,\"name\":\"managedAlpha_user_managedBravo_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"console.log(\\\"Hello World!\\\");\",\"type\":\"text/javascript\"},\"default\":[\"Default value string\"],\"source\":\"accountStatus\",\"target\":\"applications\",\"transform\":{\"globals\":{},\"source\":\"console.log(\\\"hello\\\");\",\"type\":\"text/javascript\"}}],\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\"],\"target\":\"managed/bravo_user\"},{\"_id\":\"sync/managedBravo_user_managedAlpha_user\",\"consentRequired\":false,\"displayName\":\"Frodo test mapping\",\"icon\":null,\"name\":\"managedBravo_user_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_user_managedBravo_user\"],\"target\":\"managed/alpha_user\"},{\"_id\":\"sync/AlphaUser2GoogleApps\",\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"__NAME__\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"AlphaUser2GoogleApps\",\"type\":\"text/javascript\"}],\"displayName\":\"AlphaUser2GoogleApps\",\"enableSync\":{\"$bool\":\"&{esv.gac.enable.mapping}\"},\"icon\":null,\"name\":\"AlphaUser2GoogleApps\",\"onCreate\":{\"globals\":{},\"source\":\"target.orgUnitPath = \\\"/NewAccounts\\\";\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"//testing1234\\ntarget.givenName = oldTarget.givenName;\\ntarget.familyName = oldTarget.familyName;\\ntarget.__NAME__ = oldTarget.__NAME__;\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"UNLINK\",\"situation\":\"SOURCE_MISSING\"},{\"action\":{\"globals\":{},\"source\":\"// Timing Constants\\nvar ATTEMPT = 6; // Number of attempts to find the Google user.\\nvar SLEEP_TIME = 500; // Milliseconds between retries.\\nvar SYSTEM_ENDPOINT = \\\"system/GoogleApps/__ACCOUNT__\\\";\\nvar MAPPING_NAME = \\\"AlphaUser2GoogleApps\\\";\\nvar GOOGLE_DOMAIN = identityServer.getProperty(\\\"esv.gac.domain\\\");\\nvar googleEmail = source.userName + \\\"@\\\" + GOOGLE_DOMAIN;\\nvar frUserGUID = source._id;\\nvar resultingAction = \\\"ASYNC\\\";\\n\\n// Get the Google GUID\\nvar linkQueryParams = {'_queryFilter': 'firstId eq \\\"' + frUserGUID + '\\\" and linkType eq \\\"' + MAPPING_NAME + '\\\"'};\\nvar linkResults = openidm.query(\\\"repo/link/\\\", linkQueryParams, null);\\nvar googleGUID;\\n\\nif (linkResults.resultCount === 1) {\\n googleGUID = linkResults.result[0].secondId;\\n}\\n\\nvar queryResults; // Resulting query from looking for the Google user.\\nvar params = {'_queryFilter': '__UID__ eq \\\"' + googleGUID + '\\\"'};\\n\\nfor (var i = 1; i <= ATTEMPT; i++) {\\n queryResults = openidm.query(SYSTEM_ENDPOINT, params);\\n if (queryResults.result && queryResults.result.length > 0) {\\n logger.info(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UPDATE - Result found in \\\" + i + \\\" attempts. Query result: \\\" + JSON.stringify(queryResults));\\n resultingAction = \\\"UPDATE\\\";\\n break;\\n }\\n java.lang.Thread.sleep(SLEEP_TIME); // Wait before trying again.\\n}\\n\\nif (!queryResults.result || queryResults.resultCount === 0) {\\n logger.warn(\\\"idmlog: ---AlphaUser2GoogleApps - Missing->UNLINK - \\\" + googleEmail + \\\" not found after \\\" + ATTEMPT + \\\" attempts.\\\");\\n resultingAction = \\\"UNLINK\\\";\\n}\\nresultingAction;\\n\",\"type\":\"text/javascript\"},\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"IGNORE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"IGNORE\",\"situation\":\"UNASSIGNED\"},{\"action\":\"UNLINK\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"condition\":{\"globals\":{},\"source\":\"object.custom_password_encrypted != null\",\"type\":\"text/javascript\"},\"source\":\"custom_password_encrypted\",\"target\":\"__PASSWORD__\",\"transform\":{\"globals\":{},\"source\":\"openidm.decrypt(source);\",\"type\":\"text/javascript\"}},{\"source\":\"cn\",\"target\":\"__NAME__\",\"transform\":{\"globals\":{},\"source\":\"source + \\\"@\\\" + identityServer.getProperty(\\\"esv.gac.domain\\\");\",\"type\":\"text/javascript\"}},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"familyName\",\"transform\":{\"globals\":{},\"source\":\"if (source.frIndexedInteger1 > 2 && source.frIndexedInteger1 < 6) {\\n source.sn + \\\" (Student)\\\"\\n} else {\\n source.sn\\n}\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxQueueSize\":20000,\"maxRetries\":5,\"pageSize\":100,\"pollingInterval\":1000,\"postRetryAction\":\"logged-ignore\",\"retryDelay\":1000},\"source\":\"managed/alpha_user\",\"syncAfter\":[\"managedBravo_user_managedBravo_user\",\"managedAlpha_application_managedBravo_application\",\"managedAlpha_user_managedBravo_user\",\"managedBravo_user_managedAlpha_user\"],\"target\":\"system/GoogleApps/__ACCOUNT__\",\"validSource\":{\"globals\":{},\"source\":\"var isGoogleEligible = true;\\n//var logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\" cn: \\\" + source.cn + \\\") -\\\";\\nvar logMsg = \\\"idmlog: ---AplhaUser2GAC (username: \\\" + source.userName + \\\" - userType: \\\" + source.frIndexedInteger1 + \\\") -\\\";\\n\\n//Get Applicable userTypes (no Parent accounts)\\nif (source.frIndexedInteger1 !== 0 && source.frIndexedInteger1 !== 1 && source.frIndexedInteger1 !== 3 && source.frIndexedInteger1 !== 4 && source.frIndexedInteger1 !== 5) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" Account type not eligible.\\\";\\n}\\n\\n//Make sure the account has a valid encrypted password.\\nif (source.custom_password_encrypted == undefined || source.custom_password_encrypted == null) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" No encrypted password yet.\\\";\\n}\\n\\n//Check that CN exists and has no space.\\nif (source.cn && source.cn.includes(' ')) {\\n\\tisGoogleEligible = false;\\n\\tlogMsg = logMsg + \\\" CN with a space is not allowed.\\\";\\n}\\n\\nif (!isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Not sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n} \\n\\nif (isGoogleEligible) {\\n\\tlogMsg = logMsg + \\\" Sent to Google.\\\"\\n\\tlogger.info(logMsg);\\n}\\n\\nisGoogleEligible;\\n\",\"type\":\"text/javascript\"}}]},{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"},{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"},{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"},{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"},{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}},{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}},{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]},{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]},{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}},{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}},{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}],\"resultCount\":69,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":69,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:01 GMT" }, { "name": "cache-control", @@ -3732,13 +4065,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "372" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3755,16 +4084,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.147Z", - "time": 312, + "startedDateTime": "2024-11-05T21:22:01.967Z", + "time": 126, "timings": { "blocked": -1, "connect": -1, @@ -3772,11 +4105,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 312 + "wait": 126 } }, { - "_id": "28453a3e7da97d052e31a91c781dc6c2", + "_id": "05deaa1004d850ca435cf54019a825fb", "_order": 0, "cache": {}, "request": { @@ -3797,7 +4130,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3812,24 +4145,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1895, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.email" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/access" }, "response": { - "bodySize": 438, + "bodySize": 6529, "content": { "mimeType": "application/json;charset=utf-8", - "size": 438, - "text": "{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" + "size": 6529, + "text": "{\"_id\":\"access\",\"configs\":[{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/*\",\"roles\":\"*\"},{\"actions\":\"login,logout\",\"methods\":\"read,action\",\"pattern\":\"authentication\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fidc/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"*\",\"pattern\":\"config/fidc/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themeconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/themerealm\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/uilocale/*\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/fieldPolicy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"info/uiconfig\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/dashboard\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"query\",\"pattern\":\"info/features\",\"roles\":\"*\"},{\"actions\":\"listPrivileges\",\"methods\":\"action\",\"pattern\":\"privilege\",\"roles\":\"*\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"privilege/*\",\"roles\":\"*\"},{\"actions\":\"validate\",\"methods\":\"action\",\"pattern\":\"util/validateQueryFilter\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"checkIfAnyFeatureEnabled('kba')\",\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"excludePatterns\":\"repo,repo/*\",\"methods\":\"*\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"\",\"methods\":\"create,read,update,delete,patch,query\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"methods\":\"script\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"test,testConfig,createconfiguration,liveSync,authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"*\",\"customAuthz\":\"disallowCommandAction()\",\"methods\":\"*\",\"pattern\":\"repo/*\",\"roles\":\"internal/role/openidm-admin\"},{\"actions\":\"command\",\"customAuthz\":\"request.additionalParameters.commandId === 'delete-mapping-links'\",\"methods\":\"action\",\"pattern\":\"repo/link\",\"roles\":\"internal/role/openidm-admin\"},{\"methods\":\"create,read,query,patch\",\"pattern\":\"managed/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read,query\",\"pattern\":\"internal/role/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"create,read,action,update\",\"pattern\":\"profile/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"schema/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"action,query\",\"pattern\":\"consent\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/kba\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"selfservice/terms\",\"roles\":\"internal/role/platform-provisioning\"},{\"methods\":\"read\",\"pattern\":\"identityProviders\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"sendTemplate\",\"methods\":\"action\",\"pattern\":\"external/email\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"authenticate\",\"methods\":\"action\",\"pattern\":\"system/*\",\"roles\":\"internal/role/platform-provisioning\"},{\"actions\":\"*\",\"methods\":\"read,action\",\"pattern\":\"policy/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"methods\":\"read\",\"pattern\":\"config/ui/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"bind,unbind\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,action,delete\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"(request.resourcePath === 'selfservice/user/' + context.security.authorization.id) && onlyEditableManagedObjectProperties('user', [])\",\"methods\":\"patch,action\",\"pattern\":\"selfservice/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"isQueryOneOf({'managed/user': ['for-userName']}) && restrictPatchToFields(['password'])\",\"methods\":\"patch,action\",\"pattern\":\"managed/user\",\"roles\":\"internal/role/openidm-cert\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_meta', false)\",\"methods\":\"read\",\"pattern\":\"internal/usermeta/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipProperty('_notifications', true)\",\"methods\":\"read,delete\",\"pattern\":\"internal/notification/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('alpha_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/alpha_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"\",\"customAuthz\":\"ownDataOnly()\",\"methods\":\"read,delete\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"patch\",\"customAuthz\":\"ownDataOnly() && onlyEditableManagedObjectProperties('bravo_user', [])\",\"methods\":\"update,patch,action\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"*\",\"customAuthz\":\"ownRelationshipCollection(['_meta','_notifications'])\",\"methods\":\"read,query\",\"pattern\":\"managed/bravo_user/*\",\"roles\":\"internal/role/openidm-authorized\"},{\"actions\":\"deleteNotificationsForTarget\",\"customAuthz\":\"request.additionalParameters.target === (context.security.authorization.component + '/' + context.security.authorization.id)\",\"methods\":\"action\",\"pattern\":\"notification\",\"roles\":\"internal/role/openidm-authorized\"}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -3873,11 +4206,11 @@ }, { "name": "content-length", - "value": "438" + "value": "6529" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -3896,14 +4229,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.148Z", - "time": 307, + "startedDateTime": "2024-11-05T21:22:02.114Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -3911,11 +4244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 307 + "wait": 79 } }, { - "_id": "27efd4e742e7c032fbc1dbb904049e2e", + "_id": "3008decc523d17ff804c6e75c8d7cc72", "_order": 0, "cache": {}, "request": { @@ -3936,7 +4269,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -3951,24 +4284,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1907, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.emailDefault" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/alphaOrgPrivileges" }, "response": { - "bodySize": 445, + "bodySize": 8640, "content": { "mimeType": "application/json;charset=utf-8", - "size": 445, - "text": "{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" + "size": 8640, + "text": "{\"_id\":\"alphaOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/alpha_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/alpha_user\",\"permissions\":[\"CREATE\"]}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4012,11 +4345,11 @@ }, { "name": "content-length", - "value": "445" + "value": "8640" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4035,14 +4368,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.149Z", - "time": 256, + "startedDateTime": "2024-11-05T21:22:02.115Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -4050,11 +4383,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 256 + "wait": 78 } }, { - "_id": "9ca216a939a91a982bfe390dacf09c84", + "_id": "c58e7a5a4e0db6fbabe2dad65422529e", "_order": 0, "cache": {}, "request": { @@ -4075,7 +4408,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4090,29 +4423,33 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1894, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fidc/federation-EntraID" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/audit" }, "response": { - "bodySize": 59, + "bodySize": 2757, "content": { "mimeType": "application/json;charset=utf-8", - "size": 59, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"Access denied\"}" + "size": 2757, + "text": "{\"_id\":\"audit\",\"auditServiceConfig\":{\"availableAuditEventHandlers\":[\"org.forgerock.audit.handlers.csv.CsvAuditEventHandler\",\"org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler\",\"org.forgerock.audit.handlers.jms.JmsAuditEventHandler\",\"org.forgerock.audit.handlers.json.JsonAuditEventHandler\",\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"org.forgerock.openidm.audit.impl.RouterAuditEventHandler\",\"org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler\",\"org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler\"],\"caseInsensitiveFields\":[\"/access/http/request/headers\",\"/access/http/response/headers\"],\"filterPolicies\":{\"value\":{\"excludeIf\":[\"/access/http/request/cookies/&{com.iplanet.am.cookie.name}\",\"/access/http/request/cookies/session-jwt\",\"/access/http/request/headers/&{com.sun.identity.auth.cookieName}\",\"/access/http/request/headers/&{com.iplanet.am.cookie.name}\",\"/access/http/request/headers/accept-encoding\",\"/access/http/request/headers/accept-language\",\"/access/http/request/headers/Authorization\",\"/access/http/request/headers/cache-control\",\"/access/http/request/headers/connection\",\"/access/http/request/headers/content-length\",\"/access/http/request/headers/content-type\",\"/access/http/request/headers/proxy-authorization\",\"/access/http/request/headers/X-OpenAM-Password\",\"/access/http/request/headers/X-OpenIDM-Password\",\"/access/http/request/queryParameters/access_token\",\"/access/http/request/queryParameters/IDToken1\",\"/access/http/request/queryParameters/id_token_hint\",\"/access/http/request/queryParameters/Login.Token1\",\"/access/http/request/queryParameters/redirect_uri\",\"/access/http/request/queryParameters/requester\",\"/access/http/request/queryParameters/sessionUpgradeSSOTokenId\",\"/access/http/request/queryParameters/tokenId\",\"/access/http/response/headers/Authorization\",\"/access/http/response/headers/Set-Cookie\",\"/access/http/response/headers/X-OpenIDM-Password\"],\"includeIf\":[]}},\"handlerForQueries\":\"json\"},\"eventHandlers\":[{\"class\":\"org.forgerock.audit.handlers.json.stdout.JsonStdoutAuditEventHandler\",\"config\":{\"name\":\"json\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}},{\"class\":\"org.forgerock.openidm.audit.impl.RepositoryAuditEventHandler\",\"config\":{\"enabled\":false,\"name\":\"repo\",\"topics\":[\"access\",\"activity\",\"sync\",\"authentication\",\"config\"]}}],\"eventTopics\":{\"activity\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]},\"passwordFields\":[\"password\"],\"watchedFields\":[]},\"config\":{\"filter\":{\"actions\":[\"create\",\"update\",\"delete\",\"patch\",\"action\"]}}},\"exceptionFormatter\":{\"file\":\"bin/defaults/script/audit/stacktraceFormatter.js\",\"type\":\"text/javascript\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", "value": "no-store" }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -4147,11 +4484,11 @@ }, { "name": "content-length", - "value": "59" + "value": "2757" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4170,14 +4507,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 615, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.150Z", - "time": 202, + "startedDateTime": "2024-11-05T21:22:02.116Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -4185,11 +4522,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 202 + "wait": 77 } }, { - "_id": "0dc2e535613d6c1c013b8b3f93bf8758", + "_id": "e4ec98eee8e211f63c36ec50a24ce5c5", "_order": 0, "cache": {}, "request": { @@ -4210,7 +4547,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4225,28 +4562,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1911, + "headersSize": 1903, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/alpha_user" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/authentication" }, "response": { - "bodySize": 888, + "bodySize": 779, "content": { "mimeType": "application/json;charset=utf-8", - "size": 888, - "text": "{\"_id\":\"fieldPolicy/alpha_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]}" + "size": 779, + "text": "{\"_id\":\"authentication\",\"rsFilter\":{\"augmentSecurityContext\":{\"source\":\"require('auth/orgPrivileges').assignPrivilegesToUser(resource, security, properties, subjectMapping, privileges, security.authorization.component.includes('/alpha_') ? 'alphaOrgPrivileges' : 'bravoOrgPrivileges', 'privilegeAssignments');\",\"type\":\"text/javascript\"},\"cache\":{\"maxTimeout\":\"300 seconds\"},\"scopes\":[\"fr:idm:*\"],\"staticUserMapping\":[{\"localUser\":\"internal/user/idm-provisioning\",\"roles\":[\"internal/role/openidm-admin\"],\"subject\":\"autoid-resource-server\"}],\"subjectMapping\":[{\"additionalUserFields\":[\"adminOfOrg\",\"ownerOfOrg\"],\"defaultRoles\":[\"internal/role/openidm-authorized\"],\"propertyMapping\":{\"sub\":\"_id\"},\"queryOnResource\":\"managed/{{substring realm 1}}_user\",\"userRoles\":\"authzRoles/*\"}]}}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "DENY" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4284,9 +4617,17 @@ "name": "x-content-type-options", "value": "nosniff" }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "779" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4303,20 +4644,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.151Z", - "time": 300, + "startedDateTime": "2024-11-05T21:22:02.116Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -4324,11 +4661,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 300 + "wait": 78 } }, { - "_id": "25f7d116e01ab8a8d0373d0ce72c5977", + "_id": "ec18dd64f5cbaf91ec0f966c097a2381", "_order": 0, "cache": {}, "request": { @@ -4349,7 +4686,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4364,28 +4701,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1911, + "headersSize": 1932, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/bravo_user" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoEmailVerification" }, "response": { - "bodySize": 866, + "bodySize": 3342, "content": { "mimeType": "application/json;charset=utf-8", - "size": 866, - "text": "{\"_id\":\"fieldPolicy/bravo_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]}" + "size": 3342, + "text": "{\"_id\":\"emailTemplate/baselineDemoEmailVerification\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Email Verification\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verification for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Email Verification


Hello,

Great to have you on board.



Verify Your Account

Finish the steps of verfication for the account by clicking the button below.


Click Here to Verify Your Account

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Please verify your email address\"},\"templateId\":\"baselineDemoEmailVerification\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "DENY" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4423,9 +4756,17 @@ "name": "x-content-type-options", "value": "nosniff" }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "3342" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4442,20 +4783,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.152Z", - "time": 287, + "startedDateTime": "2024-11-05T21:22:02.117Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -4463,11 +4800,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 287 + "wait": 78 } }, { - "_id": "f36f2bc20ace478fc7ecbc6df5df937d", + "_id": "9c0a73d0dfb560158488caa28b671a40", "_order": 0, "cache": {}, "request": { @@ -4488,7 +4825,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4503,24 +4840,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1897, + "headersSize": 1907, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/internal" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/bravoOrgPrivileges" }, "response": { - "bodySize": 270, + "bodySize": 8640, "content": { "mimeType": "application/json;charset=utf-8", - "size": 270, - "text": "{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]}" + "size": 8640, + "text": "{\"_id\":\"bravoOrgPrivileges\",\"privileges\":[{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/ownerIDs eq \\\"{{_id}}\\\" or /parentOwnerIDs eq \\\"{{_id}}\\\"\",\"name\":\"owner-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":false},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"owner-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"owner-view-update-delete-admins-and-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":false},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and /adminOfOrg/0 pr and !(/ownerOfOrg pr)\",\"name\":\"owner-create-admins\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/adminIDs eq \\\"{{_id}}\\\" or /parentAdminIDs eq \\\"{{_id}}\\\"\",\"name\":\"admin-view-update-delete-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"VIEW\",\"UPDATE\",\"DELETE\"]},{\"accessFlags\":[{\"attribute\":\"name\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"owners\",\"readOnly\":true},{\"attribute\":\"admins\",\"readOnly\":true},{\"attribute\":\"members\",\"readOnly\":false},{\"attribute\":\"parent\",\"readOnly\":false},{\"attribute\":\"children\",\"readOnly\":false},{\"attribute\":\"parentIDs\",\"readOnly\":true},{\"attribute\":\"adminIDs\",\"readOnly\":true},{\"attribute\":\"parentAdminIDs\",\"readOnly\":true},{\"attribute\":\"ownerIDs\",\"readOnly\":true},{\"attribute\":\"parentOwnerIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/parent pr\",\"name\":\"admin-create-orgs\",\"path\":\"managed/bravo_organization\",\"permissions\":[\"CREATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrgIDs eq \\\"__org_id_placeholder__\\\"\",\"name\":\"admin-view-update-delete-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"VIEW\",\"DELETE\",\"UPDATE\"]},{\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"password\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":false},{\"attribute\":\"telephoneNumber\",\"readOnly\":false},{\"attribute\":\"postalAddress\",\"readOnly\":false},{\"attribute\":\"city\",\"readOnly\":false},{\"attribute\":\"postalCode\",\"readOnly\":false},{\"attribute\":\"country\",\"readOnly\":false},{\"attribute\":\"stateProvince\",\"readOnly\":false},{\"attribute\":\"roles\",\"readOnly\":false},{\"attribute\":\"groups\",\"readOnly\":false},{\"attribute\":\"manager\",\"readOnly\":false},{\"attribute\":\"authzRoles\",\"readOnly\":false},{\"attribute\":\"reports\",\"readOnly\":false},{\"attribute\":\"effectiveRoles\",\"readOnly\":false},{\"attribute\":\"effectiveAssignments\",\"readOnly\":false},{\"attribute\":\"effectiveGroups\",\"readOnly\":false},{\"attribute\":\"lastSync\",\"readOnly\":false},{\"attribute\":\"kbaInfo\",\"readOnly\":false},{\"attribute\":\"preferences\",\"readOnly\":false},{\"attribute\":\"consentedMappings\",\"readOnly\":false},{\"attribute\":\"memberOfOrg\",\"readOnly\":false},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true}],\"actions\":[],\"filter\":\"/memberOfOrg/0 pr and !(/adminOfOrg pr) and !(/ownerOfOrg pr)\",\"name\":\"admin-create-members\",\"path\":\"managed/bravo_user\",\"permissions\":[\"CREATE\"]}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4564,11 +4901,11 @@ }, { "name": "content-length", - "value": "270" + "value": "8640" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4587,14 +4924,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.153Z", - "time": 237, + "startedDateTime": "2024-11-05T21:22:02.117Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -4602,11 +4939,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 237 + "wait": 83 } }, { - "_id": "26a0eae3c0a15f3d76eab3c87d2086d9", + "_id": "d80d0ddfde8c6e4904c7048f7a16a9c5", "_order": 0, "cache": {}, "request": { @@ -4627,7 +4964,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4642,28 +4979,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1924, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/managed" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/baselineDemoMagicLink" }, "response": { - "bodySize": 93761, + "bodySize": 2484, "content": { "mimeType": "application/json;charset=utf-8", - "size": 93761, - "text": "{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]}" + "size": 2484, + "text": "{\"_id\":\"emailTemplate/baselineDemoMagicLink\",\"defaultLocale\":\"en\",\"displayName\":\"Baseline Demo Magic Link\",\"enabled\":true,\"from\":\"security@example.com\",\"html\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back


Hello,

You're receiving this email because you requested a link to sign you into your account.



Finish Signing In

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #f6f6f6;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n h1 {\\n font-size: 40px;\\n text-align: center;\\n}\\n h2 {\\n font-size: 36px;\\n}\\n h3 {\\n font-size: 32px;\\n}\\n h4 {\\n font-size: 28px;\\n}\\n h5 {\\n font-size: 24px;\\n}\\n h6 {\\n font-size: 20px;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 600px \\n}\\n .button {\\n background-color: #109cf1;\\n border: none;\\n color: white;\\n padding: 15px 32px;\\n text-align: center;\\n text-decoration: none;\\n display: inline-block;\\n font-size: 16px;\\n}\\n \",\"subject\":{\"en\":\"Your sign-in link\"},\"templateId\":\"baselineDemoMagicLink\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "DENY" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4701,9 +5034,17 @@ "name": "x-content-type-options", "value": "nosniff" }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "2484" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4720,20 +5061,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.154Z", - "time": 364, + "startedDateTime": "2024-11-05T21:22:02.118Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -4741,11 +5078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 364 + "wait": 74 } }, { - "_id": "8be795ddbd15a816c903f4481d7d145d", + "_id": "9d88f2620d3b7879502866706f1b08e7", "_order": 0, "cache": {}, "request": { @@ -4766,7 +5103,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4781,24 +5118,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1944, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_assignment_managedBravo_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/forgottenUsername" }, "response": { - "bodySize": 901, + "bodySize": 2036, "content": { "mimeType": "application/json;charset=utf-8", - "size": 901, - "text": "{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"}" + "size": 2036, + "text": "{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4842,11 +5179,11 @@ }, { "name": "content-length", - "value": "901" + "value": "2036" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -4865,14 +5202,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.155Z", - "time": 176, + "startedDateTime": "2024-11-05T21:22:02.118Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -4880,11 +5217,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 176 + "wait": 78 } }, { - "_id": "0f479979ba0b7d49bb4ec853c418a697", + "_id": "e3ffd4109aab37d16eeec1b2247b6e81", "_order": 0, "cache": {}, "request": { @@ -4905,7 +5242,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -4920,24 +5257,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1919, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_user_systemAzureUser" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frForgotUsername" }, "response": { - "bodySize": 2502, + "bodySize": 1803, "content": { "mimeType": "application/json;charset=utf-8", - "size": 2502, - "text": "{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"}" + "size": 1803, + "text": "{\"_id\":\"emailTemplate/frForgotUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Forgot your username?

Your username is {{ object.userName }}.

Sign In to Your Account

If you didn't request this, please ignore this email.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Forgot Username\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -4981,11 +5318,11 @@ }, { "name": "content-length", - "value": "2502" + "value": "1803" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5010,8 +5347,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.156Z", - "time": 302, + "startedDateTime": "2024-11-05T21:22:02.119Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -5019,11 +5356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 302 + "wait": 75 } }, { - "_id": "8967000e5c469e312f46869604f69cb4", + "_id": "eae69243d1e21f5c8ac2567ec6a742d5", "_order": 0, "cache": {}, "request": { @@ -5044,7 +5381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5059,24 +5396,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1934, + "headersSize": 1917, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_group_managedBravo_group" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frEmailUpdated" }, "response": { - "bodySize": 861, + "bodySize": 1629, "content": { "mimeType": "application/json;charset=utf-8", - "size": 861, - "text": "{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"}" + "size": 1629, + "text": "{\"_id\":\"emailTemplate/frEmailUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account email has changed

Your ForgeRock Identity Cloud email has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your email has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5120,11 +5457,11 @@ }, { "name": "content-length", - "value": "861" + "value": "1629" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5143,14 +5480,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.157Z", - "time": 206, + "startedDateTime": "2024-11-05T21:22:02.119Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -5158,11 +5495,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 206 + "wait": 79 } }, { - "_id": "5f373cefd7baf3a1537401e32c681b7e", + "_id": "3dc6a089c77d8136e5f62223a5af97d6", "_order": 0, "cache": {}, "request": { @@ -5183,7 +5520,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5198,24 +5535,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1933, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_user_managedBravo_user0" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frOnboarding" }, "response": { - "bodySize": 856, + "bodySize": 1953, "content": { "mimeType": "application/json;charset=utf-8", - "size": 856, - "text": "{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}" + "size": 1953, + "text": "{\"_id\":\"emailTemplate/frOnboarding\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account is ready

Your ForgeRock Identity Cloud account is ready. Click the button below to complete registration and access your environment.

Complete Registration

If you did not request this account, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Complete your ForgeRock Identity Cloud registration\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5259,11 +5596,11 @@ }, { "name": "content-length", - "value": "856" + "value": "1953" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5282,153 +5619,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:09.158Z", - "time": 285, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 285 - } - }, - { - "_id": "0207f574f0273ae55f429cb6ea1285d8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1906, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/mapping12" - }, - "response": { - "bodySize": 221, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 221, - "text": "{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "221" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.159Z", - "time": 158, + "startedDateTime": "2024-11-05T21:22:02.120Z", + "time": 356, "timings": { "blocked": -1, "connect": -1, @@ -5436,11 +5634,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 158 + "wait": 356 } }, { - "_id": "c52e9a3d12ecc4fdb76963f860ebd0f4", + "_id": "4631fd277b76a8b2e86dc17da2d075a5", "_order": 0, "cache": {}, "request": { @@ -5461,7 +5659,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5476,24 +5674,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1941, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzure__group___managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frPasswordUpdated" }, "response": { - "bodySize": 1890, + "bodySize": 1641, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1890, - "text": "{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}}" + "size": 1641, + "text": "{\"_id\":\"emailTemplate/frPasswordUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account password has changed

Your ForgeRock Identity Cloud password has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your password has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5537,11 +5735,11 @@ }, { "name": "content-length", - "value": "1890" + "value": "1641" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5566,8 +5764,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.160Z", - "time": 171, + "startedDateTime": "2024-11-05T21:22:02.121Z", + "time": 170, "timings": { "blocked": -1, "connect": -1, @@ -5575,11 +5773,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 171 + "wait": 170 } }, { - "_id": "1bbc4f9da6bfb6ee5b7b8d09ac70fd40", + "_id": "795218d01b11ce6c7533d87d083a985f", "_order": 0, "cache": {}, "request": { @@ -5600,7 +5798,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5615,24 +5813,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1945, + "headersSize": 1919, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureDirectoryrole_managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frProfileUpdated" }, "response": { - "bodySize": 1912, + "bodySize": 1637, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1912, - "text": "{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}}" + "size": 1637, + "text": "{\"_id\":\"emailTemplate/frProfileUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account profile has changed

Your ForgeRock Identity Cloud profile has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your profile has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5676,11 +5874,11 @@ }, { "name": "content-length", - "value": "1912" + "value": "1637" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5705,8 +5903,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.161Z", - "time": 279, + "startedDateTime": "2024-11-05T21:22:02.122Z", + "time": 230, "timings": { "blocked": -1, "connect": -1, @@ -5714,11 +5912,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 230 } }, { - "_id": "33c39a686936ca4a048fe8ed78795d76", + "_id": "16a23b1a7df63bb69d21abc4b0b7a200", "_order": 0, "cache": {}, "request": { @@ -5739,7 +5937,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5754,24 +5952,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1943, + "headersSize": 1918, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureServiceplan_managedAlpha_assignment" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frResetPassword" }, "response": { - "bodySize": 1944, + "bodySize": 1959, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1944, - "text": "{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}}" + "size": 1959, + "text": "{\"_id\":\"emailTemplate/frResetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Reset your password

It seems you have forgotten the password for your ForgeRock Identity Cloud account. Click the button below to reset your password and access your environment.

Reset Password

If you did not request to reset your password, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5815,11 +6013,11 @@ }, { "name": "content-length", - "value": "1944" + "value": "1959" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5844,8 +6042,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.162Z", - "time": 246, + "startedDateTime": "2024-11-05T21:22:02.124Z", + "time": 166, "timings": { "blocked": -1, "connect": -1, @@ -5853,11 +6051,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 246 + "wait": 166 } }, { - "_id": "e49472ca94bbac97edd83f9fa64e64d4", + "_id": "9b2b0dd8f20e18ad7545f7a3b05ee187", "_order": 0, "cache": {}, "request": { @@ -5878,7 +6076,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -5893,24 +6091,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1920, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureUser_managedAlpha_user" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/frUsernameUpdated" }, "response": { - "bodySize": 1583, + "bodySize": 1641, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1583, - "text": "{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}" + "size": 1641, + "text": "{\"_id\":\"emailTemplate/frUsernameUpdated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"
\\\"ForgeRock

Your account username has changed

Your ForgeRock Identity Cloud username has been changed. If you did not request this change, please contact ForgeRock support.

Thanks,
The ForgeRock Team

© 2001-{{ object.currentYear }} ForgeRock Inc®, All Rights Reserved.
201 Mission St Suite 2900, San Francisco, CA 94105
Privacy Policy
\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Your username has been updated\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -5954,11 +6152,11 @@ }, { "name": "content-length", - "value": "1583" + "value": "1641" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -5983,8 +6181,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.163Z", - "time": 286, + "startedDateTime": "2024-11-05T21:22:02.125Z", + "time": 157, "timings": { "blocked": -1, "connect": -1, @@ -5992,11 +6190,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 286 + "wait": 157 } }, { - "_id": "6692c58345f71bfc94cc4b8615559cc5", + "_id": "80338c2879098c77bfa4a49dcc62b6dd", "_order": 0, "cache": {}, "request": { @@ -6017,7 +6215,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6032,24 +6230,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/policy" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/idv" }, "response": { - "bodySize": 52, + "bodySize": 1661, "content": { "mimeType": "application/json;charset=utf-8", - "size": 52, - "text": "{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]}" + "size": 1661, + "text": "{\"_id\":\"emailTemplate/idv\",\"defaultLocale\":\"en\",\"description\":\"Identity Verification Invitation\",\"displayName\":\"idv\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

Click the link below to verify your identity:

Verify my identity now

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"name\":\"registration\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"You have been invited to verify your identity\",\"fr\":\"Créer un nouveau compte\"},\"templateId\":\"idv\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6093,11 +6291,11 @@ }, { "name": "content-length", - "value": "52" + "value": "1661" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6116,14 +6314,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.164Z", - "time": 190, + "startedDateTime": "2024-11-05T21:22:02.126Z", + "time": 251, "timings": { "blocked": -1, "connect": -1, @@ -6131,11 +6329,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 190 + "wait": 251 } }, { - "_id": "51ffae64b1cf4519a279faeb445f12b0", + "_id": "f0c35027444193fdf892e455b781641a", "_order": 0, "cache": {}, "request": { @@ -6156,7 +6354,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6175,20 +6373,20 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privilegeAssignments" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/joiner" }, "response": { - "bodySize": 493, + "bodySize": 1985, "content": { "mimeType": "application/json;charset=utf-8", - "size": 493, - "text": "{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]}" + "size": 1985, + "text": "{\"_id\":\"emailTemplate/joiner\",\"advancedEditor\":true,\"defaultLocale\":\"en\",\"description\":\"This email will be sent onCreate of user to the external eMail address provided during creation. An OTP will also be sent to Telephone Number provided during creation to validate the user. The user will then be able to set their password and ForgeRock Push Authenticator\",\"displayName\":\"Joiner\",\"enabled\":true,\"from\":\"\\\"Encore HR\\\" \",\"html\":{\"en\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\n

\\n

Welcome to Encore {{object.givenName}} {{object.sn}}

\\n

Please click on the link below to validate your phone number with a One Time Code that will be sent via SMS or called to you depending on your phone type.

\\n

You will see your UserName and have the ability to set your password that will be used to login to Encore resources.

\\n

As we believe in enhanced security, you will also be setting up a Push Notification for future use.

\\n Click to Join Encore\\n
\\n \\n\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n \",\"subject\":{\"en\":\"Welcome to Encore!\"},\"templateId\":\"joiner\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6232,11 +6430,11 @@ }, { "name": "content-length", - "value": "493" + "value": "1985" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6255,14 +6453,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.165Z", - "time": 271, + "startedDateTime": "2024-11-05T21:22:02.127Z", + "time": 185, "timings": { "blocked": -1, "connect": -1, @@ -6270,11 +6468,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 271 + "wait": 185 } }, { - "_id": "0efa4fab6ab26eb266b9e217050b5a78", + "_id": "d2c63175b61abfe3e65fe6bd4ea8b6de", "_order": 0, "cache": {}, "request": { @@ -6295,7 +6493,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6310,24 +6508,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1899, + "headersSize": 1929, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privileges" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registerPasswordlessDevice" }, "response": { - "bodySize": 36, + "bodySize": 2744, "content": { "mimeType": "application/json;charset=utf-8", - "size": 36, - "text": "{\"_id\":\"privileges\",\"privileges\":[]}" + "size": 2744, + "text": "{\"_id\":\"emailTemplate/registerPasswordlessDevice\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"Register Passwordless Device\",\"enabled\":true,\"from\":\"\\\"ForgeRock Identity Cloud\\\" \",\"html\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"message\":{\"en\":\"

Welcome back

\\\"alt


Hello,

You're receiving this email because you requested a link to register a new passwordless device.



Register New Device

This link will expire in 24 hours.


-- The ForgeRock Team

www.forgerock.com

201 Mission St Suite 2900

San Francisco, CA 94105

support@forgerock.com


If you did not request for this email, please ignore and we won't email you again.

ForgeRock | Privacy Policy

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Your magic link is here - register new WebAuthN device\"},\"templateId\":\"registerPasswordlessDevice\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6371,11 +6569,11 @@ }, { "name": "content-length", - "value": "36" + "value": "2744" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6394,14 +6592,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.166Z", - "time": 293, + "startedDateTime": "2024-11-05T21:22:02.128Z", + "time": 223, "timings": { "blocked": -1, "connect": -1, @@ -6409,11 +6607,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 293 + "wait": 223 } }, { - "_id": "346367fff63d473b9b31139e8c3b8cc7", + "_id": "756f6f48fb26d1eb4bdf4fd3e99d0117", "_order": 0, "cache": {}, "request": { @@ -6434,7 +6632,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6449,24 +6647,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1918, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openic/GoogleApps" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/registration" }, "response": { - "bodySize": 7392, + "bodySize": 1546, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7392, - "text": "{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 1546, + "text": "{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6510,11 +6708,11 @@ }, { "name": "content-length", - "value": "7392" + "value": "1546" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6539,8 +6737,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.167Z", - "time": 195, + "startedDateTime": "2024-11-05T21:22:02.129Z", + "time": 310, "timings": { "blocked": -1, "connect": -1, @@ -6548,11 +6746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 195 + "wait": 310 } }, { - "_id": "2cf5a648793b794fbac294b890b50470", + "_id": "ac61014892eddc484e84f9a6e4713f3e", "_order": 0, "cache": {}, "request": { @@ -6573,7 +6771,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6588,24 +6786,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1914, + "headersSize": 1916, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/Azure" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/resetPassword" }, "response": { - "bodySize": 11938, + "bodySize": 455, "content": { "mimeType": "application/json;charset=utf-8", - "size": 11938, - "text": "{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 455, + "text": "{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6649,11 +6847,11 @@ }, { "name": "content-length", - "value": "11938" + "value": "455" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6672,14 +6870,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 666, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.168Z", - "time": 270, + "startedDateTime": "2024-11-05T21:22:02.130Z", + "time": 338, "timings": { "blocked": -1, "connect": -1, @@ -6687,11 +6885,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 270 + "wait": 338 } }, { - "_id": "27eeb9dba71020824727be35ba50246c", + "_id": "eaa92f6f878816816fa94ff43be52525", "_order": 0, "cache": {}, "request": { @@ -6712,7 +6910,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6727,24 +6925,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1930, + "headersSize": 1917, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf.connectorinfoprovider" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/updatePassword" }, "response": { - "bodySize": 253, + "bodySize": 943, "content": { "mimeType": "application/json;charset=utf-8", - "size": 253, - "text": "{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]}" + "size": 943, + "text": "{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6788,11 +6986,11 @@ }, { "name": "content-length", - "value": "253" + "value": "943" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6817,8 +7015,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.168Z", - "time": 284, + "startedDateTime": "2024-11-05T21:22:02.131Z", + "time": 306, "timings": { "blocked": -1, "connect": -1, @@ -6826,11 +7024,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 284 + "wait": 306 } }, { - "_id": "121e27e32d185eeaa57290ecc791e8ba", + "_id": "baf600ba2674b3b630e87fd32ca35eed", "_order": 0, "cache": {}, "request": { @@ -6851,7 +7049,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -6866,24 +7064,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1919, + "headersSize": 1910, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/GoogleApps" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" }, "response": { - "bodySize": 7393, + "bodySize": 839, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7393, - "text": "{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + "size": 839, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"},\"templateId\":\"welcome\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -6927,11 +7125,11 @@ }, { "name": "content-length", - "value": "7393" + "value": "839" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -6950,14 +7148,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.169Z", - "time": 292, + "startedDateTime": "2024-11-05T21:22:02.133Z", + "time": 245, "timings": { "blocked": -1, "connect": -1, @@ -6965,11 +7163,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 292 + "wait": 245 } }, { - "_id": "4b25a3218f271450d92ae9cf4b0173ec", + "_id": "dcf3fb538218fb01091acf0d3068b78e", "_order": 0, "cache": {}, "request": { @@ -6990,7 +7188,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7005,24 +7203,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1902, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/repo.ds" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/endpoint/Test" }, "response": { - "bodySize": 40821, + "bodySize": 627, "content": { "mimeType": "application/json;charset=utf-8", - "size": 40821, - "text": "{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}}" + "size": 627, + "text": "{\"_id\":\"endpoint/Test\",\"description\":\"test\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7064,9 +7262,13 @@ "name": "x-frame-options", "value": "DENY" }, + { + "name": "content-length", + "value": "627" + }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7083,20 +7285,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.170Z", - "time": 208, + "startedDateTime": "2024-11-05T21:22:02.134Z", + "time": 300, "timings": { "blocked": -1, "connect": -1, @@ -7104,11 +7302,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 208 + "wait": 300 } }, { - "_id": "964d1f108f79d6726c8f9a9ea2f481a8", + "_id": "d9bc96a29ed35ce738f61e9595e48181", "_order": 0, "cache": {}, "request": { @@ -7129,7 +7327,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7144,24 +7342,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/router" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/endpoint/testEndpoint2" }, "response": { - "bodySize": 29, + "bodySize": 632, "content": { "mimeType": "application/json;charset=utf-8", - "size": 29, - "text": "{\"_id\":\"router\",\"filters\":[]}" + "size": 632, + "text": "{\"_id\":\"endpoint/testEndpoint2\",\"description\":\"\",\"globalsObject\":\"\\\" {\\\\n \\\\\\\"request\\\\\\\": {\\\\n \\\\\\\"method\\\\\\\": \\\\\\\"create\\\\\\\"\\\\n }\\\\n }\\\"\",\"source\":\" (function () {\\n if (request.method === 'create') {\\n // POST\\n return {};\\n } else if (request.method === 'read') {\\n // GET\\n return {};\\n } else if (request.method === 'update') {\\n // PUT\\n return {};\\n } else if (request.method === 'patch') {\\n return {};\\n } else if (request.method === 'delete') {\\n return {};\\n }\\n throw { code: 500, message: 'Unknown error' };\\n }());\",\"type\":\"text/javascript\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7205,11 +7403,11 @@ }, { "name": "content-length", - "value": "29" + "value": "632" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7228,14 +7426,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 663, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.171Z", - "time": 266, + "startedDateTime": "2024-11-05T21:22:02.135Z", + "time": 299, "timings": { "blocked": -1, "connect": -1, @@ -7243,11 +7441,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 266 + "wait": 299 } }, { - "_id": "db9e46775a8fc1f06f1976aa2f264a5c", + "_id": "a394360f37aed020d5183d19c2ff884b", "_order": 0, "cache": {}, "request": { @@ -7268,7 +7466,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7283,24 +7481,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1895, + "headersSize": 1897, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/script" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/entityId" }, "response": { - "bodySize": 1016, + "bodySize": 372, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1016, - "text": "{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}}" + "size": 372, + "text": "{\"_id\":\"entityId\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7344,11 +7542,11 @@ }, { "name": "content-length", - "value": "1016" + "value": "372" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7367,14 +7565,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.172Z", - "time": 291, + "startedDateTime": "2024-11-05T21:22:02.136Z", + "time": 330, "timings": { "blocked": -1, "connect": -1, @@ -7382,11 +7580,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 291 + "wait": 330 } }, { - "_id": "c419c3c504adf72d8d01000bfc9ed469", + "_id": "28453a3e7da97d052e31a91c781dc6c2", "_order": 0, "cache": {}, "request": { @@ -7407,7 +7605,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7422,24 +7620,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1896, + "headersSize": 1903, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/secrets" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.email" }, "response": { - "bodySize": 1863, + "bodySize": 438, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1863, - "text": "{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]}" + "size": 438, + "text": "{\"_id\":\"external.email\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7483,11 +7681,11 @@ }, { "name": "content-length", - "value": "1863" + "value": "438" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7506,14 +7704,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.173Z", - "time": 279, + "startedDateTime": "2024-11-05T21:22:02.137Z", + "time": 281, "timings": { "blocked": -1, "connect": -1, @@ -7521,11 +7719,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 281 } }, { - "_id": "fbe7ba68489c5d0631e41339e4fd7639", + "_id": "27efd4e742e7c032fbc1dbb904049e2e", "_order": 0, "cache": {}, "request": { @@ -7546,7 +7744,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7561,24 +7759,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1904, + "headersSize": 1910, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.kba" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/external.emailDefault" }, "response": { - "bodySize": 162, + "bodySize": 445, "content": { "mimeType": "application/json;charset=utf-8", - "size": 162, - "text": "{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}}" + "size": 445, + "text": "{\"_id\":\"external.emailDefault\",\"auth\":{\"enable\":true,\"password\":\"&{aic.customer.sasl.pass}\",\"username\":\"&{aic.customer.sasl.user|donotuse@pingidentity.com}\"},\"connectiontimeout\":300000,\"debug\":false,\"from\":\"&{email.sender.address}\",\"host\":\"&{aic.smtp.relay.host|smtp-relay.fr-platform.svc.cluster.local}\",\"port\":25,\"smtpProperties\":[],\"ssl\":{\"enable\":false},\"starttls\":{\"enable\":false},\"threadPoolSize\":20,\"timeout\":300000,\"writetimeout\":300000}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7622,11 +7820,11 @@ }, { "name": "content-length", - "value": "162" + "value": "445" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7651,8 +7849,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.174Z", - "time": 233, + "startedDateTime": "2024-11-05T21:22:02.138Z", + "time": 204, "timings": { "blocked": -1, "connect": -1, @@ -7660,11 +7858,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 233 + "wait": 204 } }, { - "_id": "6a7f6a43fbe911924cd85308a42e6808", + "_id": "9ca216a939a91a982bfe390dacf09c84", "_order": 0, "cache": {}, "request": { @@ -7685,7 +7883,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7700,33 +7898,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1906, + "headersSize": 1912, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.terms" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fidc/federation-EntraID" }, "response": { - "bodySize": 730, + "bodySize": 59, "content": { "mimeType": "application/json;charset=utf-8", - "size": 730, - "text": "{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]}" + "size": 59, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"Access denied\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", "value": "no-store" }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -7761,11 +7955,11 @@ }, { "name": "content-length", - "value": "730" + "value": "59" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7784,14 +7978,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 615, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:09.175Z", - "time": 148, + "startedDateTime": "2024-11-05T21:22:02.140Z", + "time": 283, "timings": { "blocked": -1, "connect": -1, @@ -7799,11 +7993,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 148 + "wait": 283 } }, { - "_id": "5318a04c884b184c62166b1a742df333", + "_id": "0dc2e535613d6c1c013b8b3f93bf8758", "_order": 0, "cache": {}, "request": { @@ -7824,7 +8018,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7839,24 +8033,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/cors" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/alpha_user" }, "response": { - "bodySize": 347, + "bodySize": 888, "content": { "mimeType": "application/json;charset=utf-8", - "size": 347, - "text": "{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]}" + "size": 888, + "text": "{\"_id\":\"fieldPolicy/alpha_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/alpha_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"alpha_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":10,\"type\":\"length-based\"},{\"_id\":\"alpha_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"alpha_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"0:abcdefghijklmnopqrstuvwxyz\",\"0:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"0:0123456789\",\"0:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"minCharacterSets\":4,\"type\":\"character-set\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -7894,17 +8092,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "347" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -7921,16 +8111,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.176Z", - "time": 282, + "startedDateTime": "2024-11-05T21:22:02.141Z", + "time": 294, "timings": { "blocked": -1, "connect": -1, @@ -7938,11 +8132,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 282 + "wait": 294 } }, { - "_id": "4f6c64229907b8f264e3019172bb624a", + "_id": "25f7d116e01ab8a8d0373d0ce72c5977", "_order": 0, "cache": {}, "request": { @@ -7963,7 +8157,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -7978,24 +8172,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1910, + "headersSize": 1911, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/payload" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/fieldPolicy/bravo_user" }, "response": { - "bodySize": 121, + "bodySize": 866, "content": { "mimeType": "application/json;charset=utf-8", - "size": 121, - "text": "{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]}" + "size": 866, + "text": "{\"_id\":\"fieldPolicy/bravo_user\",\"defaultPasswordStorageScheme\":[{\"_id\":\"PBKDF2-HMAC-SHA256\"}],\"passwordAttribute\":\"password\",\"resourceCollection\":\"managed/bravo_user\",\"type\":\"password-policy\",\"validator\":[{\"_id\":\"bravo_userPasswordPolicy-length-based-password-validator\",\"enabled\":true,\"maxPasswordLength\":0,\"minPasswordLength\":8,\"type\":\"length-based\"},{\"_id\":\"bravo_userPasswordPolicy-attribute-value-password-validator\",\"checkSubstrings\":true,\"enabled\":true,\"matchAttribute\":[\"mail\",\"userName\",\"givenName\",\"sn\"],\"minSubstringLength\":5,\"testReversedPassword\":true,\"type\":\"attribute-value\"},{\"_id\":\"bravo_userPasswordPolicy-character-set-password-validator\",\"allowUnclassifiedCharacters\":true,\"characterSet\":[\"1:abcdefghijklmnopqrstuvwxyz\",\"1:ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"1:0123456789\",\"1:~!@#$%^&*()-_=+[]{}|;:,.<>/?\\\"'\\\\`\"],\"enabled\":true,\"type\":\"character-set\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8033,17 +8231,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "121" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8060,16 +8250,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.177Z", - "time": 226, + "startedDateTime": "2024-11-05T21:22:02.142Z", + "time": 335, "timings": { "blocked": -1, "connect": -1, @@ -8077,11 +8271,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 226 + "wait": 335 } }, { - "_id": "999345e3a753991c10a21a99c97f515a", + "_id": "f36f2bc20ace478fc7ecbc6df5df937d", "_order": 0, "cache": {}, "request": { @@ -8102,7 +8296,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8117,24 +8311,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1909, + "headersSize": 1897, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/upload" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/internal" }, "response": { - "bodySize": 128, + "bodySize": 270, "content": { "mimeType": "application/json;charset=utf-8", - "size": 128, - "text": "{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]}" + "size": 270, + "text": "{\"_id\":\"internal\",\"objects\":[{\"name\":\"role\",\"properties\":{\"authzMembers\":{\"items\":{\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}]}}}}]}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8178,11 +8372,11 @@ }, { "name": "content-length", - "value": "128" + "value": "270" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8207,8 +8401,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.178Z", - "time": 255, + "startedDateTime": "2024-11-05T21:22:02.143Z", + "time": 327, "timings": { "blocked": -1, "connect": -1, @@ -8216,11 +8410,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 255 + "wait": 327 } }, { - "_id": "c861eac0e05abd75d70c21c6587f5992", + "_id": "26a0eae3c0a15f3d76eab3c87d2086d9", "_order": 0, "cache": {}, "request": { @@ -8241,7 +8435,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8256,24 +8450,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1896, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/admin" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/managed" }, "response": { - "bodySize": 224, + "bodySize": 93761, "content": { "mimeType": "application/json;charset=utf-8", - "size": 224, - "text": "{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"}" + "size": 93761, + "text": "{\"_id\":\"managed\",\"objects\":[{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/alpha_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"alpha_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/alpha_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Alpha realm - User\",\"type\":\"object\",\"viewable\":true}},{\"lastSync\":{\"effectiveAssignmentsProperty\":\"effectiveAssignments\",\"lastSyncProperty\":\"lastSync\"},\"meta\":{\"property\":\"_meta\",\"resourceCollection\":\"managed/bravo_usermeta\",\"trackedProperties\":[\"createDate\",\"lastChanged\"]},\"name\":\"bravo_user\",\"notifications\":{},\"schema\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"icon\":\"fa-user\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User\",\"mat-icon\":\"people\",\"order\":[\"_id\",\"userName\",\"password\",\"givenName\",\"cn\",\"sn\",\"mail\",\"profileImage\",\"description\",\"accountStatus\",\"telephoneNumber\",\"postalAddress\",\"city\",\"postalCode\",\"country\",\"stateProvince\",\"roles\",\"assignments\",\"groups\",\"applications\",\"manager\",\"authzRoles\",\"reports\",\"effectiveRoles\",\"effectiveAssignments\",\"effectiveGroups\",\"effectiveApplications\",\"lastSync\",\"kbaInfo\",\"preferences\",\"consentedMappings\",\"ownerOfOrg\",\"adminOfOrg\",\"memberOfOrg\",\"memberOfOrgIDs\",\"ownerOfApp\",\"frIndexedString1\",\"frIndexedString2\",\"frIndexedString3\",\"frIndexedString4\",\"frIndexedString5\",\"frUnindexedString1\",\"frUnindexedString2\",\"frUnindexedString3\",\"frUnindexedString4\",\"frUnindexedString5\",\"frIndexedMultivalued1\",\"frIndexedMultivalued2\",\"frIndexedMultivalued3\",\"frIndexedMultivalued4\",\"frIndexedMultivalued5\",\"frUnindexedMultivalued1\",\"frUnindexedMultivalued2\",\"frUnindexedMultivalued3\",\"frUnindexedMultivalued4\",\"frUnindexedMultivalued5\",\"frIndexedDate1\",\"frIndexedDate2\",\"frIndexedDate3\",\"frIndexedDate4\",\"frIndexedDate5\",\"frUnindexedDate1\",\"frUnindexedDate2\",\"frUnindexedDate3\",\"frUnindexedDate4\",\"frUnindexedDate5\",\"frIndexedInteger1\",\"frIndexedInteger2\",\"frIndexedInteger3\",\"frIndexedInteger4\",\"frIndexedInteger5\",\"frUnindexedInteger1\",\"frUnindexedInteger2\",\"frUnindexedInteger3\",\"frUnindexedInteger4\",\"frUnindexedInteger5\",\"assignedDashboard\"],\"properties\":{\"_id\":{\"description\":\"User ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"accountStatus\":{\"default\":\"active\",\"description\":\"Status\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Status\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"adminOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"admins\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Administer\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"aliasList\":{\"description\":\"List of identity aliases used primarily to record social IdP subjects for this user\",\"isVirtual\":false,\"items\":{\"title\":\"User Alias Names Items\",\"type\":\"string\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"User Alias Names List\",\"type\":\"array\",\"userEditable\":true,\"viewable\":false},\"applications\":{\"description\":\"Applications\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"assignedDashboard\":{\"description\":\"List of items to click on for this user\",\"isVirtual\":true,\"items\":{\"title\":\"Assigned Dashboard Items\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"searchable\":false,\"title\":\"Assigned Dashboard\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"assignments\":{\"description\":\"Assignments\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"authzRoles\":{\"description\":\"Authorization Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:authzRoles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Authorization Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Internal Role\",\"path\":\"internal/role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"authzMembers\",\"reverseRelationship\":true,\"title\":\"Authorization Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Authorization Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"city\":{\"description\":\"City\",\"isPersonal\":false,\"title\":\"City\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"cn\":{\"default\":\"{{givenName}} {{sn}}\",\"description\":\"Common Name\",\"isPersonal\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Common Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"consentedMappings\":{\"description\":\"Consented Mappings\",\"isPersonal\":false,\"isVirtual\":false,\"items\":{\"items\":{\"order\":[\"mapping\",\"consentDate\"],\"properties\":{\"consentDate\":{\"description\":\"Consent Date\",\"searchable\":true,\"title\":\"Consent Date\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mapping\":{\"description\":\"Mapping\",\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"mapping\",\"consentDate\"],\"title\":\"Consented Mappings Item\",\"type\":\"object\"},\"title\":\"Consented Mappings Items\",\"type\":\"array\"},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Consented Mappings\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"country\":{\"description\":\"Country\",\"isPersonal\":false,\"title\":\"Country\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"description\":{\"description\":\"Description\",\"isPersonal\":false,\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"effectiveApplications\":{\"description\":\"Effective Applications\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assigned Application Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"name\"],\"referencedRelationshipFields\":[[\"roles\",\"applications\"],[\"applications\"]]},\"returnByDefault\":true,\"title\":\"Effective Applications\",\"type\":\"array\",\"viewable\":false},\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedObjectFields\":[\"*\"],\"referencedRelationshipFields\":[[\"roles\",\"assignments\"],[\"assignments\"]]},\"returnByDefault\":true,\"title\":\"Effective Assignments\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveGroups\":{\"description\":\"Effective Groups\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Groups Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"groups\"]},\"returnByDefault\":true,\"title\":\"Effective Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"effectiveRoles\":{\"description\":\"Effective Roles\",\"isPersonal\":false,\"isVirtual\":true,\"items\":{\"title\":\"Effective Roles Items\",\"type\":\"object\"},\"queryConfig\":{\"referencedRelationshipFields\":[\"roles\"]},\"returnByDefault\":true,\"title\":\"Effective Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"viewable\":false},\"frIndexedDate1\":{\"description\":\"Generic Indexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate2\":{\"description\":\"Generic Indexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate3\":{\"description\":\"Generic Indexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate4\":{\"description\":\"Generic Indexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedDate5\":{\"description\":\"Generic Indexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger1\":{\"description\":\"Generic Indexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger2\":{\"description\":\"Generic Indexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger3\":{\"description\":\"Generic Indexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger4\":{\"description\":\"Generic Indexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedInteger5\":{\"description\":\"Generic Indexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Indexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued1\":{\"description\":\"Generic Indexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued2\":{\"description\":\"Generic Indexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued3\":{\"description\":\"Generic Indexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued4\":{\"description\":\"Generic Indexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedMultivalued5\":{\"description\":\"Generic Indexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Indexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString1\":{\"description\":\"Generic Indexed String 1\",\"isPersonal\":false,\"title\":\"Generic Indexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString2\":{\"description\":\"Generic Indexed String 2\",\"isPersonal\":false,\"title\":\"Generic Indexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString3\":{\"description\":\"Generic Indexed String 3\",\"isPersonal\":false,\"title\":\"Generic Indexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString4\":{\"description\":\"Generic Indexed String 4\",\"isPersonal\":false,\"title\":\"Generic Indexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frIndexedString5\":{\"description\":\"Generic Indexed String 5\",\"isPersonal\":false,\"title\":\"Generic Indexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate1\":{\"description\":\"Generic Unindexed Date 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate2\":{\"description\":\"Generic Unindexed Date 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate3\":{\"description\":\"Generic Unindexed Date 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate4\":{\"description\":\"Generic Unindexed Date 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedDate5\":{\"description\":\"Generic Unindexed Date 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Date 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger1\":{\"description\":\"Generic Unindexed Integer 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 1\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger2\":{\"description\":\"Generic Unindexed Integer 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 2\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger3\":{\"description\":\"Generic Unindexed Integer 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 3\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger4\":{\"description\":\"Generic Unindexed Integer 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 4\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedInteger5\":{\"description\":\"Generic Unindexed Integer 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed Integer 5\",\"type\":\"number\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued1\":{\"description\":\"Generic Unindexed Multivalue 1\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 1\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued2\":{\"description\":\"Generic Unindexed Multivalue 2\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 2\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued3\":{\"description\":\"Generic Unindexed Multivalue 3\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 3\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued4\":{\"description\":\"Generic Unindexed Multivalue 4\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 4\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedMultivalued5\":{\"description\":\"Generic Unindexed Multivalue 5\",\"isPersonal\":false,\"items\":{\"type\":\"string\"},\"title\":\"Generic Unindexed Multivalue 5\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString1\":{\"description\":\"Generic Unindexed String 1\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString2\":{\"description\":\"Generic Unindexed String 2\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 2\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString3\":{\"description\":\"Generic Unindexed String 3\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 3\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString4\":{\"description\":\"Generic Unindexed String 4\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 4\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"frUnindexedString5\":{\"description\":\"Generic Unindexed String 5\",\"isPersonal\":false,\"title\":\"Generic Unindexed String 5\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"givenName\":{\"description\":\"First Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"First Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"groups\":{\"description\":\"Groups\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:groups:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Groups Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Group\",\"path\":\"managed/bravo_group\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Groups Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":false,\"returnByDefault\":false,\"title\":\"Groups\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"kbaInfo\":{\"description\":\"KBA Info\",\"isPersonal\":true,\"items\":{\"order\":[\"answer\",\"customQuestion\",\"questionId\"],\"properties\":{\"answer\":{\"description\":\"Answer\",\"type\":\"string\"},\"customQuestion\":{\"description\":\"Custom question\",\"type\":\"string\"},\"questionId\":{\"description\":\"Question ID\",\"type\":\"string\"}},\"required\":[],\"title\":\"KBA Info Items\",\"type\":\"object\"},\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"lastSync\":{\"description\":\"Last Sync timestamp\",\"isPersonal\":false,\"order\":[\"effectiveAssignments\",\"timestamp\"],\"properties\":{\"effectiveAssignments\":{\"description\":\"Effective Assignments\",\"items\":{\"title\":\"Effective Assignments Items\",\"type\":\"object\"},\"title\":\"Effective Assignments\",\"type\":\"array\"},\"timestamp\":{\"description\":\"Timestamp\",\"type\":\"string\"}},\"required\":[],\"scope\":\"private\",\"searchable\":false,\"title\":\"Last Sync timestamp\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"mail\":{\"description\":\"Email Address\",\"isPersonal\":true,\"policies\":[{\"policyId\":\"valid-email-address-format\"}],\"searchable\":true,\"title\":\"Email Address\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"manager\":{\"description\":\"Manager\",\"isPersonal\":false,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Manager _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"reports\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Manager\",\"type\":\"relationship\",\"usageDescription\":\"\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"memberOfOrg\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations to which I Belong\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"memberOfOrgIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"org identifiers\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"memberOfOrg\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"MemberOfOrgIDs\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"ownerOfApp\":{\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[\"name\"]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Applications I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ownerOfOrg\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"owners\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Organizations I Own\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"password\":{\"description\":\"Password\",\"isPersonal\":false,\"isProtected\":true,\"scope\":\"private\",\"searchable\":false,\"title\":\"Password\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"postalAddress\":{\"description\":\"Address 1\",\"isPersonal\":true,\"title\":\"Address 1\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"postalCode\":{\"description\":\"Postal Code\",\"isPersonal\":false,\"title\":\"Postal Code\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"preferences\":{\"description\":\"Preferences\",\"isPersonal\":false,\"order\":[\"updates\",\"marketing\"],\"properties\":{\"marketing\":{\"description\":\"Send me special offers and services\",\"type\":\"boolean\"},\"updates\":{\"description\":\"Send me news and updates\",\"type\":\"boolean\"}},\"required\":[],\"searchable\":false,\"title\":\"Preferences\",\"type\":\"object\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"profileImage\":{\"description\":\"Profile Image\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Profile Image\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":false},\"reports\":{\"description\":\"Direct Reports\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:reports:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Direct Reports Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"manager\",\"reverseRelationship\":true,\"title\":\"Direct Reports Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Direct Reports\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Provisioning Roles\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles\",\"isPersonal\":false,\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:User:roles:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Provisioning Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociationField\":\"condition\",\"label\":\"Role\",\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"members\",\"reverseRelationship\":true,\"title\":\"Provisioning Roles Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Provisioning Roles\",\"type\":\"array\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":true},\"sn\":{\"description\":\"Last Name\",\"isPersonal\":true,\"searchable\":true,\"title\":\"Last Name\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"stateProvince\":{\"description\":\"State/Province\",\"isPersonal\":false,\"title\":\"State/Province\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"telephoneNumber\":{\"description\":\"Telephone Number\",\"isPersonal\":true,\"pattern\":\"^\\\\+?([0-9\\\\- \\\\(\\\\)])*$\",\"title\":\"Telephone Number\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true},\"userName\":{\"description\":\"Username\",\"isPersonal\":true,\"minLength\":1,\"policies\":[{\"policyId\":\"valid-username\"},{\"params\":{\"forbiddenChars\":[\"/\"]},\"policyId\":\"cannot-contain-characters\"},{\"params\":{\"minLength\":1},\"policyId\":\"minimum-length\"},{\"params\":{\"maxLength\":255},\"policyId\":\"maximum-length\"}],\"searchable\":true,\"title\":\"Username\",\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"userName\",\"givenName\",\"sn\",\"mail\"],\"title\":\"Bravo realm - User\",\"type\":\"object\",\"viewable\":true}},{\"name\":\"alpha_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/alpha_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/alpha_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Role\",\"type\":\"object\"}},{\"name\":\"bravo_role\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"\",\"icon\":\"fa-check-square-o\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role\",\"mat-icon\":\"assignment_ind\",\"order\":[\"_id\",\"name\",\"description\",\"members\",\"assignments\",\"applications\",\"condition\",\"temporalConstraints\"],\"properties\":{\"_id\":{\"description\":\"Role ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"applications\":{\"description\":\"Role Applications\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:applications:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Application Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Application\",\"path\":\"managed/bravo_application\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Application Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Applications\",\"type\":\"array\",\"viewable\":false},\"assignments\":{\"description\":\"Managed Assignments\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:assignments:items\",\"notifySelf\":true,\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Assignments Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Assignment\",\"path\":\"managed/bravo_assignment\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Managed Assignments Items\",\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"members\"],\"returnByDefault\":false,\"title\":\"Managed Assignments\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this role\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The role description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Role Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Role:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Role Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"roles\",\"reverseRelationship\":true,\"title\":\"Role Members Items\",\"type\":\"relationship\",\"validate\":true},\"relationshipGrantTemporalConstraintsEnforced\":true,\"returnByDefault\":false,\"title\":\"Role Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The role name, used for display purposes.\",\"policies\":[{\"policyId\":\"unique\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"temporalConstraints\":{\"description\":\"An array of temporal constraints for a role\",\"isTemporalConstraint\":true,\"items\":{\"order\":[\"duration\"],\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":\"string\"}},\"required\":[\"duration\"],\"title\":\"Temporal Constraints Items\",\"type\":\"object\"},\"notifyRelationships\":[\"members\"],\"returnByDefault\":true,\"title\":\"Temporal Constraints\",\"type\":\"array\",\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Role\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"alpha_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Alpha realm - Assignment\",\"type\":\"object\"}},{\"attributeEncryption\":{},\"name\":\"bravo_assignment\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"A role assignment\",\"icon\":\"fa-key\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment\",\"mat-icon\":\"vpn_key\",\"order\":[\"_id\",\"name\",\"description\",\"type\",\"mapping\",\"attributes\",\"linkQualifiers\",\"roles\",\"members\",\"condition\",\"weight\"],\"properties\":{\"_id\":{\"description\":\"The assignment ID\",\"searchable\":false,\"title\":\"Name\",\"type\":\"string\",\"viewable\":false},\"attributes\":{\"description\":\"The attributes operated on by this assignment.\",\"items\":{\"order\":[\"assignmentOperation\",\"unassignmentOperation\",\"name\",\"value\"],\"properties\":{\"assignmentOperation\":{\"description\":\"Assignment operation\",\"type\":\"string\"},\"name\":{\"description\":\"Name\",\"type\":\"string\"},\"unassignmentOperation\":{\"description\":\"Unassignment operation\",\"type\":\"string\"},\"value\":{\"description\":\"Value\",\"type\":\"string\"}},\"required\":[],\"title\":\"Assignment Attributes Items\",\"type\":\"object\"},\"notifyRelationships\":[\"roles\",\"members\"],\"title\":\"Assignment Attributes\",\"type\":\"array\",\"viewable\":true},\"condition\":{\"description\":\"A conditional filter for this assignment\",\"isConditional\":true,\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"The assignment description, used for display purposes.\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"linkQualifiers\":{\"description\":\"Conditional link qualifiers to restrict this assignment to.\",\"items\":{\"title\":\"Link Qualifiers Items\",\"type\":\"string\"},\"title\":\"Link Qualifiers\",\"type\":\"array\",\"viewable\":true},\"mapping\":{\"description\":\"The name of the mapping this assignment applies to\",\"policies\":[{\"policyId\":\"mapping-exists\"}],\"searchable\":true,\"title\":\"Mapping\",\"type\":\"string\",\"viewable\":true},\"members\":{\"description\":\"Assignment Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Assignment Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Assignment Members Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Assignment Members\",\"type\":\"array\",\"viewable\":true},\"name\":{\"description\":\"The assignment name, used for display purposes.\",\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true},\"roles\":{\"description\":\"Managed Roles\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Assignment:roles:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Managed Roles Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"assignments\",\"reverseRelationship\":true,\"title\":\"Managed Roles Items\",\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"title\":\"Managed Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"type\":{\"description\":\"The type of object this assignment represents\",\"title\":\"Type\",\"type\":\"string\",\"viewable\":true},\"weight\":{\"description\":\"The weight of the assignment.\",\"notifyRelationships\":[\"roles\",\"members\"],\"searchable\":false,\"title\":\"Weight\",\"type\":[\"number\",\"null\"],\"viewable\":true}},\"required\":[\"name\",\"description\",\"mapping\"],\"title\":\"Bravo realm - Assignment\",\"type\":\"object\"}},{\"name\":\"alpha_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/alpha_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Alpha realm - Organization\",\"type\":\"object\"}},{\"name\":\"bravo_organization\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"An organization or tenant, whose resources are managed by organizational admins.\",\"icon\":\"fa-building\",\"mat-icon\":\"domain\",\"order\":[\"name\",\"description\",\"owners\",\"admins\",\"members\",\"parent\",\"children\",\"adminIDs\",\"ownerIDs\",\"parentAdminIDs\",\"parentOwnerIDs\",\"parentIDs\"],\"properties\":{\"adminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"admin ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"admins\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Admin user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"admins\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"adminOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Administrators\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"children\":{\"description\":\"Child Organizations\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":true,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"parent\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Child Organizations\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"description\":{\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"members\":{\"items\":{\"notifySelf\":false,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"memberOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"ownerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"owner ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\"],\"referencedRelationshipFields\":[\"owners\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"Owner user ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"owners\":{\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":false,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"ownerOfOrg\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"notifyRelationships\":[\"children\"],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owner\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"parent\":{\"description\":\"Parent Organization\",\"notifyRelationships\":[\"children\",\"members\"],\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Organization\",\"notify\":false,\"path\":\"managed/bravo_organization\",\"query\":{\"fields\":[\"name\",\"description\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"returnByDefault\":false,\"reversePropertyName\":\"children\",\"reverseRelationship\":true,\"searchable\":false,\"title\":\"Parent Organization\",\"type\":\"relationship\",\"userEditable\":false,\"validate\":true,\"viewable\":true},\"parentAdminIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent admins\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"adminIDs\",\"parentAdminIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent admins\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"parent org ids\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"_id\",\"parentIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"parent org ids\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false},\"parentOwnerIDs\":{\"isVirtual\":true,\"items\":{\"title\":\"user ids of parent owners\",\"type\":\"string\"},\"queryConfig\":{\"flattenProperties\":true,\"referencedObjectFields\":[\"ownerIDs\",\"parentOwnerIDs\"],\"referencedRelationshipFields\":[\"parent\"]},\"returnByDefault\":true,\"searchable\":false,\"title\":\"user ids of parent owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":false}},\"required\":[\"name\"],\"title\":\"Bravo realm - Organization\",\"type\":\"object\"}},{\"name\":\"alpha_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Group\",\"viewable\":true}},{\"name\":\"bravo_group\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"icon\":\"fa-group\",\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group\",\"mat-icon\":\"group\",\"order\":[\"_id\",\"name\",\"description\",\"condition\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Group ID\",\"isPersonal\":false,\"policies\":[{\"params\":{\"propertyName\":\"name\"},\"policyId\":\"id-must-equal-property\"}],\"searchable\":false,\"type\":\"string\",\"usageDescription\":\"\",\"userEditable\":false,\"viewable\":false},\"condition\":{\"description\":\"A filter for conditionally assigned members\",\"isConditional\":true,\"policies\":[{\"policyId\":\"valid-query-filter\"}],\"searchable\":false,\"title\":\"Condition\",\"type\":\"string\",\"viewable\":false},\"description\":{\"description\":\"Group Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"userEditable\":false,\"viewable\":true},\"members\":{\"description\":\"Group Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Group:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"conditionalAssociation\":true,\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"groups\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Group Name\",\"policies\":[{\"policyId\":\"required\"},{\"params\":{\"forbiddenChars\":[\"/*\"]},\"policyId\":\"cannot-contain-characters\"}],\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Group\",\"viewable\":true}},{\"name\":\"alpha_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/alpha_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/alpha_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Alpha realm - Application\",\"type\":\"object\"}},{\"name\":\"bravo_application\",\"schema\":{\"$schema\":\"http://forgerock.org/json-schema#\",\"description\":\"Application Object\",\"icon\":\"fa-folder\",\"order\":[\"name\",\"description\",\"url\",\"icon\",\"mappingNames\",\"owners\",\"roles\",\"members\"],\"properties\":{\"_id\":{\"description\":\"Application ID\",\"isPersonal\":false,\"searchable\":false,\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"authoritative\":{\"description\":\"Is this an authoritative application\",\"searchable\":false,\"title\":\"Authoritative\",\"type\":\"boolean\",\"viewable\":false},\"connectorId\":{\"description\":\"Id of the connector associated with the application\",\"searchable\":false,\"title\":\"Connector ID\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"description\":{\"description\":\"Application Description\",\"searchable\":true,\"title\":\"Description\",\"type\":\"string\",\"viewable\":true},\"icon\":{\"searchable\":true,\"title\":\"Icon\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"mappingNames\":{\"description\":\"Names of the sync mappings used by an application with provisioning configured.\",\"items\":{\"title\":\"Mapping Name Items\",\"type\":\"string\"},\"searchable\":true,\"title\":\"Sync Mapping Names\",\"type\":\"array\",\"viewable\":true},\"members\":{\"description\":\"Application Members\",\"items\":{\"id\":\"urn:jsonschema:org:forgerock:openidm:managed:api:Application:members:items\",\"properties\":{\"_ref\":{\"description\":\"References a relationship from a managed object\",\"type\":\"string\"},\"_refProperties\":{\"description\":\"Supports metadata within the relationship\",\"properties\":{\"_grantType\":{\"description\":\"Grant Type\",\"label\":\"Grant Type\",\"type\":\"string\"},\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Group Members Items _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"notify\":true,\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"title\":\"Group Members Items\",\"type\":\"relationship\",\"validate\":true},\"policies\":[],\"returnByDefault\":false,\"searchable\":false,\"title\":\"Members\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"name\":{\"description\":\"Application name\",\"notifyRelationships\":[\"roles\",\"members\"],\"policies\":[{\"policyId\":\"unique\"}],\"returnByDefault\":true,\"searchable\":true,\"title\":\"Name\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true},\"owners\":{\"description\":\"Application Owners\",\"items\":{\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"description\":\"_refProperties object ID\",\"type\":\"string\"}},\"title\":\"Application _refProperties\",\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"User\",\"path\":\"managed/bravo_user\",\"query\":{\"fields\":[\"userName\",\"givenName\",\"sn\"],\"queryFilter\":\"true\"}}],\"reversePropertyName\":\"ownerOfApp\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Owners\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"roles\":{\"description\":\"Roles granting users the application\",\"items\":{\"notifySelf\":true,\"properties\":{\"_ref\":{\"type\":\"string\"},\"_refProperties\":{\"properties\":{\"_id\":{\"propName\":\"_id\",\"required\":false,\"type\":\"string\"}},\"type\":\"object\"}},\"resourceCollection\":[{\"label\":\"Role\",\"notify\":true,\"path\":\"managed/bravo_role\",\"query\":{\"fields\":[\"name\"],\"queryFilter\":\"true\",\"sortKeys\":[]}}],\"reversePropertyName\":\"applications\",\"reverseRelationship\":true,\"type\":\"relationship\",\"validate\":true},\"returnByDefault\":false,\"searchable\":false,\"title\":\"Roles\",\"type\":\"array\",\"userEditable\":false,\"viewable\":true},\"ssoEntities\":{\"description\":\"SSO Entity Id\",\"properties\":{\"idpLocation\":{\"type\":\"string\"},\"idpPrivateId\":{\"type\":\"string\"},\"spLocation\":{\"type\":\"string\"},\"spPrivate\":{\"type\":\"string\"}},\"searchable\":false,\"title\":\"SSO Entity Id\",\"type\":\"object\",\"userEditable\":false,\"viewable\":false},\"templateName\":{\"description\":\"Name of the template the application was created from\",\"searchable\":false,\"title\":\"Template Name\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"templateVersion\":{\"description\":\"The template version\",\"searchable\":false,\"title\":\"Template Version\",\"type\":\"string\",\"userEditable\":false,\"viewable\":false},\"uiConfig\":{\"description\":\"UI Config\",\"isPersonal\":false,\"properties\":{},\"searchable\":false,\"title\":\"UI Config\",\"type\":\"object\",\"usageDescription\":\"\",\"viewable\":false},\"url\":{\"searchable\":true,\"title\":\"Url\",\"type\":\"string\",\"userEditable\":true,\"viewable\":true}},\"required\":[\"name\"],\"title\":\"Bravo realm - Application\",\"type\":\"object\"}}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8311,17 +8509,9 @@ "name": "x-content-type-options", "value": "nosniff" }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "224" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8338,16 +8528,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 664, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.180Z", - "time": 273, + "startedDateTime": "2024-11-05T21:22:02.144Z", + "time": 378, "timings": { "blocked": -1, "connect": -1, @@ -8355,11 +8549,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 273 + "wait": 378 } }, { - "_id": "7e3a8ff0fa4961b9619a410b1ffd7b03", + "_id": "8be795ddbd15a816c903f4481d7d145d", "_order": 0, "cache": {}, "request": { @@ -8380,7 +8574,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8395,24 +8589,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/api" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_assignment_managedBravo_assignment" }, "response": { - "bodySize": 205, + "bodySize": 901, "content": { "mimeType": "application/json;charset=utf-8", - "size": 205, - "text": "{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"}" + "size": 901, + "text": "{\"_id\":\"mapping/managedAlpha_assignment_managedBravo_assignment\",\"consentRequired\":false,\"displayName\":\"managedAlpha_assignment_managedBravo_assignment\",\"icon\":null,\"name\":\"managedAlpha_assignment_managedBravo_assignment\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/alpha_assignment\",\"target\":\"managed/bravo_assignment\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8456,11 +8650,11 @@ }, { "name": "content-length", - "value": "205" + "value": "901" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8485,8 +8679,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.181Z", - "time": 168, + "startedDateTime": "2024-11-05T21:22:02.145Z", + "time": 293, "timings": { "blocked": -1, "connect": -1, @@ -8494,11 +8688,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 168 + "wait": 293 } }, { - "_id": "8fd8fc999451084e70dce83cdb01556f", + "_id": "0f479979ba0b7d49bb4ec853c418a697", "_order": 0, "cache": {}, "request": { @@ -8519,7 +8713,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8534,24 +8728,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1907, + "headersSize": 1930, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/enduser" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedAlpha_user_systemAzureUser" }, "response": { - "bodySize": 154, + "bodySize": 2502, "content": { "mimeType": "application/json;charset=utf-8", - "size": 154, - "text": "{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"}" + "size": 2502, + "text": "{\"_id\":\"mapping/managedAlpha_user_systemAzureUser\",\"consentRequired\":false,\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"displayName\":\"managedAlpha_user_systemAzureUser\",\"icon\":null,\"name\":\"managedAlpha_user_systemAzureUser\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"mail\",\"target\":\"mail\"},{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"sn\",\"target\":\"surname\"},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName+\\\" \\\"+source.sn\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"mailNickname\",\"transform\":{\"source\":\"source.givenName[0].toLowerCase()+source.sn.toLowerCase()\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"accountEnabled\",\"transform\":{\"source\":\"true\",\"type\":\"text/javascript\"}},{\"condition\":{\"globals\":{},\"source\":\"(typeof oldTarget === 'undefined' || oldTarget === null)\",\"type\":\"text/javascript\"},\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"\\\"!@#$%\\\"[Math.floor(Math.random()*5)] + Math.random().toString(36).slice(2, 13).toUpperCase()+Math.random().toString(36).slice(2,13)\",\"type\":\"text/javascript\"}}],\"queuedSync\":{\"enabled\":true,\"maxRetries\":0,\"pollingInterval\":10000},\"runTargetPhase\":false,\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"0f357b7e-6c54-4351-a094-43916877d7e5\\\"] or lastSync/managedAlpha_user_systemAzureUser pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/Azure/User\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8595,11 +8789,11 @@ }, { "name": "content-length", - "value": "154" + "value": "2502" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8618,14 +8812,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.182Z", - "time": 224, + "startedDateTime": "2024-11-05T21:22:02.146Z", + "time": 325, "timings": { "blocked": -1, "connect": -1, @@ -8633,11 +8827,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 224 + "wait": 325 } }, { - "_id": "edc8d4459847a036cfcb858bc52a9cf0", + "_id": "8967000e5c469e312f46869604f69cb4", "_order": 0, "cache": {}, "request": { @@ -8658,7 +8852,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8673,24 +8867,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1934, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/oauth" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_group_managedBravo_group" }, "response": { - "bodySize": 199, + "bodySize": 861, "content": { "mimeType": "application/json;charset=utf-8", - "size": 199, - "text": "{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"}" + "size": 861, + "text": "{\"_id\":\"mapping/managedBravo_group_managedBravo_group\",\"consentRequired\":false,\"displayName\":\"managedBravo_group_managedBravo_group\",\"icon\":null,\"name\":\"managedBravo_group_managedBravo_group\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_group\",\"target\":\"managed/bravo_group\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8734,11 +8928,11 @@ }, { "name": "content-length", - "value": "199" + "value": "861" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8763,8 +8957,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.183Z", - "time": 269, + "startedDateTime": "2024-11-05T21:22:02.147Z", + "time": 315, "timings": { "blocked": -1, "connect": -1, @@ -8772,11 +8966,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 269 + "wait": 315 } }, { - "_id": "cd921971f14ee0c5e955d7887b8f336e", + "_id": "5f373cefd7baf3a1537401e32c681b7e", "_order": 0, "cache": {}, "request": { @@ -8797,7 +8991,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8812,24 +9006,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1905, + "headersSize": 1933, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/configuration" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/managedBravo_user_managedBravo_user0" }, "response": { - "bodySize": 707, + "bodySize": 856, "content": { "mimeType": "application/json;charset=utf-8", - "size": 707, - "text": "{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}}" + "size": 856, + "text": "{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -8873,11 +9067,11 @@ }, { "name": "content-length", - "value": "707" + "value": "856" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -8902,8 +9096,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.184Z", - "time": 222, + "startedDateTime": "2024-11-05T21:22:02.148Z", + "time": 322, "timings": { "blocked": -1, "connect": -1, @@ -8911,11 +9105,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 222 + "wait": 322 } }, { - "_id": "ce29aa0a09c80a87a98b616e722ccfeb", + "_id": "0207f574f0273ae55f429cb6ea1285d8", "_order": 0, "cache": {}, "request": { @@ -8936,7 +9130,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -8951,24 +9145,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1901, + "headersSize": 1906, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/dashboard" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/mapping12" }, "response": { - "bodySize": 1974, + "bodySize": 221, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1974, - "text": "{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}}" + "size": 221, + "text": "{\"_id\":\"mapping/mapping12\",\"consentRequired\":false,\"displayName\":\"mapping12\",\"linkQualifiers\":[],\"name\":\"mapping12\",\"policies\":[],\"properties\":[],\"source\":\"managed/bravo_user\",\"syncAfter\":[],\"target\":\"managed/bravo_user\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -9012,11 +9206,11 @@ }, { "name": "content-length", - "value": "1974" + "value": "221" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9035,14 +9229,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.185Z", - "time": 252, + "startedDateTime": "2024-11-05T21:22:02.149Z", + "time": 329, "timings": { "blocked": -1, "connect": -1, @@ -9050,11 +9244,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 252 + "wait": 329 } }, { - "_id": "c9763e7c616a05ef9d265a63b7b375f3", + "_id": "c52e9a3d12ecc4fdb76963f860ebd0f4", "_order": 0, "cache": {}, "request": { @@ -9075,7 +9269,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9090,24 +9284,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1899, + "headersSize": 1941, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/profile" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzure__group___managedAlpha_assignment" }, "response": { - "bodySize": 891, + "bodySize": 1890, "content": { "mimeType": "application/json;charset=utf-8", - "size": 891, - "text": "{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]}" + "size": 1890, + "text": "{\"_id\":\"mapping/systemAzure__group___managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzure__group___managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzure__group___managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'memberOf',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure___GROUP___\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/__GROUP__\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"memberOf\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -9151,11 +9345,11 @@ }, { "name": "content-length", - "value": "891" + "value": "1890" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9174,14 +9368,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.186Z", - "time": 174, + "startedDateTime": "2024-11-05T21:22:02.150Z", + "time": 246, "timings": { "blocked": -1, "connect": -1, @@ -9189,11 +9383,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 174 + "wait": 246 } }, { - "_id": "1619e8be49fb5a948dba768362dd885c", + "_id": "1bbc4f9da6bfb6ee5b7b8d09ac70fd40", "_order": 0, "cache": {}, "request": { @@ -9214,7 +9408,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9229,24 +9423,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1903, + "headersSize": 1945, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themeconfig" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureDirectoryrole_managedAlpha_assignment" }, "response": { - "bodySize": 402, + "bodySize": 1912, "content": { "mimeType": "application/json;charset=utf-8", - "size": 402, - "text": "{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]}" + "size": 1912, + "text": "{\"_id\":\"mapping/systemAzureDirectoryrole_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureDirectoryrole_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.description !== \\\"undefined\\\" && source.description !== null) ? source.description : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.displayName !== \\\"undefined\\\" && source.displayName !== null) ? source.displayName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__roles__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_directoryRole_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/directoryRole\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__roles__\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -9290,146 +9484,11 @@ }, { "name": "content-length", - "value": "402" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:09.187Z", - "time": 231, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 231 - } - }, - { - "_id": "8491b762ea9e0d6de34b91e8d5d97a4d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1902, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themerealm" - }, - "response": { - "bodySize": 90138, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 90138, - "text": "{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" + "value": "1912" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9446,20 +9505,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 671, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.188Z", - "time": 208, + "startedDateTime": "2024-11-05T21:22:02.151Z", + "time": 315, "timings": { "blocked": -1, "connect": -1, @@ -9467,11 +9522,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 208 + "wait": 315 } }, { - "_id": "5ca8829676f04c4144fa353bb14cbf04", + "_id": "33c39a686936ca4a048fe8ed78795d76", "_order": 0, "cache": {}, "request": { @@ -9492,7 +9547,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9507,24 +9562,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1900, + "headersSize": 1943, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/uilocale/fr" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureServiceplan_managedAlpha_assignment" }, "response": { - "bodySize": 532, + "bodySize": 1944, "content": { "mimeType": "application/json;charset=utf-8", - "size": 532, - "text": "{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}}" + "size": 1944, + "text": "{\"_id\":\"mapping/systemAzureServiceplan_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemAzureServiceplan_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemAzureServiceplan_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemAzureUser\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"(typeof source.servicePlanName !== \\\"undefined\\\" && source.servicePlanName !== null) ? source.servicePlanName : source._id\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': '__servicePlanIds__',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_Azure_servicePlan_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"source\":\"system/Azure/servicePlan\",\"target\":\"managed/alpha_assignment\",\"targetQuery\":{\"_queryFilter\":\"mapping eq \\\"managedAlpha_user_systemAzureUser\\\" and attributes[name eq \\\"__servicePlanIds__\\\"]\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -9568,11 +9623,11 @@ }, { "name": "content-length", - "value": "532" + "value": "1944" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9591,14 +9646,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.189Z", - "time": 247, + "startedDateTime": "2024-11-05T21:22:02.152Z", + "time": 163, "timings": { "blocked": -1, "connect": -1, @@ -9606,11 +9661,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 247 + "wait": 163 } }, { - "_id": "454420d33ed0c57d57b363e9e200104c", + "_id": "e49472ca94bbac97edd83f9fa64e64d4", "_order": 0, "cache": {}, "request": { @@ -9631,7 +9686,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9646,24 +9701,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1898, + "headersSize": 1930, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/undefined" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/mapping/systemAzureUser_managedAlpha_user" }, "response": { - "bodySize": 935, + "bodySize": 1583, "content": { "mimeType": "application/json;charset=utf-8", - "size": 935, - "text": "{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}" + "size": 1583, + "text": "{\"_id\":\"mapping/systemAzureUser_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'mail eq \\\"' + source.mail + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"memberOf\",\"__roles__\",\"__servicePlanIds__\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemAzureUser_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemAzureUser\",\"name\":\"systemAzureUser_managedAlpha_user\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"ONBOARD\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectType\":\"__GROUP__\",\"source\":\"memberOf\",\"target\":\"assignments\"},{\"referencedObjectType\":\"directoryRole\",\"source\":\"__roles__\",\"target\":\"assignments\"},{\"referencedObjectType\":\"servicePlan\",\"source\":\"__servicePlanIds__\",\"target\":\"assignments\"}],\"reconSourceQueryPageSize\":999,\"reconSourceQueryPaging\":true,\"runTargetPhase\":false,\"source\":\"system/Azure/User\",\"sourceQueryFullEntry\":true,\"target\":\"managed/alpha_user\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", @@ -9707,11 +9762,11 @@ }, { "name": "content-length", - "value": "935" + "value": "1583" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -9730,14 +9785,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 664, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.190Z", - "time": 213, + "startedDateTime": "2024-11-05T21:22:02.155Z", + "time": 312, "timings": { "blocked": -1, "connect": -1, @@ -9745,11 +9800,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 213 + "wait": 312 } }, { - "_id": "554e50b0a97fed943f123c01f0fa6760", + "_id": "6692c58345f71bfc94cc4b8615559cc5", "_order": 0, "cache": {}, "request": { @@ -9769,8 +9824,8 @@ "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9785,144 +9840,80 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1869, + "headersSize": 1895, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/environment/secrets" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/policy" }, "response": { - "bodySize": 3827, + "bodySize": 52, "content": { - "mimeType": "application/json", - "size": 3827, - "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-admin-token\",\"activeVersion\":\"1\",\"description\":\"Long-lived admin token\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-03-20T14:46:13.461793Z\",\"lastChangedBy\":\"ba58ff99-76d3-4c69-9c4a-7f150ac70e2c\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-brando-pingone\",\"activeVersion\":\"4\",\"description\":\"This is to show the connection between PingOne and AIC. \",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-24T00:44:06.154598Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"4\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test1\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 1\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:13.904591Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test2\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 2\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:41.914076Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret\",\"activeVersion\":\"1\",\"description\":\"This is a test secret containing a simple string value.\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-05T17:53:53.682578Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file.\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:48:49.005574Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file (raw).\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:49:20.270526Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-euler\",\"activeVersion\":\"1\",\"description\":\"A test secret containing the value of Euler's number\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:27:34.607038Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file.\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:46:37.42544Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file (raw).\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:47:03.695151Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi\",\"activeVersion\":\"1\",\"description\":\"Secret that contains the value of pi\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:22:28.519043Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi-generic\",\"activeVersion\":\"3\",\"description\":\"\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-15T03:20:09.136266Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"3\",\"useInPlaceholders\":true},{\"_id\":\"esv-volkers-test-secret\",\"activeVersion\":\"10\",\"description\":\"Volker's test secret\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-26T01:37:06.116117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"10\",\"useInPlaceholders\":true}],\"resultCount\":13,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + "mimeType": "application/json;charset=utf-8", + "size": 52, + "text": "{\"_id\":\"policy\",\"additionalFiles\":[],\"resources\":[]}" }, "cookies": [], "headers": [ - { - "name": "content-type", - "value": "application/json" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" + "name": "cache-control", + "value": "no-store" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" }, { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 267, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:09.524Z", - "time": 155, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 155 - } - }, - { - "_id": "00c59a598bc0a39925dcd05b5e05295b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-type", - "value": "application/json" + "value": "application/json;charset=utf-8" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "name": "cross-origin-opener-policy", + "value": "same-origin" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "name": "expires", + "value": "0" }, { - "name": "authorization", - "value": "Bearer " + "name": "pragma", + "value": "no-cache" }, { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1976, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services?_action=nextdescendents" - }, - "response": { - "bodySize": 244, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 244, - "text": "{\"result\":[{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}]}" - }, - "cookies": [], - "headers": [ + "name": "x-frame-options", + "value": "DENY" + }, { - "name": "cache-control", - "value": "no-cache" + "name": "content-length", + "value": "52" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "value": "max-age=31536000; includeSubDomains; preload;" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -9931,20 +9922,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 663, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.683Z", - "time": 39, + "startedDateTime": "2024-11-05T21:22:02.157Z", + "time": 175, "timings": { "blocked": -1, "connect": -1, @@ -9952,11 +9939,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 39 + "wait": 175 } }, { - "_id": "880e1d131d59635dd44ee69bbc1be2b2", + "_id": "51ffae64b1cf4519a279faeb445f12b0", "_order": 0, "cache": {}, "request": { @@ -9977,11 +9964,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -9996,45 +9979,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1963, + "headersSize": 1909, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privilegeAssignments" }, "response": { - "bodySize": 115, + "bodySize": 493, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 115, - "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + "mimeType": "application/json;charset=utf-8", + "size": 493, + "text": "{\"_id\":\"privilegeAssignments\",\"privilegeAssignments\":[{\"name\":\"ownerPrivileges\",\"privileges\":[\"owner-view-update-delete-orgs\",\"owner-create-orgs\",\"owner-view-update-delete-admins-and-members\",\"owner-create-admins\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"ownerOfOrg\"},{\"name\":\"adminPrivileges\",\"privileges\":[\"admin-view-update-delete-orgs\",\"admin-create-orgs\",\"admin-view-update-delete-members\",\"admin-create-members\"],\"relationshipField\":\"adminOfOrg\"}]}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10043,10 +10022,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"515901845\"" - }, { "name": "expires", "value": "0" @@ -10056,20 +10031,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "115" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "content-length", + "value": "493" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10088,14 +10063,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.728Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:02.158Z", + "time": 217, "timings": { "blocked": -1, "connect": -1, @@ -10103,11 +10078,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 217 } }, { - "_id": "5503ee06dd7c79e49bac04fc6fd39604", + "_id": "0efa4fab6ab26eb266b9e217050b5a78", "_order": 0, "cache": {}, "request": { @@ -10128,11 +10103,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10147,50 +10118,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1988, + "headersSize": 1899, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/privileges" }, "response": { - "bodySize": 13, + "bodySize": 36, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "mimeType": "application/json;charset=utf-8", + "size": 36, + "text": "{\"_id\":\"privileges\",\"privileges\":[]}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10208,20 +10170,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "13" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "content-length", + "value": "36" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10240,14 +10202,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 663, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.729Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:02.159Z", + "time": 254, "timings": { "blocked": -1, "connect": -1, @@ -10255,11 +10217,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 254 } }, { - "_id": "274f52cc72a61338f1ec66f332f437fb", + "_id": "346367fff63d473b9b31139e8c3b8cc7", "_order": 0, "cache": {}, "request": { @@ -10280,11 +10242,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10299,45 +10257,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1961, + "headersSize": 1918, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openic/GoogleApps" }, "response": { - "bodySize": 131, + "bodySize": 7392, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 131, - "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "mimeType": "application/json;charset=utf-8", + "size": 7392, + "text": "{\"_id\":\"provisioner.openic/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10346,10 +10300,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"436796111\"" - }, { "name": "expires", "value": "0" @@ -10359,20 +10309,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "131" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "content-length", + "value": "7392" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10391,14 +10341,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.730Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:02.160Z", + "time": 255, "timings": { "blocked": -1, "connect": -1, @@ -10406,11 +10356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 255 } }, { - "_id": "2558303e6826898c61b79f0ac55baefc", + "_id": "27eeb9dba71020824727be35ba50246c", "_order": 0, "cache": {}, "request": { @@ -10431,11 +10381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10450,50 +10396,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 1930, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf.connectorinfoprovider" }, "response": { - "bodySize": 797, + "bodySize": 253, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 797, - "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + "mimeType": "application/json;charset=utf-8", + "size": 253, + "text": "{\"_id\":\"provisioner.openicf.connectorinfoprovider\",\"connectorsLocation\":\"connectors\",\"remoteConnectorClients\":[{\"enabled\":true,\"name\":\"rcs1\",\"useSSL\":true}],\"remoteConnectorClientsGroups\":[],\"remoteConnectorServers\":[],\"remoteConnectorServersGroups\":[]}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10511,20 +10448,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "797" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:09 GMT" + "name": "content-length", + "value": "253" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10543,14 +10480,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.732Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:02.161Z", + "time": 263, "timings": { "blocked": -1, "connect": -1, @@ -10558,11 +10495,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 263 } }, { - "_id": "49c64431f90c263c4e22873dcf498dcb", + "_id": "2cf5a648793b794fbac294b890b50470", "_order": 0, "cache": {}, "request": { @@ -10582,8 +10519,8 @@ "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10598,28 +10535,72 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1871, + "headersSize": 1914, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/environment/variables" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/Azure" }, "response": { - "bodySize": 3247, + "bodySize": 11938, "content": { - "mimeType": "application/json", - "size": 3247, - "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-blue-piller\",\"description\":\"Zion membership criteria.\",\"expressionType\":\"bool\",\"lastChangeDate\":\"2024-07-05T20:01:11.78347Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"ZmFsc2U=\"},{\"_id\":\"esv-ipv4-cidr-access-rules\",\"description\":\"IPv4 CIDR access rules: { \\\"allow\\\": [ \\\"address/mask\\\" ] }\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:13.987057Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyAiYWxsb3ciOiBbICIxNDUuMTE4LjAuMC8xNiIsICIxMzIuMzUuMC4wLzE2IiwgIjEwMS4yMjYuMC4wLzE2IiwgIjk5LjcyLjI4LjE4Mi8zMiIgXSB9\"},{\"_id\":\"esv-nebuchadnezzar-crew\",\"description\":\"The crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"array\",\"lastChangeDate\":\"2024-07-05T20:01:05.216699Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"WyJNb3JwaGV1cyIsIlRyaW5pdHkiLCJMaW5rIiwiVGFuayIsIkRvemVyIiwiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl0=\"},{\"_id\":\"esv-nebuchadnezzar-crew-structure\",\"description\":\"The structure of the crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:07.343325Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyJDYXB0YWluIjoiTW9ycGhldXMiLCJGaXJzdE1hdGUiOiJUcmluaXR5IiwiT3BlcmF0b3IiOlsiTGluayIsIlRhbmsiXSwiTWVkaWMiOiJEb3plciIsIkNyZXdtZW4iOlsiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl19\"},{\"_id\":\"esv-neo-age\",\"description\":\"Neo's age in the matrix.\",\"expressionType\":\"int\",\"lastChangeDate\":\"2024-07-05T20:01:09.53586Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"Mjg=\"},{\"_id\":\"esv-number\",\"description\":\"test number\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-05T19:42:20.943131Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"valueBase64\":\"MS4xMzQ=\"},{\"_id\":\"esv-test-var\",\"description\":\"this is a test description\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T22:37:25.846244Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"dGhpcyBpcyBhIHRlc3QgdmFyaWFibGU=\"},{\"_id\":\"esv-test-var-pi\",\"description\":\"This is another test variable.\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-12T17:40:41.283412Z\",\"lastChangedBy\":\"Frodo-SA-1720799681233\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-var-pi-string\",\"description\":\"This is another test variable.\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:16.11117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-variable-light\",\"description\":\"Test variable containing the speed of light in meters per second (as an int).\",\"expressionType\":\"int\",\"lastChangeDate\":\"2023-12-14T15:34:13.446903Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"Mjk5NzkyNDU4\"},{\"_id\":\"esv-trinity-phone\",\"description\":\"In the opening of The Matrix (1999), the phone number Trinity is calling from is traced to (312)-555-0690\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:03.141204Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"KDMxMiktNTU1LTA2OTA=\"}],\"resultCount\":11,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + "mimeType": "application/json;charset=utf-8", + "size": 11938, + "text": "{\"_id\":\"provisioner.openicf/Azure\",\"configurationProperties\":{\"clientId\":\"4b07adcc-329c-434c-aa83-49a14bef3c49\",\"clientSecret\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"W63amdvzlmynT40WOTl1wPWDc8FUlGWQZK158lmlFTrnhy9PbWZV5YE4v3VeMUDC\",\"iv\":\"KG/YFc8v26QHJzRI3uFhzw==\",\"keySize\":16,\"mac\":\"mA4BzCNS7tuLhosQ+es1Tg==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"vvPwKk0KqOqMjElQgICqEA==\",\"stableId\":\"openidm-sym-default\"}}},\"httpProxyHost\":null,\"httpProxyPassword\":null,\"httpProxyPort\":null,\"httpProxyUsername\":null,\"licenseCacheExpiryTime\":60,\"performHardDelete\":true,\"readRateLimit\":null,\"tenant\":\"711ffa9c-5972-4713-ace3-688c9732614a\",\"writeRateLimit\":null},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.msgraphapi-connector\",\"bundleVersion\":\"1.5.20.21\",\"connectorName\":\"org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector\",\"displayName\":\"MSGraphAPI Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__PASSWORD__\":{\"autocomplete\":\"new-password\",\"flags\":[\"NOT_UPDATEABLE\",\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__roles__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__roles__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__servicePlanIds__\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__servicePlanIds__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"type\":\"string\"},\"companyName\":{\"nativeName\":\"companyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"jobTitle\":{\"nativeName\":\"jobTitle\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"mailNickname\":{\"nativeName\":\"mailNickname\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"object\",\"type\":\"object\"},\"memberOf\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"mobilePhone\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"mobilePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesImmutableId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesImmutableId\",\"nativeType\":\"string\",\"type\":\"string\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherMails\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherMails\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"preferredLanguage\":{\"nativeName\":\"preferredLanguage\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"surname\":{\"nativeName\":\"surname\",\"nativeType\":\"string\",\"type\":\"string\"},\"usageLocation\":{\"nativeName\":\"usageLocation\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"userType\":{\"nativeName\":\"userType\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"__GROUP__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"groupTypes\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"groupTypes\",\"nativeType\":\"string\",\"type\":\"string\"},\"id\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"id\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"mailEnabled\":{\"nativeName\":\"mailEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"onPremisesSecurityIdentifier\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"onPremisesSecurityIdentifier\",\"nativeType\":\"string\",\"type\":\"string\"},\"proxyAddresses\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"proxyAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"securityEnabled\":{\"nativeName\":\"securityEnabled\",\"nativeType\":\"boolean\",\"required\":true,\"type\":\"boolean\"},\"type\":{\"nativeName\":\"type\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"directoryRole\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"directoryRole\",\"nativeType\":\"directoryRole\",\"properties\":{\"description\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePlan\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePlan\",\"nativeType\":\"servicePlan\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"appliesTo\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"appliesTo\",\"nativeType\":\"string\",\"type\":\"string\"},\"provisioningStatus\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"provisioningStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanId\",\"nativeType\":\"string\",\"type\":\"string\"},\"servicePlanName\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"servicePlanName\",\"nativeType\":\"string\",\"type\":\"string\"},\"subscriberSkuId\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"subscriberSkuId\",\"type\":\"string\"}},\"type\":\"object\"},\"servicePrincipal\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"servicePrincipal\",\"nativeType\":\"servicePrincipal\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__addAppRoleAssignedTo__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignedTo__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__addAppRoleAssignments__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__addAppRoleAssignments__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__removeAppRoleAssignedTo__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignedTo__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__removeAppRoleAssignments__\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__removeAppRoleAssignments__\",\"nativeType\":\"string\",\"type\":\"array\"},\"accountEnabled\":{\"nativeName\":\"accountEnabled\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"addIns\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addIns\",\"nativeType\":\"object\",\"type\":\"array\"},\"alternativeNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"alternativeNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"appDescription\":{\"nativeName\":\"appDescription\",\"nativeType\":\"string\",\"type\":\"string\"},\"appDisplayName\":{\"nativeName\":\"appDisplayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"appId\":{\"nativeName\":\"appId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appOwnerOrganizationId\":{\"nativeName\":\"appOwnerOrganizationId\",\"nativeType\":\"string\",\"type\":\"string\"},\"appRoleAssignmentRequired\":{\"nativeName\":\"appRoleAssignmentRequired\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"appRoles\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"appRoles\",\"nativeType\":\"object\",\"type\":\"array\"},\"applicationTemplateId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"applicationTemplateId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletedDateTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletedDateTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"disabledByMicrosoftStatus\":{\"nativeName\":\"disabledByMicrosoftStatus\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homepage\":{\"nativeName\":\"homepage\",\"nativeType\":\"string\",\"type\":\"string\"},\"info\":{\"nativeName\":\"info\",\"nativeType\":\"object\",\"type\":\"object\"},\"keyCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"keyCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"loginUrl\":{\"nativeName\":\"loginUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"logoutUrl\":{\"nativeName\":\"logoutUrl\",\"nativeType\":\"string\",\"type\":\"string\"},\"notes\":{\"nativeName\":\"notes\",\"nativeType\":\"string\",\"type\":\"string\"},\"notificationEmailAddresses\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"notificationEmailAddresses\",\"nativeType\":\"string\",\"type\":\"array\"},\"oauth2PermissionScopes\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"oauth2PermissionScopes\",\"nativeType\":\"object\",\"type\":\"array\"},\"passwordCredentials\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"passwordCredentials\",\"nativeType\":\"object\",\"type\":\"array\"},\"preferredSingleSignOnMode\":{\"nativeName\":\"preferredSingleSignOnMode\",\"nativeType\":\"string\",\"type\":\"string\"},\"replyUrls\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"replyUrls\",\"nativeType\":\"string\",\"type\":\"array\"},\"resourceSpecificApplicationPermissions\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"resourceSpecificApplicationPermissions\",\"nativeType\":\"object\",\"type\":\"array\"},\"samlSingleSignOnSettings\":{\"nativeName\":\"samlSingleSignOnSettings\",\"nativeType\":\"object\",\"type\":\"object\"},\"servicePrincipalNames\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"servicePrincipalNames\",\"nativeType\":\"string\",\"type\":\"array\"},\"servicePrincipalType\":{\"nativeName\":\"servicePrincipalType\",\"nativeType\":\"string\",\"type\":\"string\"},\"signInAudience\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"signInAudience\",\"nativeType\":\"string\",\"type\":\"string\"},\"tags\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"tags\",\"nativeType\":\"string\",\"type\":\"array\"},\"tokenEncryptionKeyId\":{\"nativeName\":\"tokenEncryptionKeyId\",\"nativeType\":\"string\",\"type\":\"string\"},\"verifiedPublisher\":{\"nativeName\":\"verifiedPublisher\",\"nativeType\":\"object\",\"type\":\"object\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" }, "cookies": [], "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, { "name": "content-type", - "value": "application/json" + "value": "application/json;charset=utf-8" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:10 GMT" + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "11938" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10636,20 +10617,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 267, + "headersSize": 666, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:09.803Z", - "time": 1000, + "startedDateTime": "2024-11-05T21:22:02.162Z", + "time": 279, "timings": { "blocked": -1, "connect": -1, @@ -10657,11 +10634,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1000 + "wait": 279 } }, { - "_id": "fc71be44855f4e764537c68893e9a626", + "_id": "121e27e32d185eeaa57290ecc791e8ba", "_order": 0, "cache": {}, "request": { @@ -10682,11 +10659,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10701,50 +10674,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1968, + "headersSize": 1919, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/realms/?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/provisioner.openicf/GoogleApps" }, "response": { - "bodySize": 331, + "bodySize": 7393, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 331, - "text": "{\"result\":[{\"_id\":\"L2FscGhh\",\"_rev\":\"362268810\",\"parentPath\":\"/\",\"active\":true,\"name\":\"alpha\",\"aliases\":[]},{\"_id\":\"L2JyYXZv\",\"_rev\":\"480875699\",\"parentPath\":\"/\",\"active\":true,\"name\":\"bravo\",\"aliases\":[]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=utf-8", + "size": 7393, + "text": "{\"_id\":\"provisioner.openicf/GoogleApps\",\"configurationProperties\":{\"availableLicenses\":[\"101005/1010050001\",\"101001/1010010001\",\"101031/1010310010\",\"101034/1010340002\",\"101038/1010380002\",\"101034/1010340001\",\"101038/1010380003\",\"101034/1010340004\",\"101034/1010340003\",\"101034/1010340006\",\"Google-Apps/Google-Apps-For-Business\",\"101034/1010340005\",\"Google-Vault/Google-Vault\",\"Google-Apps/1010020031\",\"Google-Apps/1010020030\",\"Google-Apps/1010060003\",\"Google-Apps/1010060005\",\"Google-Apps/Google-Apps-Unlimited\",\"Google-Apps/1010020029\",\"Google-Apps/Google-Apps-Lite\",\"101031/1010310003\",\"101033/1010330002\",\"101033/1010330004\",\"Google-Apps/Google-Apps-For-Education\",\"101031/1010310002\",\"101033/1010330003\",\"Google-Apps/1010020026\",\"101031/1010310007\",\"Google-Apps/1010020025\",\"101031/1010310008\",\"Google-Apps/1010020028\",\"Google-Apps/Google-Apps-For-Postini\",\"101031/1010310005\",\"Google-Apps/1010020027\",\"101031/1010310006\",\"101031/1010310009\",\"Google-Vault/Google-Vault-Former-Employee\",\"101038/1010370001\",\"Google-Apps/1010020020\",\"Google-Apps/1010060001\"],\"clientId\":\"&{esv.gac.client.id}\",\"clientSecret\":\"&{esv.gac.secret}\",\"domain\":\"&{esv.gac.domain}\",\"groupsMaxResults\":\"200\",\"listProductAndSkuMaxResults\":\"100\",\"listProductMaxResults\":\"100\",\"membersMaxResults\":\"200\",\"proxyHost\":null,\"proxyPort\":8080,\"refreshToken\":\"&{esv.gac.refresh}\",\"roleAssignmentMaxResults\":100,\"roleMaxResults\":100,\"usersMaxResults\":\"100\",\"validateCertificate\":true},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.googleapps-connector\",\"bundleVersion\":\"[1.5.0.0,1.6.0.0)\",\"connectorHostRef\":\"\",\"connectorName\":\"org.forgerock.openicf.connectors.googleapps.GoogleAppsConnector\",\"displayName\":\"GoogleApps Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":{\"$bool\":\"&{esv.gac.enable.connector}\"},\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__GROUPS__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"__GROUPS__\",\"nativeType\":\"string\",\"type\":\"array\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"required\":true,\"type\":\"string\"},\"__PHOTO__\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PHOTO__\",\"nativeType\":\"JAVA_TYPE_BYTE_ARRAY\",\"type\":\"string\"},\"__SECONDARY_EMAILS__\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"__SECONDARY_EMAILS__\",\"nativeType\":\"object\",\"type\":\"array\"},\"__UID__\":{\"nativeName\":\"__UID__\",\"nativeType\":\"string\",\"required\":false,\"type\":\"string\"},\"addresses\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"addresses\",\"nativeType\":\"object\",\"type\":\"array\"},\"agreedToTerms\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"agreedToTerms\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"aliases\":{\"flags\":[\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"aliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"archived\":{\"nativeName\":\"archived\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"changePasswordAtNextLogin\":{\"nativeName\":\"changePasswordAtNextLogin\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"creationTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"creationTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"customSchemas\":{\"nativeName\":\"customSchemas\",\"nativeType\":\"object\",\"type\":\"object\"},\"customerId\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"customerId\",\"nativeType\":\"string\",\"type\":\"string\"},\"deletionTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"deletionTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"externalIds\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"externalIds\",\"nativeType\":\"object\",\"type\":\"array\"},\"familyName\":{\"nativeName\":\"familyName\",\"nativeType\":\"string\",\"type\":\"string\"},\"fullName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"fullName\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"hashFunction\":{\"flags\":[\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"hashFunction\",\"nativeType\":\"string\",\"type\":\"string\"},\"ims\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"ims\",\"nativeType\":\"object\",\"type\":\"array\"},\"includeInGlobalAddressList\":{\"nativeName\":\"includeInGlobalAddressList\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"ipWhitelisted\":{\"nativeName\":\"ipWhitelisted\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isAdmin\":{\"nativeName\":\"isAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isDelegatedAdmin\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isDelegatedAdmin\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"isEnforcedIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnforcedIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isEnrolledIn2Sv\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isEnrolledIn2Sv\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"isMailboxSetup\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"isMailboxSetup\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"languages\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"languages\",\"nativeType\":\"object\",\"type\":\"array\"},\"lastLoginTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"lastLoginTime\",\"nativeType\":\"string\",\"type\":\"array\"},\"nonEditableAliases\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"nonEditableAliases\",\"nativeType\":\"string\",\"type\":\"array\"},\"orgUnitPath\":{\"nativeName\":\"orgUnitPath\",\"nativeType\":\"string\",\"type\":\"string\"},\"organizations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"organizations\",\"nativeType\":\"object\",\"type\":\"array\"},\"phones\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"phones\",\"nativeType\":\"object\",\"type\":\"array\"},\"primaryEmail\":{\"nativeName\":\"primaryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryEmail\":{\"nativeName\":\"recoveryEmail\",\"nativeType\":\"string\",\"type\":\"string\"},\"recoveryPhone\":{\"nativeName\":\"recoveryPhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"relations\":{\"items\":{\"nativeType\":\"object\",\"type\":\"object\"},\"nativeName\":\"relations\",\"nativeType\":\"object\",\"type\":\"array\"},\"suspended\":{\"nativeName\":\"suspended\",\"nativeType\":\"boolean\",\"type\":\"boolean\"},\"suspensionReason\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"suspensionReason\",\"nativeType\":\"string\",\"type\":\"string\"},\"thumbnailPhotoUrl\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"thumbnailPhotoUrl\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.0, resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10762,16 +10726,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:10 GMT" + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "7393" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10788,20 +10756,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 665, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:10.808Z", - "time": 238, + "startedDateTime": "2024-11-05T21:22:02.163Z", + "time": 278, "timings": { "blocked": -1, "connect": -1, @@ -10809,11 +10773,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 238 + "wait": 278 } }, { - "_id": "54c5959fa697111ab81bada4a7f8294e", + "_id": "4b25a3218f271450d92ae9cf4b0173ec", "_order": 0, "cache": {}, "request": { @@ -10834,11 +10798,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -10853,50 +10813,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1990, + "headersSize": 1896, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/repo.ds" }, "response": { - "bodySize": 413, + "bodySize": 40821, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 413, - "text": "{\"result\":[{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=utf-8", + "size": 40821, + "text": "{\"_id\":\"repo.ds\",\"commands\":{\"delete-mapping-links\":{\"_queryFilter\":\"/linkType eq \\\"${mapping}\\\"\",\"operation\":\"DELETE\"},\"delete-target-ids-for-recon\":{\"_queryFilter\":\"/reconId eq \\\"${reconId}\\\"\",\"operation\":\"DELETE\"}},\"embedded\":false,\"ldapConnectionFactories\":{\"bind\":{\"availabilityCheckIntervalSeconds\":30,\"availabilityCheckTimeoutMilliSeconds\":10000,\"connectionPoolSize\":50,\"connectionSecurity\":\"none\",\"heartBeatIntervalSeconds\":60,\"heartBeatTimeoutMilliSeconds\":10000,\"primaryLdapServers\":[{\"hostname\":\"userstore-0.userstore\",\"port\":1389}],\"secondaryLdapServers\":[{\"hostname\":\"userstore-2.userstore\",\"port\":1389}]},\"root\":{\"authentication\":{\"simple\":{\"bindDn\":\"uid=admin\",\"bindPassword\":\"&{userstore.password}\"}},\"inheritFrom\":\"bind\"}},\"maxConnectionAttempts\":5,\"queries\":{\"explicit\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"}},\"generic\":{\"credential-internaluser-query\":{\"_queryFilter\":\"/_id eq \\\"${username}\\\"\"},\"credential-query\":{\"_queryFilter\":\"/userName eq \\\"${username}\\\"\"},\"find-relationship-edges\":{\"_queryFilter\":\"((/firstResourceCollection eq \\\"${firstResourceCollection}\\\" and /firstResourceId eq \\\"${firstResourceId}\\\" and /firstPropertyName eq \\\"${firstPropertyName}\\\") and (/secondResourceCollection eq \\\"${secondResourceCollection}\\\" and /secondResourceId eq \\\"${secondResourceId}\\\" and /secondPropertyName eq \\\"${secondPropertyName}\\\")) or ((/firstResourceCollection eq \\\"${secondResourceCollection}\\\" and /firstResourceId eq \\\"${secondResourceId}\\\" and /firstPropertyName eq \\\"${secondPropertyName}\\\") and (/secondResourceCollection eq \\\"${firstResourceCollection}\\\" and /secondResourceId eq \\\"${firstResourceId}\\\" and /secondPropertyName eq \\\"${firstPropertyName}\\\"))\"},\"find-relationships-for-resource\":{\"_queryFilter\":\"(/firstResourceCollection eq \\\"${resourceCollection}\\\" and /firstResourceId eq \\\"${resourceId}\\\" and /firstPropertyName eq \\\"${propertyName}\\\") or (/secondResourceCollection eq \\\"${resourceCollection}\\\" and /secondResourceId eq \\\"${resourceId}\\\" and /secondPropertyName eq \\\"${propertyName}\\\")\"},\"for-userName\":{\"_queryFilter\":\"/userName eq \\\"${uid}\\\"\"},\"get-by-field-value\":{\"_queryFilter\":\"/${field} eq \\\"${value}\\\"\"},\"get-notifications-for-user\":{\"_queryFilter\":\"/receiverId eq \\\"${userId}\\\"\",\"_sortKeys\":\"-createDate\"},\"get-recons\":{\"_fields\":\"reconId,mapping,activitydate\",\"_queryFilter\":\"/entryType eq \\\"summary\\\"\",\"_sortKeys\":\"-activitydate\"},\"links-for-firstId\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\" AND /firstId = \\\"${firstId}\\\"\"},\"links-for-linkType\":{\"_queryFilter\":\"/linkType eq \\\"${linkType}\\\"\"},\"query-all\":{\"_queryFilter\":\"true\"},\"query-all-ids\":{\"_fields\":\"_id,_rev\",\"_queryFilter\":\"true\"},\"query-cluster-events\":{\"_queryFilter\":\"/instanceId eq \\\"${instanceId}\\\"\"},\"query-cluster-failed-instances\":{\"_queryFilter\":\"/timestamp le ${timestamp} and (/state eq \\\"1\\\" or /state eq \\\"2\\\")\"},\"query-cluster-instances\":{\"_queryFilter\":\"true\"},\"query-cluster-running-instances\":{\"_queryFilter\":\"/state eq 1\"}}},\"resourceMapping\":{\"defaultMapping\":{\"dnTemplate\":\"ou=generic,dc=openidm,dc=example,dc=com\"},\"explicitMapping\":{\"clusteredrecontargetids\":{\"dnTemplate\":\"ou=clusteredrecontargetids,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-recon-clusteredTargetIds\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-recon-id\",\"type\":\"simple\"},\"targetIds\":{\"ldapAttribute\":\"fr-idm-recon-targetIds\",\"type\":\"json\"}}},\"dsconfig/attributeValue\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-attribute-value-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"matchAttribute\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-match-attribute\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/characterSet\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-character-set-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowUnclassifiedCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-allow-unclassified-characters\",\"type\":\"simple\"},\"characterSet\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-character-set\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minCharacterSets\":{\"ldapAttribute\":\"ds-cfg-min-character-sets\",\"type\":\"simple\"}}},\"dsconfig/dictionary\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-dictionary-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"checkSubstrings\":{\"ldapAttribute\":\"ds-cfg-check-substrings\",\"type\":\"simple\"},\"dictionaryFile\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-dictionary-file\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minSubstringLength\":{\"ldapAttribute\":\"ds-cfg-min-substring-length\",\"type\":\"simple\"},\"testReversedPassword\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-test-reversed-password\",\"type\":\"simple\"}}},\"dsconfig/lengthBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-length-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxPasswordLength\":{\"ldapAttribute\":\"ds-cfg-max-password-length\",\"type\":\"simple\"},\"minPasswordLength\":{\"ldapAttribute\":\"ds-cfg-min-password-length\",\"type\":\"simple\"}}},\"dsconfig/passwordPolicies\":{\"dnTemplate\":\"cn=Password Policies,cn=config\",\"objectClasses\":[\"ds-cfg-password-policy\",\"ds-cfg-authentication-policy\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"allowPreEncodedPasswords\":{\"ldapAttribute\":\"ds-cfg-allow-pre-encoded-passwords\",\"type\":\"simple\"},\"defaultPasswordStorageScheme\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-default-password-storage-scheme\",\"type\":\"simple\"},\"deprecatedPasswordStorageScheme\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-deprecated-password-storage-scheme\",\"type\":\"simple\"},\"maxPasswordAge\":{\"ldapAttribute\":\"ds-cfg-max-password-age\",\"type\":\"simple\"},\"passwordAttribute\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-password-attribute\",\"type\":\"simple\"},\"passwordHistoryCount\":{\"ldapAttribute\":\"ds-cfg-password-history-count\",\"type\":\"simple\"},\"validator\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-password-validator\",\"type\":\"simple\"}}},\"dsconfig/repeatedCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-repeated-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"maxConsecutiveLength\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-max-consecutive-length\",\"type\":\"simple\"}}},\"dsconfig/similarityBased\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-similarity-based-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minPasswordDifference\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-password-difference\",\"type\":\"simple\"}}},\"dsconfig/uniqueCharacters\":{\"dnTemplate\":\"cn=Password Validators,cn=config\",\"objectClasses\":[\"ds-cfg-password-validator\",\"ds-cfg-unique-characters-password-validator\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"caseSensitiveValidation\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-case-sensitive-validation\",\"type\":\"simple\"},\"enabled\":{\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"javaClass\":{\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"minUniqueCharacters\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-min-unique-characters\",\"type\":\"simple\"}}},\"dsconfig/userDefinedVirtualAttribute\":{\"dnTemplate\":\"cn=Virtual Attributes,cn=config\",\"objectClasses\":[\"ds-cfg-user-defined-virtual-attribute\",\"ds-cfg-virtual-attribute\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"attributeType\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-attribute-type\",\"type\":\"simple\"},\"baseDn\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-base-dn\",\"type\":\"simple\"},\"conflictBehavior\":{\"ldapAttribute\":\"ds-cfg-conflict-behavior\",\"type\":\"simple\"},\"enabled\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-enabled\",\"type\":\"simple\"},\"filter\":{\"isMultiValued\":true,\"ldapAttribute\":\"ds-cfg-filter\",\"type\":\"simple\"},\"groupDn\":{\"ldapAttribute\":\"ds-cfg-group-dn\",\"type\":\"simple\"},\"javaClass\":{\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-java-class\",\"type\":\"simple\"},\"scope\":{\"ldapAttribute\":\"ds-cfg-scope\",\"type\":\"simple\"},\"value\":{\"isMultiValued\":true,\"isRequired\":true,\"ldapAttribute\":\"ds-cfg-value\",\"type\":\"simple\"}}},\"identities/admin\":{\"dnTemplate\":\"o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/alpha\":{\"dnTemplate\":\"o=alpha,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"identities/bravo\":{\"dnTemplate\":\"o=bravo,o=root,ou=identities\",\"isReadOnly\":true,\"namingStrategy\":{\"dnAttribute\":\"ou\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"organizationalunit\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"ou\",\"primaryKey\":true,\"type\":\"simple\"},\"count\":{\"isRequired\":true,\"ldapAttribute\":\"numSubordinates\",\"type\":\"simple\",\"writability\":\"readOnly\"}}},\"internal/role\":{\"dnTemplate\":\"ou=roles,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"fr-idm-internal-role\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"cn\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"authzMembers\":{\"isMultiValued\":true,\"propertyName\":\"authzRoles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"condition\":{\"ldapAttribute\":\"fr-idm-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"name\":{\"ldapAttribute\":\"fr-idm-name\",\"type\":\"simple\"},\"privileges\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-privilege\",\"type\":\"json\"},\"temporalConstraints\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-temporal-constraints\",\"type\":\"json\"}}},\"internal/user\":{\"dnTemplate\":\"ou=users,ou=internal,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-internal-user\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"password\":{\"ldapAttribute\":\"fr-idm-password\",\"type\":\"json\"}}},\"link\":{\"dnTemplate\":\"ou=links,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-link\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"firstId\":{\"ldapAttribute\":\"fr-idm-link-firstId\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-link-qualifier\",\"type\":\"simple\"},\"linkType\":{\"ldapAttribute\":\"fr-idm-link-type\",\"type\":\"simple\"},\"secondId\":{\"ldapAttribute\":\"fr-idm-link-secondId\",\"type\":\"simple\"}}},\"locks\":{\"dnTemplate\":\"ou=locks,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-lock\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-lock-nodeid\",\"type\":\"simple\"}}},\"managed/teammember\":{\"dnTemplate\":\"ou=people,o=root,ou=identities\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"fraas-admin\",\"iplanet-am-user-service\",\"deviceProfilesContainer\",\"devicePrintProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/teammembermeta\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"inviteDate\":{\"ldapAttribute\":\"fr-idm-inviteDate\",\"type\":\"simple\"},\"jurisdiction\":{\"ldapAttribute\":\"fr-idm-jurisdiction\",\"type\":\"simple\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"onboardDate\":{\"ldapAttribute\":\"fr-idm-onboardDate\",\"type\":\"simple\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/teammembergroup\":{\"dnTemplate\":\"ou=groups,o=root,ou=identities\",\"objectClasses\":[\"groupofuniquenames\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"ldapAttribute\":\"uniqueMember\",\"type\":\"simple\"}}},\"recon/assoc\":{\"dnTemplate\":\"ou=assoc,ou=recon,dc=openidm,dc=example,dc=com\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"clientDnNaming\"},\"objectClasses\":[\"fr-idm-reconassoc\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"fr-idm-reconassoc-reconid\",\"type\":\"simple\"},\"finishTime\":{\"ldapAttribute\":\"fr-idm-reconassoc-finishtime\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"subResources\":{\"entry\":{\"namingStrategy\":{\"dnAttribute\":\"uid\",\"type\":\"clientDnNaming\"},\"resource\":\"recon-assoc-entry\",\"type\":\"collection\"}}},\"recon/assoc/entry\":{\"objectClasses\":[\"uidObject\",\"fr-idm-reconassocentry\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"action\":{\"ldapAttribute\":\"fr-idm-reconassocentry-action\",\"type\":\"simple\"},\"ambiguousTargetObjectIds\":{\"ldapAttribute\":\"fr-idm-reconassocentry-ambiguoustargetobjectids\",\"type\":\"simple\"},\"exception\":{\"ldapAttribute\":\"fr-idm-reconassocentry-exception\",\"type\":\"simple\"},\"isAnalysis\":{\"ldapAttribute\":\"fr-idm-reconassoc-isanalysis\",\"type\":\"simple\"},\"linkQualifier\":{\"ldapAttribute\":\"fr-idm-reconassocentry-linkqualifier\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-reconassoc-mapping\",\"type\":\"simple\"},\"message\":{\"ldapAttribute\":\"fr-idm-reconassocentry-message\",\"type\":\"simple\"},\"messageDetail\":{\"ldapAttribute\":\"fr-idm-reconassocentry-messagedetail\",\"type\":\"simple\"},\"phase\":{\"ldapAttribute\":\"fr-idm-reconassocentry-phase\",\"type\":\"simple\"},\"reconId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-reconid\",\"type\":\"simple\"},\"situation\":{\"ldapAttribute\":\"fr-idm-reconassocentry-situation\",\"type\":\"simple\"},\"sourceObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-sourceObjectId\",\"type\":\"simple\"},\"sourceResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-sourceresourcecollection\",\"type\":\"simple\"},\"status\":{\"ldapAttribute\":\"fr-idm-reconassocentry-status\",\"type\":\"simple\"},\"targetObjectId\":{\"ldapAttribute\":\"fr-idm-reconassocentry-targetObjectId\",\"type\":\"simple\"},\"targetResourceCollection\":{\"ldapAttribute\":\"fr-idm-reconassoc-targetresourcecollection\",\"type\":\"simple\"}},\"resourceName\":\"recon-assoc-entry\",\"subResourceRouting\":[{\"prefix\":\"entry\",\"template\":\"recon/assoc/{reconId}/entry\"}]},\"sync/queue\":{\"dnTemplate\":\"ou=queue,ou=sync,dc=openidm,dc=example,dc=com\",\"objectClasses\":[\"uidObject\",\"fr-idm-syncqueue\"],\"properties\":{\"_id\":{\"isRequired\":true,\"ldapAttribute\":\"uid\",\"type\":\"simple\",\"writability\":\"createOnly\"},\"context\":{\"ldapAttribute\":\"fr-idm-syncqueue-context\",\"type\":\"json\"},\"createDate\":{\"ldapAttribute\":\"fr-idm-syncqueue-createdate\",\"type\":\"simple\"},\"mapping\":{\"ldapAttribute\":\"fr-idm-syncqueue-mapping\",\"type\":\"simple\"},\"newObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-newobject\",\"type\":\"json\"},\"nodeId\":{\"ldapAttribute\":\"fr-idm-syncqueue-nodeid\",\"type\":\"simple\"},\"objectRev\":{\"ldapAttribute\":\"fr-idm-syncqueue-objectRev\",\"type\":\"simple\"},\"oldObject\":{\"ldapAttribute\":\"fr-idm-syncqueue-oldobject\",\"type\":\"json\"},\"remainingRetries\":{\"ldapAttribute\":\"fr-idm-syncqueue-remainingretries\",\"type\":\"simple\"},\"resourceCollection\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourcecollection\",\"type\":\"simple\"},\"resourceId\":{\"ldapAttribute\":\"fr-idm-syncqueue-resourceid\",\"type\":\"simple\"},\"state\":{\"ldapAttribute\":\"fr-idm-syncqueue-state\",\"type\":\"simple\"},\"syncAction\":{\"ldapAttribute\":\"fr-idm-syncqueue-syncaction\",\"type\":\"simple\"}}}},\"genericMapping\":{\"cluster/*\":{\"dnTemplate\":\"ou=cluster,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-cluster-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchClusterObject\",\"objectClasses\":[\"uidObject\",\"fr-idm-cluster-obj\"]},\"config\":{\"dnTemplate\":\"ou=config,dc=openidm,dc=example,dc=com\"},\"file\":{\"dnTemplate\":\"ou=file,dc=openidm,dc=example,dc=com\"},\"internal/notification\":{\"dnTemplate\":\"ou=notification,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-notification-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-notification\"],\"properties\":{\"target\":{\"propertyName\":\"_notifications\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"internal/usermeta\":{\"dnTemplate\":\"ou=usermeta,ou=internal,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"jsonstorage\":{\"dnTemplate\":\"ou=jsonstorage,dc=openidm,dc=example,dc=com\"},\"managed/*\":{\"dnTemplate\":\"ou=managed,dc=openidm,dc=example,dc=com\"},\"managed/alpha_group\":{\"dnTemplate\":\"ou=groups,o=alpha,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_organization\":{\"dnTemplate\":\"ou=organization,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"}}},\"managed/alpha_role\":{\"dnTemplate\":\"ou=role,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/alpha_user\":{\"dnTemplate\":\"ou=user,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/alpha_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/alpha_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/alpha_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=alpha,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/alpha_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_group\":{\"dnTemplate\":\"ou=groups,o=bravo,o=root,ou=identities\",\"idGenerator\":{\"propertyName\":\"name\",\"type\":\"property\"},\"jsonAttribute\":\"fr-idm-managed-group-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"cn\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"top\",\"groupOfURLs\",\"fr-idm-managed-group\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"cn\",\"primaryKey\":true,\"type\":\"simple\",\"writability\":\"createOnly\"},\"condition\":{\"ldapAttribute\":\"fr-idm-managed-group-condition\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"groups\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_organization\":{\"dnTemplate\":\"ou=organization,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-organization-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-organization\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"},\"admins\":{\"isMultiValued\":true,\"propertyName\":\"adminOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"children\":{\"isMultiValued\":true,\"propertyName\":\"parent\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reverseReference\"},\"members\":{\"isMultiValued\":true,\"propertyName\":\"memberOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"name\":{\"ldapAttribute\":\"fr-idm-managed-organization-name\",\"type\":\"simple\"},\"owners\":{\"isMultiValued\":true,\"propertyName\":\"ownerOfOrg\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"parent\":{\"ldapAttribute\":\"fr-idm-managed-organization-parent\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"}}},\"managed/bravo_role\":{\"dnTemplate\":\"ou=role,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-managed-role-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchManagedRole\",\"objectClasses\":[\"uidObject\",\"fr-idm-managed-role\"],\"properties\":{\"members\":{\"isMultiValued\":true,\"propertyName\":\"roles\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/bravo_user\":{\"dnTemplate\":\"ou=user,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-custom-attrs\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"namingStrategy\":{\"dnAttribute\":\"fr-idm-uuid\",\"type\":\"clientDnNaming\"},\"nativeId\":false,\"objectClasses\":[\"person\",\"organizationalPerson\",\"inetOrgPerson\",\"iplanet-am-user-service\",\"devicePrintProfilesContainer\",\"deviceProfilesContainer\",\"kbaInfoContainer\",\"fr-idm-managed-user-explicit\",\"forgerock-am-dashboard-service\",\"inetuser\",\"iplanet-am-auth-configuration-service\",\"iplanet-am-managed-person\",\"iPlanetPreferences\",\"oathDeviceProfilesContainer\",\"pushDeviceProfilesContainer\",\"sunAMAuthAccountLockout\",\"sunFMSAML2NameIdentifier\",\"webauthnDeviceProfilesContainer\",\"fr-idm-hybrid-obj\",\"fr-ext-attrs\"],\"properties\":{\"_id\":{\"ldapAttribute\":\"fr-idm-uuid\",\"primaryKey\":true,\"type\":\"simple\"},\"_meta\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-meta\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_usermeta\",\"type\":\"reference\"},\"_notifications\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-notifications\",\"primaryKey\":\"uid\",\"resourcePath\":\"internal/notification\",\"type\":\"reference\"},\"accountStatus\":{\"ldapAttribute\":\"inetUserStatus\",\"type\":\"simple\"},\"adminOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-admin\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"aliasList\":{\"isMultiValued\":true,\"ldapAttribute\":\"iplanet-am-user-alias-list\",\"type\":\"simple\"},\"assignedDashboard\":{\"isMultiValued\":true,\"ldapAttribute\":\"assignedDashboard\",\"type\":\"simple\"},\"authzRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-authzroles-internal-role\",\"primaryKey\":\"cn\",\"resourcePath\":\"internal/role\",\"type\":\"reference\"},\"city\":{\"ldapAttribute\":\"l\",\"type\":\"simple\"},\"cn\":{\"ldapAttribute\":\"cn\",\"type\":\"simple\"},\"consentedMappings\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-consentedMapping\",\"type\":\"json\"},\"country\":{\"ldapAttribute\":\"co\",\"type\":\"simple\"},\"description\":{\"ldapAttribute\":\"description\",\"type\":\"simple\"},\"displayName\":{\"ldapAttribute\":\"displayName\",\"type\":\"simple\"},\"effectiveAssignments\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveAssignment\",\"type\":\"json\"},\"effectiveGroups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveGroup\",\"type\":\"json\"},\"effectiveRoles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-effectiveRole\",\"type\":\"json\"},\"frIndexedDate1\":{\"ldapAttribute\":\"fr-attr-idate1\",\"type\":\"simple\"},\"frIndexedDate2\":{\"ldapAttribute\":\"fr-attr-idate2\",\"type\":\"simple\"},\"frIndexedDate3\":{\"ldapAttribute\":\"fr-attr-idate3\",\"type\":\"simple\"},\"frIndexedDate4\":{\"ldapAttribute\":\"fr-attr-idate4\",\"type\":\"simple\"},\"frIndexedDate5\":{\"ldapAttribute\":\"fr-attr-idate5\",\"type\":\"simple\"},\"frIndexedInteger1\":{\"ldapAttribute\":\"fr-attr-iint1\",\"type\":\"simple\"},\"frIndexedInteger2\":{\"ldapAttribute\":\"fr-attr-iint2\",\"type\":\"simple\"},\"frIndexedInteger3\":{\"ldapAttribute\":\"fr-attr-iint3\",\"type\":\"simple\"},\"frIndexedInteger4\":{\"ldapAttribute\":\"fr-attr-iint4\",\"type\":\"simple\"},\"frIndexedInteger5\":{\"ldapAttribute\":\"fr-attr-iint5\",\"type\":\"simple\"},\"frIndexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti1\",\"type\":\"simple\"},\"frIndexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti2\",\"type\":\"simple\"},\"frIndexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti3\",\"type\":\"simple\"},\"frIndexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti4\",\"type\":\"simple\"},\"frIndexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-imulti5\",\"type\":\"simple\"},\"frIndexedString1\":{\"ldapAttribute\":\"fr-attr-istr1\",\"type\":\"simple\"},\"frIndexedString2\":{\"ldapAttribute\":\"fr-attr-istr2\",\"type\":\"simple\"},\"frIndexedString3\":{\"ldapAttribute\":\"fr-attr-istr3\",\"type\":\"simple\"},\"frIndexedString4\":{\"ldapAttribute\":\"fr-attr-istr4\",\"type\":\"simple\"},\"frIndexedString5\":{\"ldapAttribute\":\"fr-attr-istr5\",\"type\":\"simple\"},\"frUnindexedDate1\":{\"ldapAttribute\":\"fr-attr-date1\",\"type\":\"simple\"},\"frUnindexedDate2\":{\"ldapAttribute\":\"fr-attr-date2\",\"type\":\"simple\"},\"frUnindexedDate3\":{\"ldapAttribute\":\"fr-attr-date3\",\"type\":\"simple\"},\"frUnindexedDate4\":{\"ldapAttribute\":\"fr-attr-date4\",\"type\":\"simple\"},\"frUnindexedDate5\":{\"ldapAttribute\":\"fr-attr-date5\",\"type\":\"simple\"},\"frUnindexedInteger1\":{\"ldapAttribute\":\"fr-attr-int1\",\"type\":\"simple\"},\"frUnindexedInteger2\":{\"ldapAttribute\":\"fr-attr-int2\",\"type\":\"simple\"},\"frUnindexedInteger3\":{\"ldapAttribute\":\"fr-attr-int3\",\"type\":\"simple\"},\"frUnindexedInteger4\":{\"ldapAttribute\":\"fr-attr-int4\",\"type\":\"simple\"},\"frUnindexedInteger5\":{\"ldapAttribute\":\"fr-attr-int5\",\"type\":\"simple\"},\"frUnindexedMultivalued1\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi1\",\"type\":\"simple\"},\"frUnindexedMultivalued2\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi2\",\"type\":\"simple\"},\"frUnindexedMultivalued3\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi3\",\"type\":\"simple\"},\"frUnindexedMultivalued4\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi4\",\"type\":\"simple\"},\"frUnindexedMultivalued5\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-attr-multi5\",\"type\":\"simple\"},\"frUnindexedString1\":{\"ldapAttribute\":\"fr-attr-str1\",\"type\":\"simple\"},\"frUnindexedString2\":{\"ldapAttribute\":\"fr-attr-str2\",\"type\":\"simple\"},\"frUnindexedString3\":{\"ldapAttribute\":\"fr-attr-str3\",\"type\":\"simple\"},\"frUnindexedString4\":{\"ldapAttribute\":\"fr-attr-str4\",\"type\":\"simple\"},\"frUnindexedString5\":{\"ldapAttribute\":\"fr-attr-str5\",\"type\":\"simple\"},\"givenName\":{\"ldapAttribute\":\"givenName\",\"type\":\"simple\"},\"groups\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-groups\",\"primaryKey\":\"cn\",\"resourcePath\":\"managed/bravo_group\",\"type\":\"reference\"},\"kbaInfo\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-kbaInfo\",\"type\":\"json\"},\"lastSync\":{\"ldapAttribute\":\"fr-idm-lastSync\",\"type\":\"json\"},\"mail\":{\"ldapAttribute\":\"mail\",\"type\":\"simple\"},\"manager\":{\"isMultiValued\":false,\"ldapAttribute\":\"fr-idm-managed-user-manager\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reference\"},\"memberOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-member\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"memberOfOrgIDs\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-memberoforgid\",\"type\":\"simple\"},\"ownerOfOrg\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-organization-owner\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_organization\",\"type\":\"reference\"},\"password\":{\"ldapAttribute\":\"userPassword\",\"type\":\"simple\"},\"postalAddress\":{\"ldapAttribute\":\"street\",\"type\":\"simple\"},\"postalCode\":{\"ldapAttribute\":\"postalCode\",\"type\":\"simple\"},\"preferences\":{\"ldapAttribute\":\"fr-idm-preferences\",\"type\":\"json\"},\"profileImage\":{\"ldapAttribute\":\"labeledURI\",\"type\":\"simple\"},\"reports\":{\"isMultiValued\":true,\"propertyName\":\"manager\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"},\"roles\":{\"isMultiValued\":true,\"ldapAttribute\":\"fr-idm-managed-user-roles\",\"primaryKey\":\"uid\",\"resourcePath\":\"managed/bravo_role\",\"type\":\"reference\"},\"sn\":{\"ldapAttribute\":\"sn\",\"type\":\"simple\"},\"stateProvince\":{\"ldapAttribute\":\"st\",\"type\":\"simple\"},\"telephoneNumber\":{\"ldapAttribute\":\"telephoneNumber\",\"type\":\"simple\"},\"userName\":{\"ldapAttribute\":\"uid\",\"type\":\"simple\"}}},\"managed/bravo_usermeta\":{\"dnTemplate\":\"ou=usermeta,o=bravo,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/bravo_user\",\"type\":\"reverseReference\"}}},\"managed/teammembermeta\":{\"dnTemplate\":\"ou=teammembermeta,o=root,ou=identities\",\"jsonAttribute\":\"fr-idm-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatch\",\"objectClasses\":[\"uidObject\",\"fr-idm-generic-obj\"],\"properties\":{\"target\":{\"propertyName\":\"_meta\",\"resourcePath\":\"managed/teammember\",\"type\":\"reverseReference\"}}},\"reconprogressstate\":{\"dnTemplate\":\"ou=reconprogressstate,dc=openidm,dc=example,dc=com\"},\"relationships\":{\"dnTemplate\":\"ou=relationships,dc=openidm,dc=example,dc=com\",\"jsonAttribute\":\"fr-idm-relationship-json\",\"jsonQueryEqualityMatchingRule\":\"caseIgnoreJsonQueryMatchRelationship\",\"objectClasses\":[\"uidObject\",\"fr-idm-relationship\"]},\"scheduler\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"scheduler/*\":{\"dnTemplate\":\"ou=scheduler,dc=openidm,dc=example,dc=com\"},\"ui/*\":{\"dnTemplate\":\"ou=ui,dc=openidm,dc=example,dc=com\"},\"updates\":{\"dnTemplate\":\"ou=updates,dc=openidm,dc=example,dc=com\"}}},\"rest2LdapOptions\":{\"mvccAttribute\":\"etag\",\"readOnUpdatePolicy\":\"controls\",\"returnNullForMissingProperties\":true,\"useMvcc\":true,\"usePermissiveModify\":true,\"useSubtreeDelete\":true},\"security\":{\"keyManager\":\"jvm\",\"trustManager\":\"jvm\"}}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "protocol=2.1,resource=1.0, resource=1.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -10914,20 +10865,16 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "413" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "name": "x-frame-options", + "value": "DENY" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -10944,16 +10891,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 793, + "headersSize": 671, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.051Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:02.164Z", + "time": 327, "timings": { "blocked": -1, "connect": -1, @@ -10961,11 +10912,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 327 } }, { - "_id": "6b977642417440b9bc117cf865b024c2", + "_id": "964d1f108f79d6726c8f9a9ea2f481a8", "_order": 0, "cache": {}, "request": { @@ -10986,11 +10937,12992 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1895, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/router" + }, + "response": { + "bodySize": 29, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 29, + "text": "{\"_id\":\"router\",\"filters\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "29" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.165Z", + "time": 278, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 278 + } + }, + { + "_id": "db9e46775a8fc1f06f1976aa2f264a5c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1895, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/script" + }, + "response": { + "bodySize": 1016, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1016, + "text": "{\"_id\":\"script\",\"ECMAScript\":{\"#javascript.debug\":\"&{openidm.script.javascript.debug}\",\"javascript.recompile.minimumInterval\":60000},\"Groovy\":{\"#groovy.disabled.global.ast.transformations\":\"\",\"#groovy.errors.tolerance\":10,\"#groovy.output.debug\":false,\"#groovy.output.verbose\":false,\"#groovy.script.base\":\"#any class extends groovy.lang.Script\",\"#groovy.script.extension\":\".groovy\",\"#groovy.source.encoding\":\"utf-8 #default US-ASCII\",\"#groovy.target.bytecode\":\"1.5\",\"#groovy.target.indy\":true,\"#groovy.warnings\":\"likely errors #othere values [none,likely,possible,paranoia]\",\"groovy.classpath\":\"&{idm.install.dir}/lib\",\"groovy.recompile\":true,\"groovy.recompile.minimumInterval\":60000,\"groovy.source.encoding\":\"UTF-8\",\"groovy.target.directory\":\"&{idm.install.dir}/classes\"},\"properties\":{},\"sources\":{\"default\":{\"directory\":\"&{idm.install.dir}/bin/defaults/script\"},\"install\":{\"directory\":\"&{idm.install.dir}\"},\"project\":{\"directory\":\"&{idm.instance.dir}\"},\"project-script\":{\"directory\":\"&{idm.instance.dir}/script\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1016" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.167Z", + "time": 273, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 273 + } + }, + { + "_id": "c419c3c504adf72d8d01000bfc9ed469", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1896, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/secrets" + }, + "response": { + "bodySize": 1863, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1863, + "text": "{\"_id\":\"secrets\",\"populateDefaults\":true,\"stores\":[{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.keystore.location|&{idm.install.dir}/security/keystore.jceks}\",\"mappings\":[{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\",\"openidm-localhost\"],\"secretId\":\"idm.default\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.config.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.password.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.https.keystore.cert.alias|openidm-localhost}\"],\"secretId\":\"idm.jwt.session.module.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.jwtsession.hmackey.alias|openidm-jwtsessionhmac-key}\"],\"secretId\":\"idm.jwt.session.module.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"selfservice\"],\"secretId\":\"idm.selfservice.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]},{\"aliases\":[\"&{openidm.config.crypto.selfservice.sharedkey.alias|openidm-selfservice-key}\"],\"secretId\":\"idm.selfservice.signing\",\"types\":[\"SIGN\",\"VERIFY\"]},{\"aliases\":[\"&{openidm.config.crypto.alias|openidm-sym-default}\"],\"secretId\":\"idm.assignment.attribute.encryption\",\"types\":[\"ENCRYPT\",\"DECRYPT\"]}],\"providerName\":\"&{openidm.keystore.provider|SunJCE}\",\"storePassword\":\"&{openidm.keystore.password|changeit}\",\"storetype\":\"&{openidm.keystore.type|JCEKS}\"},\"name\":\"mainKeyStore\"},{\"class\":\"org.forgerock.openidm.secrets.config.FileBasedStore\",\"config\":{\"file\":\"&{openidm.truststore.location|&{idm.install.dir}/security/truststore}\",\"mappings\":[],\"providerName\":\"&{openidm.truststore.provider|SUN}\",\"storePassword\":\"&{openidm.truststore.password|changeit}\",\"storetype\":\"&{openidm.truststore.type|JKS}\"},\"name\":\"mainTrustStore\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1863" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.168Z", + "time": 181, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 181 + } + }, + { + "_id": "fbe7ba68489c5d0631e41339e4fd7639", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1904, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.kba" + }, + "response": { + "bodySize": 162, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 162, + "text": "{\"_id\":\"selfservice.kba\",\"kbaPropertyName\":\"kbaInfo\",\"minimumAnswersToDefine\":1,\"minimumAnswersToVerify\":1,\"questions\":{\"1\":{\"en\":\"What's your favorite color?\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "162" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.169Z", + "time": 267, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 267 + } + }, + { + "_id": "6a7f6a43fbe911924cd85308a42e6808", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1906, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/selfservice.terms" + }, + "response": { + "bodySize": 730, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 730, + "text": "{\"_id\":\"selfservice.terms\",\"active\":\"0.0\",\"uiConfig\":{\"buttonText\":\"Accept\",\"displayName\":\"We've updated our terms\",\"purpose\":\"You must accept the updated terms in order to proceed.\"},\"versions\":[{\"createDate\":\"2019-10-28T04:20:11.320Z\",\"termsTranslations\":{\"en\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"},\"version\":\"0.0\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "730" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.170Z", + "time": 298, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 298 + } + }, + { + "_id": "5318a04c884b184c62166b1a742df333", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1907, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/cors" + }, + "response": { + "bodySize": 347, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 347, + "text": "{\"_id\":\"servletfilter/cors\",\"initParams\":{\"allowCredentials\":false,\"allowedHeaders\":\"authorization,accept,content-type,origin,x-requested-with,cache-control,accept-api-version,if-match,if-none-match\",\"allowedMethods\":\"GET,POST,PUT,DELETE,PATCH\",\"allowedOrigins\":\"*\",\"chainPreflight\":false,\"exposedHeaders\":\"WWW-Authenticate\"},\"urlPatterns\":[\"/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "347" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.171Z", + "time": 267, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 267 + } + }, + { + "_id": "4f6c64229907b8f264e3019172bb624a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1910, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/payload" + }, + "response": { + "bodySize": 121, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 121, + "text": "{\"_id\":\"servletfilter/payload\",\"initParams\":{\"maxRequestSizeInMegabytes\":5},\"urlPatterns\":[\"&{openidm.servlet.alias}/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "121" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.172Z", + "time": 306, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 306 + } + }, + { + "_id": "999345e3a753991c10a21a99c97f515a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1909, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/servletfilter/upload" + }, + "response": { + "bodySize": 128, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 128, + "text": "{\"_id\":\"servletfilter/upload\",\"initParams\":{\"maxRequestSizeInMegabytes\":50},\"urlPatterns\":[\"&{openidm.servlet.upload.alias}/*\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "128" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.175Z", + "time": 209, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 209 + } + }, + { + "_id": "c861eac0e05abd75d70c21c6587f5992", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/admin" + }, + "response": { + "bodySize": 224, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 224, + "text": "{\"_id\":\"ui.context/admin\",\"defaultDir\":\"&{idm.install.dir}/ui/admin/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/admin/extension\",\"responseHeaders\":{\"X-Frame-Options\":\"SAMEORIGIN\"},\"urlContextRoot\":\"/admin\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.177Z", + "time": 291, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 291 + } + }, + { + "_id": "7e3a8ff0fa4961b9619a410b1ffd7b03", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1903, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/api" + }, + "response": { + "bodySize": 205, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 205, + "text": "{\"_id\":\"ui.context/api\",\"authEnabled\":true,\"cacheEnabled\":false,\"defaultDir\":\"&{idm.install.dir}/ui/api/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/api/extension\",\"urlContextRoot\":\"/api\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "205" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.178Z", + "time": 259, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 259 + } + }, + { + "_id": "8fd8fc999451084e70dce83cdb01556f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1907, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/enduser" + }, + "response": { + "bodySize": 154, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 154, + "text": "{\"_id\":\"ui.context/enduser\",\"defaultDir\":\"&{idm.install.dir}/ui/enduser\",\"enabled\":true,\"responseHeaders\":{\"X-Frame-Options\":\"DENY\"},\"urlContextRoot\":\"/\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "154" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.179Z", + "time": 119, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 119 + } + }, + { + "_id": "edc8d4459847a036cfcb858bc52a9cf0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui.context/oauth" + }, + "response": { + "bodySize": 199, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 199, + "text": "{\"_id\":\"ui.context/oauth\",\"cacheEnabled\":true,\"defaultDir\":\"&{idm.install.dir}/ui/oauth/default\",\"enabled\":true,\"extensionDir\":\"&{idm.install.dir}/ui/oauth/extension\",\"urlContextRoot\":\"/oauthReturn\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "199" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.180Z", + "time": 232, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 232 + } + }, + { + "_id": "cd921971f14ee0c5e955d7887b8f336e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1905, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/configuration" + }, + "response": { + "bodySize": 707, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 707, + "text": "{\"_id\":\"ui/configuration\",\"configuration\":{\"defaultNotificationType\":\"info\",\"forgotUsername\":false,\"lang\":\"en\",\"notificationTypes\":{\"error\":{\"iconPath\":\"images/notifications/error.png\",\"name\":\"common.notification.types.error\"},\"info\":{\"iconPath\":\"images/notifications/info.png\",\"name\":\"common.notification.types.info\"},\"warning\":{\"iconPath\":\"images/notifications/warning.png\",\"name\":\"common.notification.types.warning\"}},\"passwordReset\":true,\"passwordResetLink\":\"\",\"platformSettings\":{\"adminOauthClient\":\"idmAdminClient\",\"adminOauthClientScopes\":\"fr:idm:*\",\"amUrl\":\"/am\",\"loginUrl\":\"\"},\"roles\":{\"internal/role/openidm-admin\":\"ui-admin\",\"internal/role/openidm-authorized\":\"ui-user\"},\"selfRegistration\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "707" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.181Z", + "time": 146, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 146 + } + }, + { + "_id": "ce29aa0a09c80a87a98b616e722ccfeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1901, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/dashboard" + }, + "response": { + "bodySize": 1974, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1974, + "text": "{\"_id\":\"ui/dashboard\",\"adminDashboards\":[{\"isDefault\":true,\"name\":\"Quick Start\",\"widgets\":[{\"cards\":[{\"href\":\"#resource/managed/alpha_user/list/\",\"icon\":\"fa-user\",\"name\":\"Manage Users\"},{\"href\":\"#resource/managed/alpha_role/list/\",\"icon\":\"fa-check-square-o\",\"name\":\"Manage Roles\"},{\"href\":\"#connectors/add/\",\"icon\":\"fa-database\",\"name\":\"Add Connector\"},{\"href\":\"#mapping/add/\",\"icon\":\"fa-map-marker\",\"name\":\"Create Mapping\"},{\"href\":\"#managed/add/\",\"icon\":\"fa-tablet\",\"name\":\"Add Device\"},{\"href\":\"#settings/\",\"icon\":\"fa-user\",\"name\":\"Configure System Preferences\"}],\"size\":\"large\",\"type\":\"quickStart\"}]},{\"isDefault\":false,\"name\":\"System Monitoring\",\"widgets\":[{\"legendRange\":{\"month\":[500,2500,5000],\"week\":[10,30,90,270,810],\"year\":[10000,40000,100000,250000]},\"maxRange\":\"#24423c\",\"minRange\":\"#b0d4cd\",\"size\":\"large\",\"type\":\"audit\"},{\"size\":\"large\",\"type\":\"clusterStatus\"},{\"size\":\"large\",\"type\":\"systemHealthFull\"},{\"barchart\":\"false\",\"size\":\"large\",\"type\":\"lastRecon\"}]},{\"isDefault\":false,\"name\":\"Resource Report\",\"widgets\":[{\"selected\":\"activeUsers\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"rolesEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"activeConnectors\",\"size\":\"x-small\",\"type\":\"counter\"},{\"size\":\"large\",\"type\":\"resourceList\"}]},{\"isDefault\":false,\"name\":\"Business Report\",\"widgets\":[{\"graphType\":\"fa-pie-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"signIns\",\"widgetTitle\":\"Sign-Ins\"},{\"graphType\":\"fa-bar-chart\",\"size\":\"x-small\",\"type\":\"passwordResets\",\"widgetTitle\":\"Password Resets\"},{\"graphType\":\"fa-line-chart\",\"providers\":[\"Username/Password\"],\"size\":\"x-small\",\"type\":\"newRegistrations\",\"widgetTitle\":\"New Registrations\"},{\"size\":\"x-small\",\"timezone\":{\"hours\":\"07\",\"minutes\":\"00\",\"negative\":true},\"type\":\"socialLogin\"},{\"selected\":\"socialEnabled\",\"size\":\"x-small\",\"type\":\"counter\"},{\"selected\":\"manualRegistrations\",\"size\":\"x-small\",\"type\":\"counter\"}]}],\"dashboard\":{\"widgets\":[{\"size\":\"large\",\"type\":\"Welcome\"}]}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1974" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.182Z", + "time": 238, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 238 + } + }, + { + "_id": "c9763e7c616a05ef9d265a63b7b375f3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1899, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/profile" + }, + "response": { + "bodySize": 891, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 891, + "text": "{\"_id\":\"ui/profile\",\"tabs\":[{\"name\":\"personalInfoTab\",\"view\":\"org/forgerock/openidm/ui/user/profile/personalInfo/PersonalInfoTab\"},{\"name\":\"signInAndSecurity\",\"view\":\"org/forgerock/openidm/ui/user/profile/signInAndSecurity/SignInAndSecurityTab\"},{\"name\":\"preference\",\"view\":\"org/forgerock/openidm/ui/user/profile/PreferencesTab\"},{\"name\":\"trustedDevice\",\"view\":\"org/forgerock/openidm/ui/user/profile/TrustedDevicesTab\"},{\"name\":\"oauthApplication\",\"view\":\"org/forgerock/openidm/ui/user/profile/OauthApplicationsTab\"},{\"name\":\"privacyAndConsent\",\"view\":\"org/forgerock/openidm/ui/user/profile/PrivacyAndConsentTab\"},{\"name\":\"sharing\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/SharingTab\"},{\"name\":\"auditHistory\",\"view\":\"org/forgerock/openidm/ui/user/profile/uma/ActivityTab\"},{\"name\":\"accountControls\",\"view\":\"org/forgerock/openidm/ui/user/profile/accountControls/AccountControlsTab\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "891" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.183Z", + "time": 242, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 242 + } + }, + { + "_id": "1619e8be49fb5a948dba768362dd885c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1903, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themeconfig" + }, + "response": { + "bodySize": 402, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 402, + "text": "{\"_id\":\"ui/themeconfig\",\"icon\":\"favicon.ico\",\"path\":\"\",\"settings\":{\"footer\":{\"mailto\":\"info@forgerock.com\"},\"loginLogo\":{\"alt\":\"ForgeRock\",\"height\":\"104px\",\"src\":\"images/login-logo-dark.png\",\"title\":\"ForgeRock\",\"width\":\"210px\"},\"logo\":{\"alt\":\"ForgeRock\",\"src\":\"images/logo-horizontal-white.png\",\"title\":\"ForgeRock\"}},\"stylesheets\":[\"css/bootstrap-3.4.1-custom.css\",\"css/structure.css\",\"css/theme.css\"]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "402" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.184Z", + "time": 275, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 275 + } + }, + { + "_id": "8491b762ea9e0d6de34b91e8d5d97a4d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1902, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/ui/themerealm" + }, + "response": { + "bodySize": 90138, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 90138, + "text": "{\"_id\":\"ui/themerealm\",\"realm\":{\"/alpha\":[{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"alpha\":[{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"e47838b5-48c9-4dea-8a84-43f4b4ea8e04\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputSelectHoverColor\":\"#f6f8fa\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountFooterScriptTag\":\"\",\"accountFooterScriptTagEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"boldLinks\":false,\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyA11yAddFallbackErrorHeading\":true,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardBorderRadius\":4,\"journeyCardHeaderBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFloatingLabels\":true,\"journeyFocusElement\":\"header\",\"journeyFocusFirstFocusableItemEnabled\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyFooterScriptTag\":\"\",\"journeyFooterScriptTagEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyHeaderSkipLinkEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputSelectHoverColor\":\"#f6f8fa\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyJustifiedContentMobileViewEnabled\":false,\"journeyLayout\":\"justified-right\",\"journeyRememberMeEnabled\":false,\"journeyRememberMeLabel\":\"\",\"journeySignInButtonPosition\":\"flex-column\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Copy of Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"successColor\":\"#2ed47a\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"63e19668-909f-479e-83d7-be7a01cd8187\",\"accountCardBackgroundColor\":\"#ffffff\",\"accountCardHeaderColor\":\"#23282e\",\"accountCardInnerBorderColor\":\"#e7eef4\",\"accountCardInputBackgroundColor\":\"#ffffff\",\"accountCardInputBorderColor\":\"#c0c9d5\",\"accountCardInputLabelColor\":\"#5e6d82\",\"accountCardInputSelectColor\":\"#e4f4fd\",\"accountCardInputTextColor\":\"#23282e\",\"accountCardOuterBorderColor\":\"#e7eef4\",\"accountCardShadow\":3,\"accountCardTabActiveBorderColor\":\"#109cf1\",\"accountCardTabActiveColor\":\"#e4f4fd\",\"accountCardTextColor\":\"#5e6d82\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountNavigationBackgroundColor\":\"#ffffff\",\"accountNavigationTextColor\":\"#455469\",\"accountNavigationToggleBorderColor\":\"#e7eef4\",\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":true},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"accountTableRowHoverColor\":\"#f6f8fa\",\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"boldLinks\":false,\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"fontFamily\":\"Open Sans\",\"isDefault\":false,\"journeyCardBackgroundColor\":\"#ffffff\",\"journeyCardShadow\":3,\"journeyCardTextColor\":\"#5e6d82\",\"journeyCardTitleColor\":\"#23282e\",\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyInputBackgroundColor\":\"#ffffff\",\"journeyInputBorderColor\":\"#c0c9d5\",\"journeyInputLabelColor\":\"#5e6d82\",\"journeyInputSelectColor\":\"#e4f4fd\",\"journeyInputTextColor\":\"#23282e\",\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[\"FrodoTest\",\"AA-FrodoTest\"],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":false,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"NoAccess\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"switchBackgroundColor\":\"#c0c9d5\",\"textColor\":\"#ffffff\",\"topBarBackgroundColor\":\"#ffffff\",\"topBarBorderColor\":\"#e7eef4\",\"topBarHeaderColor\":\"#23282e\",\"topBarTextColor\":\"#69788b\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}],\"bravo\":[{\"_id\":\"00203891-dde0-4114-b27a-219ae0b43a61\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#C60819\",\"linkColor\":\"#EB0A1E\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-full.svg\",\"logoProfileAltText\":\"Highlander\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/highlander/logo-highlander-icon.svg\",\"logoProfileCollapsedAltText\":\"Highlander\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Highlander\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#EB0A1E\",\"primaryOffColor\":\"#C60819\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#EB0A1E\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"4ded6d91-ceea-400a-ae3f-42209f1b0e06\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"
\\n

Uptime & Performance Benchmarking Made Easy

\\n
\\n\\n\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":true,\"linkActiveColor\":\"#007661\",\"linkColor\":\"#009C80\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoAltText\":\"Zardoz Logo\",\"logoEnabled\":true,\"logoHeight\":\"47\",\"logoProfile\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileAltText\":\"Zardaz Logo\",\"logoProfileCollapsed\":\"https://cdn.forgerock.com/platform/themes/zardoz/logo-zardoz.svg\",\"logoProfileCollapsedAltText\":\"Zardaz Logo\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"40\",\"name\":\"Zardoz\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#009C80\",\"primaryOffColor\":\"#007661\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#009C80\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"86ce2f64-586d-44fe-8593-b12a85aac68d\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#324054\",\"backgroundImage\":\"\",\"bodyText\":\"#23282e\",\"buttonRounded\":5,\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":true,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#0c85cf\",\"linkColor\":\"#109cf1\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoHeight\":\"40\",\"logoProfile\":\"\",\"logoProfileAltText\":\"\",\"logoProfileCollapsed\":\"\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"40\",\"logoProfileHeight\":\"40\",\"name\":\"Starter Theme\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#324054\",\"primaryOffColor\":\"#242E3C\",\"profileBackgroundColor\":\"#f6f8fa\",\"profileMenuHighlightColor\":\"#f3f5f8\",\"profileMenuHoverColor\":\"#324054\",\"profileMenuHoverTextColor\":\"#ffffff\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"b82755e8-fe9a-4d27-b66b-45e37ae12345\",\"accountFooter\":\"\\n\",\"accountFooterEnabled\":true,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#5E6D82\",\"buttonRounded\":\"50\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\\n\",\"journeyFooterEnabled\":true,\"journeyHeader\":\"
\\n \\n \\n \\n \\n \\n
    \\n
  • \\n Link\\n
  • \\n
  • \\n Disabled\\n
  • \\n
\\n
    \\n
  • \\n Link\\n
  • \\n
\\n \\n \\n
\\n\",\"journeyHeaderEnabled\":true,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":true,\"journeyLayout\":\"justified-right\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#49871E\",\"linkColor\":\"#5AA625\",\"linkedTrees\":[],\"logo\":\"\",\"logoAltText\":\"\",\"logoEnabled\":true,\"logoHeight\":\"40\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='156' height='34' viewBox='0 0 156 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445995 0.446289 0.445995 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cpath d='M51.053 25.38L53.186 25.11V8.964L51.161 8.586V6.939H55.076C55.418 6.939 55.796 6.93 56.21 6.912C56.624 6.894 56.939 6.876 57.155 6.858C58.091 6.786 58.865 6.75 59.477 6.75C61.331 6.75 62.816 6.939 63.932 7.317C65.048 7.695 65.858 8.271 66.362 9.045C66.866 9.819 67.118 10.836 67.118 12.096C67.118 13.338 66.785 14.49 66.119 15.552C65.453 16.614 64.49 17.343 63.23 17.739C63.95 18.045 64.589 18.603 65.147 19.413C65.705 20.223 66.299 21.276 66.929 22.572C67.379 23.454 67.721 24.093 67.955 24.489C68.207 24.867 68.45 25.083 68.684 25.137L69.575 25.407V27H64.985C64.697 27 64.391 26.712 64.067 26.136C63.761 25.542 63.356 24.615 62.852 23.355C62.258 21.879 61.745 20.727 61.313 19.899C60.881 19.071 60.422 18.558 59.936 18.36H57.155V25.11L59.639 25.38V27H51.053V25.38ZM59.639 16.713C60.665 16.713 61.466 16.344 62.042 15.606C62.618 14.868 62.906 13.761 62.906 12.285C62.906 10.971 62.618 9.999 62.042 9.369C61.484 8.739 60.512 8.424 59.126 8.424C58.622 8.424 58.19 8.451 57.83 8.505C57.488 8.541 57.263 8.559 57.155 8.559V16.659C57.371 16.695 57.893 16.713 58.721 16.713H59.639ZM70.674 19.521C70.674 17.829 71.007 16.389 71.673 15.201C72.357 14.013 73.266 13.122 74.4 12.528C75.534 11.916 76.767 11.61 78.099 11.61C80.367 11.61 82.113 12.312 83.337 13.716C84.579 15.102 85.2 16.992 85.2 19.386C85.2 21.096 84.858 22.554 84.174 23.76C83.508 24.948 82.608 25.839 81.474 26.433C80.358 27.009 79.125 27.297 77.775 27.297C75.525 27.297 73.779 26.604 72.537 25.218C71.295 23.814 70.674 21.915 70.674 19.521ZM77.991 25.542C80.025 25.542 81.042 23.58 81.042 19.656C81.042 17.604 80.799 16.047 80.313 14.985C79.827 13.905 79.035 13.365 77.937 13.365C75.849 13.365 74.805 15.327 74.805 19.251C74.805 21.303 75.057 22.869 75.561 23.949C76.083 25.011 76.893 25.542 77.991 25.542ZM86.4395 5.454L91.3805 4.86H91.4345L92.1905 5.373V13.338C92.6765 12.852 93.2705 12.447 93.9725 12.123C94.6925 11.781 95.4665 11.61 96.2945 11.61C98.0225 11.61 99.4265 12.222 100.506 13.446C101.604 14.652 102.153 16.506 102.153 19.008C102.153 20.556 101.829 21.96 101.181 23.22C100.533 24.48 99.5975 25.479 98.3735 26.217C97.1675 26.937 95.7635 27.297 94.1615 27.297C92.7395 27.297 91.5065 27.18 90.4625 26.946C89.4185 26.694 88.7525 26.469 88.4645 26.271V7.182L86.4395 6.858V5.454ZM94.8635 13.986C94.3235 13.986 93.8105 14.112 93.3245 14.364C92.8565 14.598 92.4785 14.868 92.1905 15.174V25.029C92.2985 25.227 92.5505 25.389 92.9465 25.515C93.3425 25.641 93.7925 25.704 94.2965 25.704C95.4485 25.704 96.3665 25.173 97.0505 24.111C97.7525 23.031 98.1035 21.438 98.1035 19.332C98.1035 17.514 97.8065 16.173 97.2125 15.309C96.6185 14.427 95.8355 13.986 94.8635 13.986Z' fill='black'/%3E%3Cpath d='M104.183 25.38L106.316 25.11V8.964L104.291 8.586V6.939H108.206C108.548 6.939 108.926 6.93 109.34 6.912C109.754 6.894 110.069 6.876 110.285 6.858C111.221 6.786 111.995 6.75 112.607 6.75C114.461 6.75 115.946 6.939 117.062 7.317C118.178 7.695 118.988 8.271 119.492 9.045C119.996 9.819 120.248 10.836 120.248 12.096C120.248 13.338 119.915 14.49 119.249 15.552C118.583 16.614 117.62 17.343 116.36 17.739C117.08 18.045 117.719 18.603 118.277 19.413C118.835 20.223 119.429 21.276 120.059 22.572C120.509 23.454 120.851 24.093 121.085 24.489C121.337 24.867 121.58 25.083 121.814 25.137L122.705 25.407V27H118.115C117.827 27 117.521 26.712 117.197 26.136C116.891 25.542 116.486 24.615 115.982 23.355C115.388 21.879 114.875 20.727 114.443 19.899C114.011 19.071 113.552 18.558 113.066 18.36H110.285V25.11L112.769 25.38V27H104.183V25.38ZM112.769 16.713C113.795 16.713 114.596 16.344 115.172 15.606C115.748 14.868 116.036 13.761 116.036 12.285C116.036 10.971 115.748 9.999 115.172 9.369C114.614 8.739 113.642 8.424 112.256 8.424C111.752 8.424 111.32 8.451 110.96 8.505C110.618 8.541 110.393 8.559 110.285 8.559V16.659C110.501 16.695 111.023 16.713 111.851 16.713H112.769ZM123.804 19.521C123.804 17.829 124.137 16.389 124.803 15.201C125.487 14.013 126.396 13.122 127.53 12.528C128.664 11.916 129.897 11.61 131.229 11.61C133.497 11.61 135.243 12.312 136.467 13.716C137.709 15.102 138.33 16.992 138.33 19.386C138.33 21.096 137.988 22.554 137.304 23.76C136.638 24.948 135.738 25.839 134.604 26.433C133.488 27.009 132.255 27.297 130.905 27.297C128.655 27.297 126.909 26.604 125.667 25.218C124.425 23.814 123.804 21.915 123.804 19.521ZM131.121 25.542C133.155 25.542 134.172 23.58 134.172 19.656C134.172 17.604 133.929 16.047 133.443 14.985C132.957 13.905 132.165 13.365 131.067 13.365C128.979 13.365 127.935 15.327 127.935 19.251C127.935 21.303 128.187 22.869 128.691 23.949C129.213 25.011 130.023 25.542 131.121 25.542ZM143.187 33.723C142.863 33.723 142.512 33.696 142.134 33.642C141.774 33.588 141.513 33.525 141.351 33.453V30.564C141.477 30.636 141.729 30.708 142.107 30.78C142.485 30.852 142.827 30.888 143.133 30.888C144.033 30.888 144.771 30.591 145.347 29.997C145.941 29.403 146.49 28.404 146.994 27H145.536L140.46 13.905L139.245 13.554V11.988H146.67V13.554L144.699 13.878L147.102 21.357L148.074 24.543L148.911 21.357L151.125 13.878L149.424 13.554V11.988H155.283V13.554L153.96 13.878C152.97 16.902 151.989 19.818 151.017 22.626C150.045 25.434 149.478 27.009 149.316 27.351C148.74 28.863 148.191 30.069 147.669 30.969C147.147 31.869 146.526 32.553 145.806 33.021C145.086 33.489 144.213 33.723 143.187 33.723Z' fill='%236CBE34'/%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"RobRoy\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M32.5539 32.5538C32.5539 32.5538 17.0796 35.6024 7.23861 25.7614C-2.60242 15.9204 0.446148 0.446137 0.446148 0.446137C0.446148 0.446137 15.9204 -2.60243 25.7614 7.23866C35.6024 17.0797 32.5539 32.5538 32.5539 32.5538Z' fill='%23C3EA21'/%3E%3Cpath d='M32.5537 32.554C32.5537 32.554 17.0795 35.6026 7.23845 25.7615C-2.60257 15.9205 0.445996 0.446289 0.445996 0.446289L32.5537 32.554Z' fill='%238ADB53'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='33' height='33' fill='white' transform='matrix(-1 0 0 1 33 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"RobRoy\",\"logoProfileCollapsedHeight\":\"28\",\"logoProfileHeight\":\"28\",\"name\":\"Robroy\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#5AA625\",\"primaryOffColor\":\"#49871E\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#455469\",\"profileMenuTextHighlightColor\":\"#5AA625\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"},{\"_id\":\"cd6c93e2-52e2-4340-9770-66a588343841\",\"accountFooter\":\"\",\"accountFooterEnabled\":false,\"accountPageSections\":{\"accountControls\":{\"enabled\":false},\"accountSecurity\":{\"enabled\":true,\"subsections\":{\"password\":{\"enabled\":true},\"securityQuestions\":{\"enabled\":false},\"twoStepVerification\":{\"enabled\":true},\"username\":{\"enabled\":true}}},\"consent\":{\"enabled\":false},\"oauthApplications\":{\"enabled\":false},\"personalInformation\":{\"enabled\":true},\"preferences\":{\"enabled\":false},\"social\":{\"enabled\":false},\"trustedDevices\":{\"enabled\":true}},\"backgroundColor\":\"#FFFFFF\",\"backgroundImage\":\"\",\"bodyText\":\"#000000\",\"buttonRounded\":\"0\",\"dangerColor\":\"#f7685b\",\"favicon\":\"\",\"isDefault\":false,\"journeyFooter\":\"\",\"journeyFooterEnabled\":false,\"journeyHeader\":\"
Header Content
\",\"journeyHeaderEnabled\":false,\"journeyJustifiedContent\":\"\",\"journeyJustifiedContentEnabled\":false,\"journeyLayout\":\"card\",\"journeyTheaterMode\":false,\"linkActiveColor\":\"#000000\",\"linkColor\":\"#000000\",\"linkedTrees\":[],\"logo\":\"https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg\",\"logoAltText\":\"Contrast\",\"logoEnabled\":true,\"logoHeight\":\"72\",\"logoProfile\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileAltText\":\"Contrast\",\"logoProfileCollapsed\":\"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\"logoProfileCollapsedAltText\":\"\",\"logoProfileCollapsedHeight\":\"22\",\"logoProfileHeight\":\"22\",\"name\":\"Contrast\",\"pageTitle\":\"#23282e\",\"primaryColor\":\"#000000\",\"primaryOffColor\":\"#000000\",\"profileBackgroundColor\":\"#FFFFFF\",\"profileMenuHighlightColor\":\"#FFFFFF\",\"profileMenuHoverColor\":\"#FFFFFF\",\"profileMenuHoverTextColor\":\"#000000\",\"profileMenuTextHighlightColor\":\"#455469\",\"secondaryColor\":\"#69788b\",\"textColor\":\"#ffffff\"}]}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 671, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.185Z", + "time": 297, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 297 + } + }, + { + "_id": "5ca8829676f04c4144fa353bb14cbf04", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1900, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/uilocale/fr" + }, + "response": { + "bodySize": 532, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 532, + "text": "{\"_id\":\"uilocale/fr\",\"admin\":{\"overrides\":{\"AppLogoURI\":\"URI du logo de l’application\",\"EmailAddress\":\"Adresse e-mail\",\"Name\":\"Nom\",\"Owners\":\"Les propriétaires\"},\"sideMenu\":{\"securityQuestions\":\"Questions de sécurité\"}},\"enduser\":{\"overrides\":{\"FirstName\":\"Prénom\",\"LastName\":\"Nom de famille\"},\"pages\":{\"dashboard\":{\"widgets\":{\"welcome\":{\"greeting\":\"Bonjour\"}}}}},\"login\":{\"login\":{\"next\":\"Suivant\"},\"overrides\":{\"Password\":\"Mot de passe\",\"UserName\":\"Nom d'utilisateur\"}},\"shared\":{\"sideMenu\":{\"dashboard\":\"Tableau de bord\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "532" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.187Z", + "time": 233, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 233 + } + }, + { + "_id": "454420d33ed0c57d57b363e9e200104c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/undefined" + }, + "response": { + "bodySize": 935, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 935, + "text": "{\"_id\":\"undefined\",\"mapping\":{\"mapping/managedBravo_user_managedBravo_user0\":{\"_id\":\"mapping/managedBravo_user_managedBravo_user0\",\"consentRequired\":false,\"displayName\":\"managedBravo_user_managedBravo_user0\",\"icon\":null,\"name\":\"managedBravo_user_managedBravo_user0\",\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"CONFIRMED\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"}],\"properties\":[],\"source\":\"managed/bravo_user\",\"target\":\"managed/bravo_user\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "935" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.188Z", + "time": 266, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 266 + } + }, + { + "_id": "9d5a767d3e7afd74ccd5fc8d823ed08c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2002, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "condition,description,name,privileges,temporalConstraints" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/internal/role?_queryFilter=true&_pageSize=1000&_fields=condition%2Cdescription%2Cname%2Cprivileges%2CtemporalConstraints" + }, + "response": { + "bodySize": 5392, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 5392, + "text": "{\"result\":[{\"_id\":\"openidm-admin\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-17\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-admin\",\"description\":\"Administrative access\",\"temporalConstraints\":[]},{\"_id\":\"openidm-authorized\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-18\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-authorized\",\"description\":\"Basic minimum user\",\"temporalConstraints\":[]},{\"_id\":\"openidm-reg\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-19\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-reg\",\"description\":\"Anonymous access\",\"temporalConstraints\":[]},{\"_id\":\"openidm-cert\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-20\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-cert\",\"description\":\"Authenticated via certificate\",\"temporalConstraints\":[]},{\"_id\":\"openidm-tasks-manager\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-21\",\"privileges\":[],\"condition\":null,\"name\":\"openidm-tasks-manager\",\"description\":\"Allowed to reassign workflow tasks\",\"temporalConstraints\":[]},{\"_id\":\"platform-provisioning\",\"_rev\":\"0517f93c-53fc-42ec-bdf8-213760903270-22\",\"privileges\":[],\"condition\":null,\"name\":\"platform-provisioning\",\"description\":\"Platform provisioning access\",\"temporalConstraints\":[]},{\"_id\":\"ccb11ba1-333b-4197-95db-89bb08a2ab56\",\"_rev\":\"49c2ab5f-2da9-415b-b8f3-0ff7b4aec33a-8632\",\"privileges\":[{\"path\":\"managed/alpha_user\",\"name\":\"Alpha realm - Users\",\"actions\":[],\"permissions\":[\"VIEW\",\"UPDATE\",\"CREATE\"],\"accessFlags\":[{\"attribute\":\"userName\",\"readOnly\":false},{\"attribute\":\"givenName\",\"readOnly\":false},{\"attribute\":\"cn\",\"readOnly\":false},{\"attribute\":\"sn\",\"readOnly\":false},{\"attribute\":\"mail\",\"readOnly\":false},{\"attribute\":\"profileImage\",\"readOnly\":true},{\"attribute\":\"description\",\"readOnly\":false},{\"attribute\":\"accountStatus\",\"readOnly\":true},{\"attribute\":\"telephoneNumber\",\"readOnly\":true},{\"attribute\":\"postalAddress\",\"readOnly\":true},{\"attribute\":\"city\",\"readOnly\":true},{\"attribute\":\"postalCode\",\"readOnly\":true},{\"attribute\":\"country\",\"readOnly\":true},{\"attribute\":\"stateProvince\",\"readOnly\":true},{\"attribute\":\"roles\",\"readOnly\":true},{\"attribute\":\"assignments\",\"readOnly\":true},{\"attribute\":\"groups\",\"readOnly\":true},{\"attribute\":\"applications\",\"readOnly\":true},{\"attribute\":\"manager\",\"readOnly\":true},{\"attribute\":\"authzRoles\",\"readOnly\":true},{\"attribute\":\"reports\",\"readOnly\":true},{\"attribute\":\"effectiveRoles\",\"readOnly\":true},{\"attribute\":\"effectiveAssignments\",\"readOnly\":true},{\"attribute\":\"effectiveGroups\",\"readOnly\":true},{\"attribute\":\"effectiveApplications\",\"readOnly\":true},{\"attribute\":\"lastSync\",\"readOnly\":true},{\"attribute\":\"kbaInfo\",\"readOnly\":true},{\"attribute\":\"preferences\",\"readOnly\":true},{\"attribute\":\"consentedMappings\",\"readOnly\":true},{\"attribute\":\"ownerOfOrg\",\"readOnly\":true},{\"attribute\":\"adminOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrg\",\"readOnly\":true},{\"attribute\":\"memberOfOrgIDs\",\"readOnly\":true},{\"attribute\":\"ownerOfApp\",\"readOnly\":true},{\"attribute\":\"frIndexedString1\",\"readOnly\":true},{\"attribute\":\"frIndexedString2\",\"readOnly\":true},{\"attribute\":\"frIndexedString3\",\"readOnly\":true},{\"attribute\":\"frIndexedString4\",\"readOnly\":true},{\"attribute\":\"frIndexedString5\",\"readOnly\":true},{\"attribute\":\"frUnindexedString1\",\"readOnly\":true},{\"attribute\":\"frUnindexedString2\",\"readOnly\":true},{\"attribute\":\"frUnindexedString3\",\"readOnly\":true},{\"attribute\":\"frUnindexedString4\",\"readOnly\":true},{\"attribute\":\"frUnindexedString5\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued1\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued2\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued3\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued4\",\"readOnly\":true},{\"attribute\":\"frIndexedMultivalued5\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued1\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued2\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued3\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued4\",\"readOnly\":true},{\"attribute\":\"frUnindexedMultivalued5\",\"readOnly\":true},{\"attribute\":\"frIndexedDate1\",\"readOnly\":true},{\"attribute\":\"frIndexedDate2\",\"readOnly\":true},{\"attribute\":\"frIndexedDate3\",\"readOnly\":true},{\"attribute\":\"frIndexedDate4\",\"readOnly\":true},{\"attribute\":\"frIndexedDate5\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate1\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate2\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate3\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate4\",\"readOnly\":true},{\"attribute\":\"frUnindexedDate5\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger1\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger2\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger3\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger4\",\"readOnly\":true},{\"attribute\":\"frIndexedInteger5\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger1\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger2\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger3\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger4\",\"readOnly\":true},{\"attribute\":\"frUnindexedInteger5\",\"readOnly\":true},{\"attribute\":\"assignedDashboard\",\"readOnly\":true}],\"filter\":\"/userName co \\\"test\\\"\"}],\"condition\":\"/description co \\\"somerandomstring\\\"\",\"name\":\"test-internal-role\",\"description\":\"A test internal role\",\"temporalConstraints\":[{\"duration\":\"2024-11-04T12:45:00.000Z/2100-12-01T12:45:00.000Z\"}]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "5392" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 617, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.528Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "459d8d75bb3ed6a525129ece3e8f1c50", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts?_queryFilter=true" + }, + "response": { + "bodySize": 4770, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4770, + "text": "{\"result\":[{\"_id\":\"SAML2_SP_ADAPTER\",\"_rev\":\"-577565005\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"_rev\":\"-63881855\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SCRIPTED_DECISION_NODE\",\"_rev\":\"1150234939\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"_rev\":\"-368649962\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"DEVICE_MATCH_NODE\",\"_rev\":\"-1536797551\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"_rev\":\"-338014075\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"_rev\":\"-746247814\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"_rev\":\"-490232390\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"_rev\":\"107307772\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"CONFIG_PROVIDER_NODE\",\"_rev\":\"182663061\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"_rev\":\"1174777261\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"LIBRARY\",\"_rev\":\"-1558205449\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"_rev\":\"872263940\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"_rev\":\"2046366688\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"POLICY_CONDITION\",\"_rev\":\"388220933\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OIDC_CLAIMS\",\"_rev\":\"878016689\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ADAPTER\",\"_rev\":\"278562665\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"PINGONE_VERIFY_COMPLETION_DECISION_NODE\",\"_rev\":\"-457456931\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_NAMEID_MAPPER\",\"_rev\":\"-423449936\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"_rev\":\"-1131366614\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"OAUTH2_MAY_ACT\",\"_rev\":\"1020205254\",\"isHidden\":false,\"languages\":[\"JAVASCRIPT\",\"GROOVY\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}},{\"_id\":\"NODE_DESIGNER\",\"_rev\":\"1338109986\",\"isHidden\":true,\"languages\":[\"JAVASCRIPT\"],\"defaultScript\":\"[Empty]\",\"_type\":{\"_id\":\"contexts\",\"name\":\"scriptContext\",\"collection\":true}}],\"resultCount\":22,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.0,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4770" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.755Z", + "time": 77, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 77 + } + }, + { + "_id": "b9c8ff3b3850442327eddd8e579e158b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2007, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_SP_ADAPTER/engineConfiguration" + }, + "response": { + "bodySize": 2944, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2944, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"2046582775\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.sp.adapter.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.sp.adapter.script.context.core.threads|10}\"},\"whiteList\":[\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.shared.debug.Debug\",\"java.io.PrintWriter\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$EmptyMap\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"groovy.json.internal.LazyMap\",\"groovy.json.JsonSlurper\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"java.util.List\",\"java.util.Map\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{saml2.sp.adapter.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2046582775\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2944" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.836Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "c12fda19d838281a12143b756c624ec6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1954, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_SP_ADAPTER" + }, + "response": { + "bodySize": 2365, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2365, + "text": "{\"_id\":\"SAML2_SP_ADAPTER\",\"bindings\":[],\"allowLists\":[\"java.lang.Double\",\"java.lang.Object\",\"java.util.TreeSet\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$SingletonList\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.servlet.http.HttpServletResponseWrapper\",\"java.util.LinkedHashSet\",\"java.io.PrintWriter\",\"java.lang.Byte\",\"com.iplanet.am.sdk.AMHashMap\",\"java.lang.Math\",\"java.lang.Short\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Number\",\"com.sun.identity.saml2.protocol.*\",\"javax.security.auth.Subject\",\"java.lang.Integer\",\"java.lang.Boolean\",\"javax.servlet.http.HttpServletRequestWrapper\",\"groovy.json.internal.LazyMap\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Character$UnicodeBlock\",\"groovy.json.JsonSlurper\",\"java.util.LinkedList\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"java.util.HashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$KeyIterator\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.lang.StrictMath\",\"java.util.Collections$EmptyMap\",\"java.lang.String\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.TreeMap\",\"com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"com.sun.identity.saml2.assertion.*\",\"org.forgerock.http.Client\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.lang.Character$Subset\",\"java.lang.Character\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2365" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.902Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "f405141846abc02ffaf3aaef8471a3f4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2023, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION/engineConfiguration" + }, + "response": { + "bodySize": 10242, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10242, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1701187927\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.access.token.modification.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.access.token.modification.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.access.token.modification.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1701187927\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:02.969Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "7e91474d874efe271d0086cd36b44d58", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1970, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_ACCESS_TOKEN_MODIFICATION" + }, + "response": { + "bodySize": 3024, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3024, + "text": "{\"_id\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"bindings\":[],\"allowLists\":[\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Short\",\"java.util.TreeMap\",\"java.lang.Character\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$KeySet\",\"java.util.List\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Node\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Collections$SingletonList\",\"java.util.HashSet\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.net.URI\",\"java.util.Collections$1\",\"groovy.json.internal.LazyMap\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openidconnect.Claim\",\"java.lang.Number\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Byte\",\"org.forgerock.http.Client\",\"org.forgerock.oauth2.core.GrantType\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.json.JsonValue\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"com.google.common.collect.Sets$1\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.StrictMath\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.http.protocol.*\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.lang.Double\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"groovy.json.JsonSlurper\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.lang.Void\",\"java.util.HashMap\",\"java.lang.Long\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.HashMap$KeyIterator\",\"java.util.ArrayList$Itr\",\"java.lang.String\",\"java.util.Collections$UnmodifiableMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3024" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.036Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "ec1bf5aaba0727981522ba860ffc3a6d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2013, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SCRIPTED_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 1110, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1110, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"695153507\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{scripted.decision.node.script.context.max.threads|&{authentication.tree.decision.node.script.context.max.threads|50}}\"},\"coreThreads\":{\"$int\":\"&{scripted.decision.node.script.context.core.threads|&{authentication.tree.decision.node.script.context.core.threads|10}}\"},\"whiteList\":[\"jdk.proxy*\",\"org.mozilla.javascript.WrappedException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{scripted.decision.node.script.context.queue.size|&{authentication.tree.decision.node.script.context.queue.size|10}}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"695153507\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1110" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.103Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "55b73fb9c4a07033564e9babb4c75c89", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1960, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SCRIPTED_DECISION_NODE" + }, + "response": { + "bodySize": 34467, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34467, + "text": "{\"_id\":\"SCRIPTED_DECISION_NODE\",\"bindings\":[{\"name\":\"samlApplication\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.saml2.SAMLScriptedBindingObjectImpl\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdpAttributes\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getFlowInitiator\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getAuthnRequest\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getSpAttributes\",\"parameters\":[],\"returnType\":\"object\"}]},{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.168Z", + "time": 73, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 73 + } + }, + { + "_id": "f1134be01bc996250ac108c8854af7cf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_CLIENT_SIDE/engineConfiguration" + }, + "response": { + "bodySize": 55, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 55, + "text": "{\"code\":404,\"reason\":\"Not Found\",\"message\":\"Not Found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "55" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-05T21:22:03.246Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "72be59b5b76362177a2be94675e3635f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_CLIENT_SIDE" + }, + "response": { + "bodySize": 126, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 126, + "text": "{\"_id\":\"AUTHENTICATION_CLIENT_SIDE\",\"bindings\":[],\"allowLists\":[],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "126" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.309Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "2d243c44b5beb518653bf16062ae690a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/DEVICE_MATCH_NODE/engineConfiguration" + }, + "response": { + "bodySize": 905, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 905, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1807027275\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{device.match.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{device.match.node.script.context.core.threads|10}\"},\"whiteList\":[\"jdk.proxy*\",\"org.mozilla.javascript.WrappedException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.List\",\"java.util.Map\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.mozilla.javascript.JavaScriptException\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{device.match.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1807027275\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "905" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.372Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "1ce14f7cd2c98106fccd1df6e1cd0d02", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1955, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/DEVICE_MATCH_NODE" + }, + "response": { + "bodySize": 34515, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34515, + "text": "{\"_id\":\"DEVICE_MATCH_NODE\",\"bindings\":[{\"name\":\"deviceProfilesDao\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.DeviceProfilesDaoScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getDeviceProfiles\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"}],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"saveDeviceProfiles\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"deviceProfiles\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.slf4j.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.438Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + }, + { + "_id": "ff30bc17965d64e3111e5470d8d0cec6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_TREE_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 10800, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10800, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1166660806\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{authentication.tree.decision.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{authentication.tree.decision.node.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.JweHeader\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.realms.impl.RealmImpl\",\"org.forgerock.openam.core.realms.Realms\",\"org.forgerock.openam.core.realms.RootRealm\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.placeholder.substitution.FbcPlaceholderSubstitution\",\"org.forgerock.openam.placeholder.substitution.PlaceholderSubstitution\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openam.social.idp.OpenIDConnectClientConfig\",\"org.forgerock.openam.social.idp.OpenIDConnectClientConfig$ByteBuddy*\",\"org.forgerock.openam.social.idp.SocialIdentityProviders\",\"org.forgerock.openam.social.idp.SocialIdentityProvidersImpl\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.PBEKeySpec\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{authentication.tree.decision.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1166660806\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.507Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "b52e2441a29167ae98617cb325fc48f8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1971, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_TREE_DECISION_NODE" + }, + "response": { + "bodySize": 4742, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4742, + "text": "{\"_id\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"org.forgerock.util.promise.NeverThrowsException\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"java.lang.Boolean\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.crypto.spec.PSource$*\",\"java.lang.Math\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"com.sun.identity.authentication.spi.HttpCallback\",\"javax.security.auth.callback.LanguageCallback\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Integer\",\"java.lang.StrictMath\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.KeyPair\",\"org.forgerock.http.protocol.Cookie\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.TextInputCallback\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.HashSet\",\"java.util.Collections\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.auth.node.api.NodeState\",\"java.util.TreeMap\",\"org.forgerock.http.header.authorization.*\",\"javax.crypto.spec.OAEPParameterSpec\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedHashSet\",\"java.util.Map\",\"org.mozilla.javascript.JavaScriptException\",\"java.lang.Void\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.mozilla.javascript.ConsString\",\"org.forgerock.http.context.RootContext\",\"javax.crypto.SecretKeyFactory\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"java.lang.Double\",\"org.forgerock.json.JsonValue\",\"java.util.Collections$*\",\"org.forgerock.http.header.*\",\"org.forgerock.http.protocol.Message\",\"java.util.List\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.http.protocol.Headers\",\"java.security.KeyPairGenerator\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"javax.security.auth.callback.ChoiceCallback\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"groovy.json.JsonSlurper\",\"java.security.PublicKey\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.protocol.Request\",\"java.lang.Number\",\"java.util.AbstractMap$*\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.concurrent.TimeUnit\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"java.lang.String\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.http.protocol.Header\",\"javax.crypto.spec.PBEKeySpec\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\",\"java.util.TreeSet\",\"java.lang.Short\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Character\",\"javax.crypto.spec.PSource\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"java.util.concurrent.TimeoutException\",\"java.lang.Object\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.http.Client\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"java.security.spec.X509EncodedKeySpec\",\"org.forgerock.http.Context\",\"java.util.HashMap\",\"java.util.LinkedList\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.util.promise.Promise\",\"java.util.LinkedHashMap\",\"java.util.concurrent.ExecutionException\",\"java.lang.Long\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"javax.security.auth.callback.ConfirmationCallback\",\"org.forgerock.openam.auth.node.api.Action\",\"java.security.PrivateKey\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character$Subset\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"java.security.KeyPairGenerator$*\",\"java.lang.Byte\",\"org.forgerock.http.protocol.RequestCookies\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"java.lang.Float\",\"java.util.Collections$UnmodifiableRandomAccessList\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4742" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.571Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "76a41b00970b35e50cf5e3e3b5050e45", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_SCRIPTED_JWT_ISSUER/engineConfiguration" + }, + "response": { + "bodySize": 3095, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3095, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-229584218\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.Sets$1\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.net.URI\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableSet\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{oauth2.scripted.jwt.issuer.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-229584218\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3095" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.639Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "24ff6ddba2eddeb2c9a894857c820c2e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_SCRIPTED_JWT_ISSUER" + }, + "response": { + "bodySize": 2538, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2538, + "text": "{\"_id\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"bindings\":[],\"allowLists\":[\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Float\",\"java.util.HashMap$KeySet\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Character\",\"java.lang.String\",\"java.util.LinkedList\",\"java.util.Collections$EmptyList\",\"java.util.List\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.lang.Long\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.HashSet\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.util.Map\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.HashMap\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Byte\",\"com.google.common.collect.Sets$1\",\"groovy.json.internal.LazyMap\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Integer\",\"java.util.ArrayList$Itr\",\"java.lang.Character$Subset\",\"java.util.LinkedHashMap$Entry\",\"java.lang.StrictMath\",\"java.util.Collections$UnmodifiableSet\",\"com.sun.identity.idm.AMIdentity\",\"java.lang.Short\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Collections$SingletonList\",\"java.util.Locale\",\"java.net.URI\",\"java.util.Collections$UnmodifiableMap\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.TreeSet\",\"java.lang.Double\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$Node\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Number\",\"java.util.TreeMap\",\"org.forgerock.http.protocol.*\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$1\",\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.oauth2.core.TrustedJwtIssuerConfig\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"groovy.json.JsonSlurper\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.http.Client\",\"java.util.ArrayList\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.util.LinkedHashSet\",\"java.lang.Math\",\"java.util.HashMap$Entry\",\"org.forgerock.json.JsonValue\",\"org.forgerock.http.client.*\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedHashMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2538" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.701Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "d6e0fa72a862e2fab10cfa3a4bf7dfb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/AUTHENTICATION_SERVER_SIDE/engineConfiguration" + }, + "response": { + "bodySize": 10000, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10000, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1454809063\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{authentication.server.side.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{authentication.server.side.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{authentication.server.side.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1454809063\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.766Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "009ffab9589c18207fcb8ca7b438d9f7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/AUTHENTICATION_SERVER_SIDE" + }, + "response": { + "bodySize": 2341, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2341, + "text": "{\"_id\":\"AUTHENTICATION_SERVER_SIDE\",\"bindings\":[],\"allowLists\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.http.protocol.ResponseException\",\"java.lang.Object\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.LinkedList\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Map\",\"java.lang.Number\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.lang.Double\",\"java.lang.Short\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.HashMap\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.ArrayList$Itr\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.forgerock.http.protocol.Response\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.lang.StrictMath\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Long\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Boolean\",\"java.lang.Character\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"java.util.HashMap$KeyIterator\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Responses\",\"java.util.LinkedHashSet\",\"java.lang.Byte\",\"java.lang.Math\",\"java.util.List\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.protocol.Cookie\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.String\",\"java.lang.Void\",\"org.forgerock.util.promise.Promise\",\"java.lang.Integer\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Character$Subset\",\"org.forgerock.http.protocol.RequestCookies\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2341" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.835Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "396eb9d8266707d8325ed5ef503e4eda", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION/engineConfiguration" + }, + "response": { + "bodySize": 10020, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10020, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"506512925\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{social.idp.profile.transformation.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{social.idp.profile.transformation.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{social.idp.profile.transformation.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"506512925\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:03 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.897Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "ea6d8263a23ba22dbd9f5782ce12d39e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1971, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SOCIAL_IDP_PROFILE_TRANSFORMATION" + }, + "response": { + "bodySize": 2117, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2117, + "text": "{\"_id\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"bindings\":[],\"allowLists\":[\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.HashMap$Entry\",\"java.util.Locale\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.Collections$1\",\"java.util.TreeSet\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$SingletonList\",\"java.lang.Boolean\",\"java.util.HashSet\",\"java.lang.Number\",\"java.lang.Object\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Response\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Long\",\"java.lang.String\",\"java.util.LinkedList\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.idm.AMIdentity\",\"java.util.ArrayList$Itr\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.TreeMap\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Void\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"java.util.HashMap\",\"java.lang.Math\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.List\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.lang.Character\",\"java.lang.Float\",\"groovy.json.JsonSlurper\",\"java.lang.Short\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.Map\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.lang.Byte\",\"java.lang.Double\",\"org.forgerock.http.client.*\",\"java.util.HashMap$KeyIterator\",\"java.lang.Character$Subset\",\"java.lang.StrictMath\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.Collections$EmptyList\",\"java.util.HashMap$Node\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2117" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:03.963Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "8e601e9d50d150a2ae088972e895c5a9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/CONFIG_PROVIDER_NODE/engineConfiguration" + }, + "response": { + "bodySize": 10284, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10284, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-785993562\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{config.provider.node.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{config.provider.node.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.JweHeader\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.PBEKeySpec\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"java.util.concurrent.TimeUnit\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"java.security.spec.InvalidKeySpecException\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{config.provider.node.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-785993562\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.026Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "540e331b4e201bb64cf246a959112aeb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1958, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/CONFIG_PROVIDER_NODE" + }, + "response": { + "bodySize": 4670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 4670, + "text": "{\"_id\":\"CONFIG_PROVIDER_NODE\",\"bindings\":[],\"allowLists\":[\"javax.crypto.spec.OAEPParameterSpec\",\"org.forgerock.http.protocol.Headers\",\"java.util.concurrent.TimeUnit\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"java.lang.Integer\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Math\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.http.client.*\",\"java.util.ArrayList\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Object\",\"java.util.concurrent.ExecutionException\",\"java.util.LinkedHashSet\",\"java.lang.Long\",\"java.security.KeyPairGenerator\",\"org.forgerock.http.protocol.Form\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.Responses\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"java.security.KeyPairGenerator$*\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.concurrent.TimeoutException\",\"java.lang.Double\",\"java.lang.String\",\"java.lang.Float\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.mozilla.javascript.ConsString\",\"java.util.List\",\"javax.crypto.spec.PBEKeySpec\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.http.protocol.Status\",\"org.forgerock.http.context.RootContext\",\"java.security.spec.InvalidKeySpecException\",\"java.security.PrivateKey\",\"javax.security.auth.callback.ConfirmationCallback\",\"java.lang.Byte\",\"java.util.Collections$*\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"org.forgerock.http.Handler\",\"java.util.TreeSet\",\"org.forgerock.http.protocol.Header\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"java.util.LinkedHashMap\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"javax.crypto.spec.PSource$*\",\"java.lang.Short\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"java.util.HashSet\",\"java.util.Map\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.http.protocol.Message\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"java.security.spec.MGF1ParameterSpec\",\"org.forgerock.http.Client\",\"javax.crypto.SecretKeyFactory\",\"java.security.PublicKey\",\"javax.crypto.spec.PSource\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.TextInputCallback\",\"org.mozilla.javascript.JavaScriptException\",\"java.security.KeyPair\",\"java.lang.Void\",\"java.lang.Number\",\"java.util.LinkedList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.http.Context\",\"javax.security.auth.callback.TextOutputCallback\",\"javax.security.auth.callback.LanguageCallback\",\"java.security.spec.X509EncodedKeySpec\",\"org.forgerock.http.header.*\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Cookie\",\"javax.security.auth.callback.PasswordCallback\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"java.lang.Character$UnicodeBlock\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.HashMap$KeyIterator\",\"java.util.TreeMap\",\"java.lang.StrictMath\",\"java.lang.Boolean\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"groovy.json.JsonSlurper\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"javax.security.auth.callback.NameCallback\",\"java.util.AbstractMap$*\",\"java.lang.Character$Subset\",\"java.util.HashMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.http.protocol.Response\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "4670" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.093Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "d65ee4c7537eb77ab293b9b048d523a9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_VALIDATE_SCOPE/engineConfiguration" + }, + "response": { + "bodySize": 10207, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10207, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"724943250\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.validate.scope.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.validate.scope.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.validate.scope.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"724943250\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.156Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "53037e6a1d4b63143202808810498e7c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_VALIDATE_SCOPE" + }, + "response": { + "bodySize": 2454, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2454, + "text": "{\"_id\":\"OAUTH2_VALIDATE_SCOPE\",\"bindings\":[],\"allowLists\":[\"java.lang.Void\",\"groovy.json.internal.LazyMap\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$UnmodifiableMap\",\"java.net.URI\",\"java.lang.Short\",\"java.util.HashMap$KeyIterator\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.util.TreeMap\",\"java.lang.Long\",\"java.lang.Byte\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.forgerock.json.JsonValue\",\"java.util.TreeSet\",\"java.util.HashMap\",\"java.lang.Boolean\",\"java.util.ArrayList\",\"java.util.Collections$EmptyList\",\"java.util.HashSet\",\"java.util.ArrayList$Itr\",\"java.lang.Object\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$1\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.StrictMath\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.*\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.client.*\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.lang.Character$Subset\",\"java.lang.Double\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Number\",\"org.forgerock.oauth2.core.exceptions.InvalidScopeException\",\"java.lang.String\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.HashMap$KeySet\",\"java.lang.Integer\",\"java.util.LinkedList\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"groovy.json.JsonSlurper\",\"java.util.Collections$SingletonList\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Locale\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.HashMap$Entry\",\"com.google.common.collect.Sets$1\",\"org.forgerock.opendj.ldap.Dn\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.Character\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"java.lang.Float\",\"java.util.Collections$UnmodifiableRandomAccessList\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2454" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.219Z", + "time": 56, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 56 + } + }, + { + "_id": "8d13feca649b01a2b14b61233808639e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1998, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/LIBRARY/engineConfiguration" + }, + "response": { + "bodySize": 2338, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2082742270\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2338" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.279Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "3733fdd16d267c62823274da1ee08416", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1945, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/LIBRARY" + }, + "response": { + "bodySize": 12377, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 12377, + "text": "{\"_id\":\"LIBRARY\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.342Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "30f2649a8fec9c473ea95cb13f84bbfd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER/engineConfiguration" + }, + "response": { + "bodySize": 10263, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10263, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1670013909\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.authorize.endpoint.data.provider.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1670013909\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.406Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "a1f4b401bf32959228e31c0b9fe88cc4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1977, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER" + }, + "response": { + "bodySize": 2500, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2500, + "text": "{\"_id\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.opendj.ldap.Dn\",\"java.util.TreeMap\",\"java.lang.Number\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"java.lang.Integer\",\"java.util.Collections$SingletonList\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"java.util.List\",\"java.util.LinkedHashSet\",\"java.util.Map\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.Collections$UnmodifiableMap\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Boolean\",\"java.util.HashMap\",\"com.google.common.collect.Sets$1\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.String\",\"java.lang.Math\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.mozilla.javascript.JavaScriptException\",\"groovy.json.JsonSlurper\",\"org.forgerock.oauth2.core.exceptions.ServerException\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Double\",\"org.forgerock.opendj.ldap.Rdn\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Character\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Collections$EmptyList\",\"java.util.TreeSet\",\"java.lang.Float\",\"java.lang.Object\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"java.lang.Character$UnicodeBlock\",\"java.util.LinkedHashMap\",\"org.forgerock.http.client.*\",\"java.util.HashMap$KeySet\",\"org.forgerock.http.protocol.*\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.HashMap$KeyIterator\",\"java.lang.Character$Subset\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Short\",\"java.util.HashSet\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.ArrayList\",\"org.forgerock.http.Client\",\"java.util.HashMap$Node\",\"java.util.Collections$UnmodifiableCollection$1\",\"groovy.json.internal.LazyMap\",\"java.lang.StrictMath\",\"java.lang.Long\",\"java.lang.Byte\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2500" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.470Z", + "time": 59, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 59 + } + }, + { + "_id": "fb5919a7166f14e0616358d8f6459e24", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_EVALUATE_SCOPE/engineConfiguration" + }, + "response": { + "bodySize": 10208, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10208, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1281603045\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.evaluate.scope.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1281603045\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.534Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "4bfe283851097669d66bd18b6c4b1d83", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_EVALUATE_SCOPE" + }, + "response": { + "bodySize": 3013, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3013, + "text": "{\"_id\":\"OAUTH2_EVALUATE_SCOPE\",\"bindings\":[],\"allowLists\":[\"java.lang.Object\",\"java.lang.Boolean\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.util.promise.PromiseImpl\",\"java.lang.Short\",\"java.util.TreeMap\",\"java.lang.Character\",\"com.sun.identity.shared.debug.Debug\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$KeySet\",\"java.util.List\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Node\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.util.Collections$SingletonList\",\"java.util.HashSet\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.net.URI\",\"java.util.Collections$1\",\"groovy.json.internal.LazyMap\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openidconnect.Claim\",\"java.lang.Number\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.LinkedList\",\"java.lang.Byte\",\"org.forgerock.http.Client\",\"org.forgerock.oauth2.core.GrantType\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$UnmodifiableSet\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Map\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"org.forgerock.json.JsonValue\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.opendj.ldap.Dn\",\"com.google.common.collect.Sets$1\",\"java.util.ArrayList\",\"java.util.LinkedHashMap$Entry\",\"org.forgerock.opendj.ldap.Rdn\",\"java.lang.StrictMath\",\"java.util.HashMap$Entry\",\"java.util.LinkedHashSet\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.http.protocol.*\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.lang.Double\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"groovy.json.JsonSlurper\",\"com.sun.identity.idm.AMIdentity\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"java.lang.Void\",\"java.util.HashMap\",\"java.lang.Long\",\"java.lang.Math\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.lang.Integer\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.HashMap$KeyIterator\",\"java.util.ArrayList$Itr\",\"java.lang.String\",\"java.util.Collections$UnmodifiableMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3013" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.600Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "8f63d078ac26b1f61d8764f15bbdde0a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2007, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/POLICY_CONDITION/engineConfiguration" + }, + "response": { + "bodySize": 9969, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 9969, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"733964918\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{policy.condition.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{policy.condition.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{policy.condition.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"733964918\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.662Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "c34e00c3feb4990d559e8e0bf23d1c1d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1954, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/POLICY_CONDITION" + }, + "response": { + "bodySize": 116, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 116, + "text": "{\"_id\":\"POLICY_CONDITION\",\"bindings\":[],\"allowLists\":[],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "116" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.725Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "d1494e8de30365eccc728ea0c9630946", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2002, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OIDC_CLAIMS/engineConfiguration" + }, + "response": { + "bodySize": 10178, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10178, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"1485680579\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oidc.claims.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oidc.claims.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oidc.claims.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1485680579\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.788Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "a8289eede6c9a867820c3472dbb1938f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1949, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OIDC_CLAIMS" + }, + "response": { + "bodySize": 2809, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2809, + "text": "{\"_id\":\"OIDC_CLAIMS\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.lang.Float\",\"java.util.HashMap$Node\",\"java.util.LinkedHashSet\",\"java.lang.Number\",\"java.lang.StrictMath\",\"org.forgerock.http.Client\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"java.util.Collections$SingletonList\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.mozilla.javascript.JavaScriptException\",\"groovy.json.JsonSlurper\",\"groovy.json.internal.LazyMap\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$EmptyList\",\"java.util.List\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.json.JsonValue\",\"org.forgerock.http.protocol.*\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.lang.Character\",\"java.lang.Object\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Rdn\",\"java.util.HashMap$KeyIterator\",\"java.lang.Math\",\"java.util.HashMap$KeySet\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedList\",\"java.util.ArrayList\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"java.lang.Long\",\"java.util.HashSet\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.TreeSet\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"java.util.Collections$1\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.lang.Boolean\",\"java.util.HashMap$Entry\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"java.lang.Byte\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Integer\",\"java.util.ArrayList$Itr\",\"java.lang.Short\",\"java.util.Collections$UnmodifiableSet\",\"java.util.Locale\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"com.google.common.collect.Sets$1\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"com.sun.identity.idm.AMIdentity\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character$Subset\",\"java.lang.String\",\"java.net.URI\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"java.util.TreeMap\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"java.util.Collections$UnmodifiableMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.macaroons.Macaroon\",\"java.util.Map\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.openidconnect.Claim\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2809" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.853Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + }, + { + "_id": "cb4880c4fa535c07a5fca9b07ecf1d6b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2008, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_IDP_ADAPTER/engineConfiguration" + }, + "response": { + "bodySize": 3125, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3125, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"118811879\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.idp.adapter.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.idp.adapter.script.context.core.threads|10}\"},\"whiteList\":[\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.saml2.assertion.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"com.sun.identity.saml2.protocol.*\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.shared.debug.Debug\",\"java.io.PrintWriter\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.util.Collections$EmptyMap\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"groovy.json.internal.LazyMap\",\"groovy.json.JsonSlurper\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.http.Client\",\"org.forgerock.http.client.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.JavaScriptException\",\"sun.security.ec.ECPrivateKeyImpl\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"java.util.List\",\"java.util.Map\",\"javax.servlet.http.Cookie\",\"javax.xml.parsers.DocumentBuilder\",\"javax.xml.parsers.DocumentBuilderFactory\",\"org.w3c.dom.Document\",\"org.w3c.dom.Element\",\"org.xml.sax.InputSource\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\"],\"idleTimeout\":60,\"queueSize\":{\"$int\":\"&{saml2.idp.adapter.script.context.queue.size|10}\"},\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"118811879\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3125" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:04 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:04.931Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + }, + { + "_id": "e7c64b976e433b5b150a38911fd7d290", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1955, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_IDP_ADAPTER" + }, + "response": { + "bodySize": 2367, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2367, + "text": "{\"_id\":\"SAML2_IDP_ADAPTER\",\"bindings\":[],\"allowLists\":[\"java.lang.Double\",\"java.lang.Object\",\"java.util.TreeSet\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Void\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.util.promise.PromiseImpl\",\"java.util.HashSet\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.Collections$SingletonList\",\"org.codehaus.groovy.runtime.GStringImpl\",\"javax.servlet.http.HttpServletResponseWrapper\",\"java.util.LinkedHashSet\",\"java.io.PrintWriter\",\"java.lang.Byte\",\"com.iplanet.am.sdk.AMHashMap\",\"java.lang.Math\",\"java.lang.Short\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList$Itr\",\"java.util.Collections$1\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.lang.Number\",\"com.sun.identity.saml2.protocol.*\",\"javax.security.auth.Subject\",\"java.lang.Integer\",\"java.lang.Boolean\",\"javax.servlet.http.HttpServletRequestWrapper\",\"groovy.json.internal.LazyMap\",\"org.forgerock.json.JsonValue\",\"sun.security.ec.ECPrivateKeyImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Character$UnicodeBlock\",\"groovy.json.JsonSlurper\",\"java.util.LinkedList\",\"com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo\",\"java.util.HashMap$Entry\",\"com.sun.identity.shared.debug.Debug\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$KeyIterator\",\"java.net.URI\",\"java.util.LinkedHashMap$Entry\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.lang.StrictMath\",\"java.util.Collections$EmptyMap\",\"java.lang.String\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.TreeMap\",\"com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper\",\"java.util.HashMap\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.lang.Float\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap\",\"java.util.ArrayList\",\"com.sun.identity.saml2.assertion.*\",\"org.forgerock.http.Client\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.saml2.protocol.impl.*\",\"com.sun.identity.saml2.assertion.impl.*\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.lang.Character$Subset\",\"java.lang.Character\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2367" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.008Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "6c43bb754178e3887922e7e24ae4ec0c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/PINGONE_VERIFY_COMPLETION_DECISION_NODE/engineConfiguration" + }, + "response": { + "bodySize": 486, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 486, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-467921453\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-467921453\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "486" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.073Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "1d823cf3155e3066f7a1937d4d29720c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1977, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/PINGONE_VERIFY_COMPLETION_DECISION_NODE" + }, + "response": { + "bodySize": 15565, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15565, + "text": "{\"_id\":\"PINGONE_VERIFY_COMPLETION_DECISION_NODE\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"verifyTransactionsHelper\",\"javaScriptType\":\"unknown\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.136Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "dcb5e44392691784f1210103c6d6482b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2010, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_NAMEID_MAPPER/engineConfiguration" + }, + "response": { + "bodySize": 2338, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2338, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-2082742270\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"java.lang.Float\",\"org.forgerock.http.protocol.Header\",\"java.lang.Integer\",\"org.forgerock.http.Client\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Character\",\"java.lang.Long\",\"java.lang.Short\",\"java.util.Map\",\"org.forgerock.http.client.*\",\"java.lang.Math\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.StrictMath\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.http.Context\",\"java.lang.Void\",\"org.codehaus.groovy.runtime.GStringImpl\",\"groovy.json.JsonSlurper\",\"org.forgerock.http.protocol.Request\",\"org.forgerock.http.protocol.Entity\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.util.List\",\"org.forgerock.http.protocol.RequestCookies\",\"org.forgerock.http.protocol.Responses\",\"org.forgerock.util.promise.Promise\",\"java.util.HashMap$KeyIterator\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Double\",\"org.forgerock.http.protocol.Headers\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.http.protocol.Status\",\"java.util.HashMap\",\"java.lang.Character$Subset\",\"java.util.TreeSet\",\"java.util.ArrayList\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"org.forgerock.http.protocol.ResponseException\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.forgerock.http.protocol.Message\",\"java.lang.Boolean\",\"java.lang.String\",\"java.lang.Number\",\"java.util.LinkedList\",\"java.util.LinkedHashSet\",\"org.forgerock.http.protocol.Response\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeMap\",\"java.util.Collections$EmptyList\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.http.Handler\",\"java.lang.Object\",\"org.forgerock.http.protocol.Form\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.lang.Class\",\"java.security.AccessController\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2082742270\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2338" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.206Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "a1190eee9276c16cd76480cc6152f6df", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1957, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_NAMEID_MAPPER" + }, + "response": { + "bodySize": 15159, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 15159, + "text": "{\"_id\":\"SAML2_NAMEID_MAPPER\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"nameIDScriptHelper\",\"javaScriptType\":\"unknown\"},{\"name\":\"identity\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"store\",\"parameters\":[],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"setAttribute\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"},{\"name\":\"attributeValues\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"addAttribute\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"},{\"name\":\"attributeValue\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"getAttributeValues\",\"parameters\":[{\"name\":\"attributeName\",\"javaScriptType\":\"string\"}],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getUniversalId\",\"parameters\":[],\"returnType\":\"string\"}]},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"nameIDFormat\",\"javaScriptType\":\"string\"},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"remoteEntityId\",\"javaScriptType\":\"string\"},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"hostedEntityId\",\"javaScriptType\":\"string\"},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Collections$Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$EmptyMap\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.net.URI\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.json.JsonValue\",\"org.mozilla.javascript.JavaScriptException\",\"javax.servlet.http.Cookie\",\"org.xml.sax.InputSource\",\"java.security.cert.CertificateFactory\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.io.PrintWriter\",\"javax.security.auth.Subject\",\"javax.servlet.http.HttpServletRequestWrapper\",\"javax.servlet.http.HttpServletResponseWrapper\",\"sun.security.ec.ECPrivateKeyImpl\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.280Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + }, + { + "_id": "0cf204679c8498eb2d20815a5880a621", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/SAML2_IDP_ATTRIBUTE_MAPPER/engineConfiguration" + }, + "response": { + "bodySize": 10000, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10000, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-189407528\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{saml2.idp.attribute.mapper.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-189407528\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.348Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "4579dce8b9081af12db976676ea3c0f6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1964, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/SAML2_IDP_ATTRIBUTE_MAPPER" + }, + "response": { + "bodySize": 2211, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2211, + "text": "{\"_id\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"bindings\":[],\"allowLists\":[\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"groovy.json.JsonSlurper\",\"com.sun.identity.saml2.common.SAML2Exception\",\"java.util.HashSet\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Float\",\"org.xml.sax.InputSource\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"javax.servlet.http.Cookie\",\"java.lang.Character$Subset\",\"java.lang.Boolean\",\"java.lang.StrictMath\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Byte\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"org.w3c.dom.Document\",\"java.lang.Object\",\"java.util.LinkedHashSet\",\"com.iplanet.am.sdk.AMHashMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"java.util.TreeSet\",\"org.forgerock.json.JsonValue\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.http.Client\",\"java.util.HashMap$KeyIterator\",\"java.lang.Double\",\"java.util.LinkedHashMap$Entry\",\"java.lang.Integer\",\"java.lang.Long\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.util.HashMap$Entry\",\"java.lang.Math\",\"org.forgerock.http.client.*\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"java.lang.Character\",\"java.util.Collections$SingletonList\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"java.lang.Short\",\"groovy.json.internal.LazyMap\",\"java.util.Collections$EmptyMap\",\"org.w3c.dom.Element\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.HashMap$Node\",\"java.lang.String\",\"java.util.HashMap\",\"java.net.URI\",\"org.mozilla.javascript.JavaScriptException\",\"java.util.HashMap$KeySet\",\"javax.xml.parsers.DocumentBuilder\",\"java.util.LinkedList\",\"java.util.ArrayList$Itr\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.ArrayList\",\"java.lang.Void\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$EmptyList\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"org.forgerock.util.promise.PromiseImpl\",\"javax.xml.parsers.DocumentBuilderFactory\",\"java.util.Collections$1\",\"java.lang.Number\",\"java.util.LinkedHashMap\",\"java.util.TreeMap\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2211" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.416Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "43ea4295ab8a8efd4a8abad055b36e7e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2005, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/OAUTH2_MAY_ACT/engineConfiguration" + }, + "response": { + "bodySize": 10186, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10186, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"248209503\",\"propertyNamePrefix\":\"esv.\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":{\"$int\":\"&{oauth2.may.act.script.context.max.threads|50}\"},\"coreThreads\":{\"$int\":\"&{oauth2.may.act.script.context.core.threads|10}\"},\"whiteList\":[\"com.google.common.collect.ImmutableList\",\"com.google.common.collect.Sets$1\",\"com.iplanet.am.sdk.AMHashMap\",\"com.iplanet.sso.providers.dpro.SSOTokenIDImpl\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"com.sun.identity.authentication.callbacks.HiddenValueCallback\",\"com.sun.identity.authentication.callbacks.ReCaptchaCallback\",\"com.sun.identity.authentication.callbacks.ScriptTextOutputCallback\",\"com.sun.identity.authentication.spi.HttpCallback\",\"com.sun.identity.authentication.spi.IdentifiableCallback\",\"com.sun.identity.authentication.spi.MetadataCallback\",\"com.sun.identity.authentication.spi.PagePropertiesCallback\",\"com.sun.identity.authentication.spi.RedirectCallback\",\"com.sun.identity.authentication.spi.X509CertificateCallback\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"com.sun.identity.common.CaseInsensitiveHashMap$Entry\",\"com.sun.identity.idm.AMIdentity\",\"com.sun.identity.idm.IdType\",\"com.sun.identity.saml2.assertion.impl.AttributeImpl\",\"com.sun.identity.saml2.common.SAML2Exception\",\"com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper\",\"com.sun.identity.shared.debug.Debug\",\"groovy.json.JsonSlurper\",\"groovy.json.StringEscapeUtils\",\"groovy.json.internal.LazyMap\",\"java.io.ByteArrayInputStream\",\"java.io.ByteArrayOutputStream\",\"java.io.UnsupportedEncodingException\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.NullPointerException\",\"java.lang.Number\",\"java.lang.Object\",\"java.lang.RuntimeException\",\"java.lang.SecurityException\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.math.BigDecimal\",\"java.math.BigInteger\",\"java.net.URI\",\"java.security.KeyFactory\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.MessageDigest\",\"java.security.MessageDigest$Delegate\",\"java.security.MessageDigest$Delegate$CloneableDelegate\",\"java.security.NoSuchAlgorithmException\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.cert.CertificateFactory\",\"java.security.cert.X509Certificate\",\"java.security.spec.MGF1ParameterSpec\",\"java.security.spec.PKCS8EncodedKeySpec\",\"java.security.spec.X509EncodedKeySpec\",\"java.text.SimpleDateFormat\",\"java.time.Clock\",\"java.time.Clock$FixedClock\",\"java.time.Clock$OffsetClock\",\"java.time.Clock$SystemClock\",\"java.time.Clock$TickClock\",\"java.time.temporal.ChronoUnit\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.ArrayList$Itr\",\"java.util.Arrays\",\"java.util.Collections\",\"java.util.Collections$*\",\"java.util.Date\",\"java.util.HashMap\",\"java.util.HashMap$Entry\",\"java.util.HashMap$KeyIterator\",\"java.util.HashMap$KeySet\",\"java.util.HashMap$Node\",\"java.util.HashSet\",\"java.util.LinkedHashMap\",\"java.util.LinkedHashMap$Entry\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"java.util.LinkedHashMap$LinkedKeySet\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.List\",\"java.util.Locale\",\"java.util.Map\",\"java.util.TreeMap\",\"java.util.TreeSet\",\"java.util.UUID\",\"javax.crypto.Cipher\",\"javax.crypto.Mac\",\"javax.crypto.spec.IvParameterSpec\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"javax.crypto.spec.SecretKeySpec\",\"javax.security.auth.callback.ChoiceCallback\",\"javax.security.auth.callback.ConfirmationCallback\",\"javax.security.auth.callback.LanguageCallback\",\"javax.security.auth.callback.NameCallback\",\"javax.security.auth.callback.PasswordCallback\",\"javax.security.auth.callback.TextInputCallback\",\"javax.security.auth.callback.TextOutputCallback\",\"org.apache.groovy.json.internal.LazyMap\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"org.forgerock.guice.core.IdentityProvider\",\"org.forgerock.guice.core.InjectorHolder\",\"org.forgerock.http.Client\",\"org.forgerock.http.Context\",\"org.forgerock.http.Handler\",\"org.forgerock.http.client.*\",\"org.forgerock.http.context.RootContext\",\"org.forgerock.http.header.*\",\"org.forgerock.http.header.authorization.*\",\"org.forgerock.http.protocol.*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.json.jose.builders.EncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.EncryptedThenSignedJwtBuilder\",\"org.forgerock.json.jose.builders.JweHeaderBuilder\",\"org.forgerock.json.jose.builders.JwsHeaderBuilder\",\"org.forgerock.json.jose.builders.JwtBuilderFactory\",\"org.forgerock.json.jose.builders.SignedJwtBuilderImpl\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtBuilder\",\"org.forgerock.json.jose.builders.SignedThenEncryptedJwtHeaderBuilder\",\"org.forgerock.json.jose.jwe.EncryptedJwt\",\"org.forgerock.json.jose.jwe.EncryptionMethod\",\"org.forgerock.json.jose.jwe.JweAlgorithm\",\"org.forgerock.json.jose.jwe.SignedThenEncryptedJwt\",\"org.forgerock.json.jose.jwk.JWKSet\",\"org.forgerock.json.jose.jwk.RsaJWK\",\"org.forgerock.json.jose.jws.EncryptedThenSignedJwt\",\"org.forgerock.json.jose.jws.JwsAlgorithm\",\"org.forgerock.json.jose.jws.JwsHeader\",\"org.forgerock.json.jose.jws.SignedEncryptedJwt\",\"org.forgerock.json.jose.jws.SignedJwt\",\"org.forgerock.json.jose.jws.SigningManager\",\"org.forgerock.json.jose.jws.handlers.HmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.RSASigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretHmacSigningHandler\",\"org.forgerock.json.jose.jws.handlers.SecretRSASigningHandler\",\"org.forgerock.json.jose.jwt.JwtClaimsSet\",\"org.forgerock.macaroons.Macaroon\",\"org.forgerock.oauth.clients.oidc.Claim\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"org.forgerock.openam.auth.node.api.Action\",\"org.forgerock.openam.auth.node.api.Action$ActionBuilder\",\"org.forgerock.openam.auth.node.api.NodeState\",\"org.forgerock.openam.auth.node.api.SuspendedTextOutputCallback\",\"org.forgerock.openam.auth.nodes.IdentityProvider\",\"org.forgerock.openam.auth.nodes.InjectorHolder\",\"org.forgerock.openam.authentication.callbacks.AbstractValidatedCallback\",\"org.forgerock.openam.authentication.callbacks.AttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.ConsentMappingCallback\",\"org.forgerock.openam.authentication.callbacks.DeviceProfileCallback\",\"org.forgerock.openam.authentication.callbacks.IdPCallback\",\"org.forgerock.openam.authentication.callbacks.KbaCreateCallback\",\"org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.PollingWaitCallback\",\"org.forgerock.openam.authentication.callbacks.SelectIdPCallback\",\"org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback\",\"org.forgerock.openam.authentication.callbacks.TermsAndConditionsCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback\",\"org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback\",\"org.forgerock.openam.authentication.modules.scripted.*\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao\",\"org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"org.forgerock.openam.scripting.api.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.ScriptedSession\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openam.scripting.api.secrets.Secret\",\"org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository\",\"org.forgerock.openam.shared.security.ThreadLocalSecureRandom\",\"org.forgerock.openidconnect.Claim\",\"org.forgerock.openidconnect.OpenIdConnectToken\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.secrets.SecretBuilder\",\"org.forgerock.secrets.keys.SigningKey\",\"org.forgerock.secrets.keys.VerificationKey\",\"org.forgerock.util.encode.Base64\",\"org.forgerock.util.encode.Base64url\",\"org.forgerock.util.encode.Hex\",\"org.forgerock.util.promise.NeverThrowsException\",\"org.forgerock.util.promise.Promise\",\"org.forgerock.util.promise.PromiseImpl\",\"org.mozilla.javascript.ConsString\",\"org.mozilla.javascript.JavaScriptException\",\"org.mozilla.javascript.WrappedException\",\"sun.security.ec.ECPrivateKeyImpl\",\"sun.security.rsa.RSAPrivateCrtKeyImpl\",\"sun.security.rsa.RSAPublicKeyImpl\",\"sun.security.x509.X500Name\",\"sun.security.x509.X509CertImpl\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"java.util.Collections$1\",\"java.util.Collections$EmptyList\",\"java.util.Collections$SingletonList\",\"java.util.Collections$UnmodifiableMap\",\"java.util.Collections$UnmodifiableSet\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.opendj.ldap.Dn\",\"org.forgerock.openam.auth.nodes.VerifyTransactionsHelper\"],\"idleTimeout\":60,\"blackList\":[\"java.lang.Class\",\"java.lang.Thread\",\"java.lang.invoke.*\",\"java.lang.reflect.*\",\"java.security.AccessController\"],\"queueSize\":{\"$int\":\"&{oauth2.may.act.script.context.queue.size|10}\"},\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"248209503\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.484Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "d105bd285ebe93c4a911f17ba65e5fd4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1952, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/OAUTH2_MAY_ACT" + }, + "response": { + "bodySize": 3115, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3115, + "text": "{\"_id\":\"OAUTH2_MAY_ACT\",\"bindings\":[],\"allowLists\":[\"org.forgerock.openidconnect.OpenIdConnectToken\",\"java.util.HashMap$KeyIterator\",\"java.util.Collections$EmptyList\",\"java.util.TreeMap\",\"com.google.common.collect.Sets$1\",\"java.util.Collections$UnmodifiableMap\",\"java.util.HashMap\",\"com.iplanet.sso.providers.dpro.SessionSsoToken\",\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.opendj.ldap.Dn\",\"java.lang.Byte\",\"java.util.Map\",\"com.sun.identity.shared.debug.Debug\",\"java.lang.Float\",\"org.forgerock.oauth2.core.tokenexchange.ExchangeableToken\",\"java.lang.StrictMath\",\"java.lang.Character$Subset\",\"java.util.ArrayList\",\"org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken\",\"org.forgerock.openam.oauth2.OpenAMAccessToken\",\"org.forgerock.oauth.clients.oidc.Claim\",\"java.lang.Integer\",\"groovy.json.JsonSlurper\",\"org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken\",\"org.forgerock.openam.scripting.api.http.JavaScriptHttpClient\",\"org.codehaus.groovy.runtime.ScriptBytecodeAdapter\",\"java.lang.Math\",\"org.forgerock.json.JsonValue\",\"java.util.LinkedHashMap$Entry\",\"java.lang.String\",\"org.forgerock.http.Client\",\"java.util.AbstractMap$SimpleImmutableEntry\",\"org.forgerock.macaroons.Macaroon\",\"java.util.LinkedHashSet\",\"java.lang.Short\",\"java.util.HashMap$Node\",\"java.lang.Number\",\"java.util.ArrayList$Itr\",\"java.lang.Double\",\"java.lang.Void\",\"java.util.Collections$1\",\"java.lang.Character$UnicodeBlock\",\"org.forgerock.openam.shared.security.crypto.CertificateService\",\"java.net.URI\",\"com.sun.identity.idm.AMIdentity\",\"java.util.Collections$UnmodifiableCollection$1\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.TreeSet\",\"java.util.Collections$UnmodifiableSet\",\"java.lang.Object\",\"java.util.HashSet\",\"org.forgerock.oauth2.core.GrantType\",\"org.forgerock.openam.scripting.api.http.GroovyHttpClient\",\"java.util.Collections$SingletonList\",\"java.util.List\",\"java.util.LinkedList\",\"org.forgerock.oauth2.core.exceptions.InvalidRequestException\",\"org.forgerock.http.client.*\",\"org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken\",\"org.mozilla.javascript.JavaScriptException\",\"java.lang.Long\",\"java.util.LinkedHashMap$LinkedEntrySet\",\"org.forgerock.http.protocol.*\",\"groovy.json.internal.LazyMap\",\"java.lang.Character\",\"java.util.HashMap$KeySet\",\"org.forgerock.oauth2.core.StatefulAccessToken\",\"org.forgerock.opendj.ldap.Rdn\",\"org.forgerock.oauth2.core.UserInfoClaims\",\"sun.security.ec.ECPrivateKeyImpl\",\"java.util.Locale\",\"java.util.LinkedHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository\",\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"org.forgerock.openidconnect.Claim\",\"com.sun.identity.common.CaseInsensitiveHashMap\",\"org.forgerock.openam.scripting.api.identity.ScriptedIdentity\",\"java.lang.Boolean\",\"java.util.LinkedHashMap$LinkedEntryIterator\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.HashMap$Entry\",\"org.codehaus.groovy.runtime.GStringImpl\",\"org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"1.0\"],\"GROOVY\":[\"1.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3115" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.550Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "b9353680eaa61f2eb65a3378cf021dfd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2004, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/scripting/contexts/NODE_DESIGNER/engineConfiguration" + }, + "response": { + "bodySize": 2010, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 2010, + "text": "{\"_id\":\"engineConfiguration\",\"_rev\":\"-1264359268\",\"propertyNamePrefix\":\"script\",\"serverTimeout\":0,\"useSecurityManager\":true,\"maxThreads\":50,\"coreThreads\":10,\"whiteList\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\"],\"idleTimeout\":60,\"queueSize\":10,\"blackList\":[\"java.security.AccessController\",\"java.lang.Class\",\"java.lang.reflect.*\"],\"_type\":{\"_id\":\"engineConfiguration\",\"name\":\"Scripting engine configuration\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1264359268\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "2010" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.612Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "702601d1f98ab90cbc35a29c425709f2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1951, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/contexts/NODE_DESIGNER" + }, + "response": { + "bodySize": 34037, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 34037, + "text": "{\"_id\":\"NODE_DESIGNER\",\"bindings\":[{\"name\":\"httpClient\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"},{\"name\":\"requestOptions\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"send\",\"parameters\":[{\"name\":\"uri\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"logger\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getName\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"info\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"trace\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"debug\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"error\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arguments\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"},{\"name\":\"t\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"msg\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg1\",\"javaScriptType\":\"object\"},{\"name\":\"arg2\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"warn\",\"parameters\":[{\"name\":\"format\",\"javaScriptType\":\"string\"},{\"name\":\"arg\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"isTraceEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isDebugEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isErrorEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isInfoEnabled\",\"parameters\":[],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"isWarnEnabled\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"requestParameters\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"callbacks\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getValidatedPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getKbaCreateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getDeviceProfileCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNumberAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getStringAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTextInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getChoiceCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getTermsAndConditionsCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getSelectIdPCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getNameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getPasswordCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getIdpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getBooleanAttributeInputCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConsentMappingCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHiddenValueCallbacks\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getLanguageCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getValidatedUsernameCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getHttpCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getConfirmationCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"getX509CertificateCallbacks\",\"parameters\":[],\"returnType\":\"array\"},{\"elementType\":\"method\",\"name\":\"isEmpty\",\"parameters\":[],\"returnType\":\"boolean\"}]},{\"name\":\"secrets\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.secrets.ScriptedSecrets\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getGenericSecret\",\"parameters\":[{\"name\":\"secretId\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"idRepository\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"getIdentity\",\"parameters\":[{\"name\":\"userName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"requestHeaders\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"jwtAssertion\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"generateJwt\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"string\"}]},{\"name\":\"nodeState\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.node.api.NodeStateScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"remove\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"get\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"keys\",\"parameters\":[],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"getObject\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"isDefined\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"boolean\"},{\"elementType\":\"method\",\"name\":\"putShared\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeShared\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"mergeTransient\",\"parameters\":[{\"name\":\"object\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putTransient\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"resumedFromSuspend\",\"javaScriptType\":\"boolean\"},{\"name\":\"utils\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptUtilityService\",\"elements\":[{\"elementType\":\"field\",\"name\":\"crypto\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptCryptoService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"randomUUID\",\"parameters\":[],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"getRandomValues\",\"parameters\":[{\"name\":\"array\",\"javaScriptType\":\"array\"}],\"returnType\":\"array\"}]},{\"elementType\":\"field\",\"name\":\"base64\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64Service\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]},{\"elementType\":\"field\",\"name\":\"base64url\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.bindings.ScriptBase64UrlService\",\"elements\":[{\"elementType\":\"method\",\"name\":\"decode\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"encode\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"btoa\",\"parameters\":[{\"name\":\"toEncode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"},{\"elementType\":\"method\",\"name\":\"atob\",\"parameters\":[{\"name\":\"toDecode\",\"javaScriptType\":\"string\"}],\"returnType\":\"string\"}]}]},{\"name\":\"existingSession\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"action\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ActionWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"withIdentifiedAgent\",\"parameters\":[{\"name\":\"agentName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withIdentifiedUser\",\"parameters\":[{\"name\":\"username\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"},{\"name\":\"additionalLogic\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"suspend\",\"parameters\":[{\"name\":\"callbackTextFormat\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"goTo\",\"parameters\":[{\"name\":\"outcome\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"putSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withHeader\",\"parameters\":[{\"name\":\"header\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withDescription\",\"parameters\":[{\"name\":\"description\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withStage\",\"parameters\":[{\"name\":\"stage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withErrorMessage\",\"parameters\":[{\"name\":\"errorMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"withLockoutMessage\",\"parameters\":[{\"name\":\"lockoutMessage\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"removeSessionProperty\",\"parameters\":[{\"name\":\"key\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"}]},{\"name\":\"scriptName\",\"javaScriptType\":\"string\"},{\"name\":\"attributes\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"realm\",\"javaScriptType\":\"string\"},{\"name\":\"jwtValidator\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"validateJwtClaims\",\"parameters\":[{\"name\":\"jwtData\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"callbacksBuilder\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder\",\"elements\":[{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"numberAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"number\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"selectIdPCallback\",\"parameters\":[{\"name\":\"providers\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"booleanAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"boolean\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"},{\"name\":\"requestSignature\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"x509CertificateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"certificate\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"idPCallback\",\"parameters\":[{\"name\":\"provider\",\"javaScriptType\":\"string\"},{\"name\":\"clientId\",\"javaScriptType\":\"string\"},{\"name\":\"redirectUri\",\"javaScriptType\":\"string\"},{\"name\":\"scope\",\"javaScriptType\":\"array\"},{\"name\":\"nonce\",\"javaScriptType\":\"string\"},{\"name\":\"request\",\"javaScriptType\":\"string\"},{\"name\":\"requestUri\",\"javaScriptType\":\"string\"},{\"name\":\"acrValues\",\"javaScriptType\":\"array\"},{\"name\":\"requestNativeAppForUserInfo\",\"javaScriptType\":\"boolean\"},{\"name\":\"token\",\"javaScriptType\":\"string\"},{\"name\":\"tokenType\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"termsAndConditionsCallback\",\"parameters\":[{\"name\":\"version\",\"javaScriptType\":\"string\"},{\"name\":\"terms\",\"javaScriptType\":\"string\"},{\"name\":\"createDate\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"displayName\",\"javaScriptType\":\"string\"},{\"name\":\"icon\",\"javaScriptType\":\"string\"},{\"name\":\"accessLevel\",\"javaScriptType\":\"string\"},{\"name\":\"titles\",\"javaScriptType\":\"array\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"consentMappingCallback\",\"parameters\":[{\"name\":\"config\",\"javaScriptType\":\"object\"},{\"name\":\"message\",\"javaScriptType\":\"string\"},{\"name\":\"isRequired\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"deviceProfileCallback\",\"parameters\":[{\"name\":\"metadata\",\"javaScriptType\":\"boolean\"},{\"name\":\"location\",\"javaScriptType\":\"boolean\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"scriptTextOutputCallback\",\"parameters\":[{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"suspendedTextOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textInputCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultText\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"kbaCreateCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"predefinedQuestions\",\"javaScriptType\":\"array\"},{\"name\":\"allowUserDefinedQuestions\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"metadataCallback\",\"parameters\":[{\"name\":\"outputValue\",\"javaScriptType\":\"object\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authRHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negoName\",\"javaScriptType\":\"string\"},{\"name\":\"negoValue\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"httpCallback\",\"parameters\":[{\"name\":\"authorizationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"negotiationHeader\",\"javaScriptType\":\"string\"},{\"name\":\"errorCode\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"stringAttributeInputCallback\",\"parameters\":[{\"name\":\"name\",\"javaScriptType\":\"string\"},{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"},{\"name\":\"required\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"languageCallback\",\"parameters\":[{\"name\":\"language\",\"javaScriptType\":\"string\"},{\"name\":\"country\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"redirectCallback\",\"parameters\":[{\"name\":\"redirectUrl\",\"javaScriptType\":\"string\"},{\"name\":\"redirectData\",\"javaScriptType\":\"object\"},{\"name\":\"method\",\"javaScriptType\":\"string\"},{\"name\":\"statusParameter\",\"javaScriptType\":\"string\"},{\"name\":\"redirectBackUrlCookie\",\"javaScriptType\":\"string\"},{\"name\":\"setTrackingCookie\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"choiceCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"choices\",\"javaScriptType\":\"array\"},{\"name\":\"defaultChoice\",\"javaScriptType\":\"number\"},{\"name\":\"multipleSelectionsAllowed\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"textOutputCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"pollingWaitCallback\",\"parameters\":[{\"name\":\"waitTime\",\"javaScriptType\":\"string\"},{\"name\":\"message\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"hiddenValueCallback\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"defaultName\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"nameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"passwordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"options\",\"javaScriptType\":\"array\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"confirmationCallback\",\"parameters\":[{\"name\":\"messageType\",\"javaScriptType\":\"number\"},{\"name\":\"optionType\",\"javaScriptType\":\"number\"},{\"name\":\"defaultOption\",\"javaScriptType\":\"number\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedUsernameCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"}],\"returnType\":\"void\"},{\"elementType\":\"method\",\"name\":\"validatedPasswordCallback\",\"parameters\":[{\"name\":\"prompt\",\"javaScriptType\":\"string\"},{\"name\":\"echoOn\",\"javaScriptType\":\"boolean\"},{\"name\":\"policies\",\"javaScriptType\":\"object\"},{\"name\":\"validateOnly\",\"javaScriptType\":\"boolean\"},{\"name\":\"failedPolicies\",\"javaScriptType\":\"array\"}],\"returnType\":\"void\"}]},{\"name\":\"openidm\",\"javaScriptType\":\"object\",\"javaClass\":\"org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper\",\"elements\":[{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"update\",\"parameters\":[{\"name\":\"id\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"value\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"read\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"delete\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"action\",\"parameters\":[{\"name\":\"resource\",\"javaScriptType\":\"string\"},{\"name\":\"actionName\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"query\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"create\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"newResourceId\",\"javaScriptType\":\"string\"},{\"name\":\"content\",\"javaScriptType\":\"object\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"},{\"name\":\"fields\",\"javaScriptType\":\"array\"}],\"returnType\":\"object\"},{\"elementType\":\"method\",\"name\":\"patch\",\"parameters\":[{\"name\":\"resourceName\",\"javaScriptType\":\"string\"},{\"name\":\"rev\",\"javaScriptType\":\"string\"},{\"name\":\"patch\",\"javaScriptType\":\"array\"},{\"name\":\"params\",\"javaScriptType\":\"object\"}],\"returnType\":\"object\"}]},{\"name\":\"requestCookies\",\"javaScriptType\":\"object\",\"elements\":[]},{\"name\":\"cookieName\",\"javaScriptType\":\"string\"}],\"allowLists\":[\"org.forgerock.util.promise.PromiseImpl\",\"org.forgerock.util.promise.Promises$*\",\"java.lang.Object\",\"java.lang.Boolean\",\"java.lang.Byte\",\"java.lang.Character\",\"java.lang.Character$Subset\",\"java.lang.Character$UnicodeBlock\",\"java.lang.Double\",\"java.lang.Float\",\"java.lang.Integer\",\"java.lang.Long\",\"java.lang.Math\",\"java.lang.Number\",\"java.lang.Short\",\"java.lang.StrictMath\",\"java.lang.String\",\"java.lang.Void\",\"java.util.AbstractMap$*\",\"java.util.ArrayList\",\"java.util.Collections\",\"java.util.concurrent.TimeUnit\",\"java.util.Collections$*\",\"java.util.HashSet\",\"java.util.HashMap$KeyIterator\",\"java.util.LinkedHashSet\",\"java.util.LinkedList\",\"java.util.TreeSet\",\"java.security.KeyPair\",\"java.security.KeyPairGenerator\",\"java.security.KeyPairGenerator$*\",\"java.security.PrivateKey\",\"java.security.PublicKey\",\"java.security.spec.X509EncodedKeySpec\",\"java.security.spec.MGF1ParameterSpec\",\"javax.crypto.SecretKeyFactory\",\"javax.crypto.spec.OAEPParameterSpec\",\"javax.crypto.spec.PBEKeySpec\",\"javax.crypto.spec.PSource\",\"javax.crypto.spec.PSource$*\",\"org.forgerock.json.JsonValue\",\"org.forgerock.util.promise.NeverThrowsException\",\"java.util.concurrent.ExecutionException\",\"java.util.concurrent.TimeoutException\",\"org.forgerock.openam.core.rest.authn.callbackhandlers.*\",\"com.sun.crypto.provider.PBKDF2KeyImpl\",\"org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver\",\"java.util.Collections$UnmodifiableRandomAccessList\",\"java.util.Collections$UnmodifiableCollection$1\",\"sun.security.ec.ECPrivateKeyImpl\",\"ch.qos.logback.classic.Logger\",\"com.sun.proxy.$*\",\"java.util.Date\",\"java.security.spec.InvalidKeySpecException\"],\"evaluatorVersions\":{\"JAVASCRIPT\":[\"2.0\"]}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.673Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "554e50b0a97fed943f123c01f0fa6760", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1869, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/environment/secrets" + }, + "response": { + "bodySize": 3827, + "content": { + "mimeType": "application/json", + "size": 3827, + "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-admin-token\",\"activeVersion\":\"1\",\"description\":\"Long-lived admin token\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-03-20T14:46:13.461793Z\",\"lastChangedBy\":\"ba58ff99-76d3-4c69-9c4a-7f150ac70e2c\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-brando-pingone\",\"activeVersion\":\"4\",\"description\":\"This is to show the connection between PingOne and AIC. \",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-24T00:44:06.154598Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"4\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test1\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 1\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:13.904591Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-secret-import-test2\",\"activeVersion\":\"1\",\"description\":\"Secret Import Test 2\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-22T01:13:41.914076Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret\",\"activeVersion\":\"1\",\"description\":\"This is a test secret containing a simple string value.\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-05T17:53:53.682578Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file.\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:48:49.005574Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-cert-pem-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from a pem encoded cert file (raw).\",\"encoding\":\"pem\",\"lastChangeDate\":\"2024-01-20T03:49:20.270526Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-euler\",\"activeVersion\":\"1\",\"description\":\"A test secret containing the value of Euler's number\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:27:34.607038Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file.\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:46:37.42544Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-file-base64hmac-raw\",\"activeVersion\":\"1\",\"description\":\"This is a test secret from base64 encoded hmac key file (raw).\",\"encoding\":\"base64hmac\",\"lastChangeDate\":\"2024-01-20T03:47:03.695151Z\",\"lastChangedBy\":\"6bac97fb-0665-4ba9-b66c-1cf70e074d72\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi\",\"activeVersion\":\"1\",\"description\":\"Secret that contains the value of pi\",\"encoding\":\"generic\",\"lastChangeDate\":\"2023-12-14T15:22:28.519043Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"loadedVersion\":\"1\",\"useInPlaceholders\":true},{\"_id\":\"esv-test-secret-pi-generic\",\"activeVersion\":\"3\",\"description\":\"\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-07-15T03:20:09.136266Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"3\",\"useInPlaceholders\":true},{\"_id\":\"esv-volkers-test-secret\",\"activeVersion\":\"10\",\"description\":\"Volker's test secret\",\"encoding\":\"generic\",\"lastChangeDate\":\"2024-06-26T01:37:06.116117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"loadedVersion\":\"10\",\"useInPlaceholders\":true}],\"resultCount\":13,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 267, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.742Z", + "time": 169, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 169 + } + }, + { + "_id": "00c59a598bc0a39925dcd05b5e05295b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1976, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services?_action=nextdescendents" + }, + "response": { + "bodySize": 244, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 244, + "text": "{\"result\":[{\"enabled\":true,\"_id\":\"CorsService\",\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}},{\"defaults\":{\"assignedDashboard\":[]},\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:05 GMT" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 283, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.917Z", + "time": 40, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 40 + } + }, + { + "_id": "880e1d131d59635dd44ee69bbc1be2b2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1963, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 115, + "text": "{\"_id\":\"\",\"_rev\":\"515901845\",\"enabled\":true,\"_type\":{\"_id\":\"CorsService\",\"name\":\"CORS Service\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"515901845\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "115" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:06 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.961Z", + "time": 77, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 77 + } + }, + { + "_id": "5503ee06dd7c79e49bac04fc6fd39604", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1988, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/CorsService?_action=nextdescendents" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 13, + "text": "{\"result\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "13" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:06 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.962Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + }, + { + "_id": "274f52cc72a61338f1ec66f332f437fb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1961, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard" + }, + "response": { + "bodySize": 131, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 131, + "text": "{\"_id\":\"\",\"_rev\":\"436796111\",\"defaults\":{\"assignedDashboard\":[]},\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"436796111\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "131" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:06 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.963Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "2558303e6826898c61b79f0ac55baefc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/global-config/services/dashboard?_action=nextdescendents" + }, + "response": { + "bodySize": 1046, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1046, + "text": "{\"result\":[{\"icfIdentifier\":\"idm magic 34\",\"login\":\"http://www.google.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"images/logos/googleplus.png\",\"_id\":\"Google\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 12\",\"login\":\"http://www.salesforce.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"SalesForce\",\"name\":\"SalesForce\",\"icon\":\"images/logos/salesforce.png\",\"_id\":\"SalesForce\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"icfIdentifier\":\"idm magic 56\",\"login\":\"http://www.ZenDesk.com\",\"className\":\"SAML2ApplicationClass\",\"displayName\":\"ZenDesk\",\"name\":\"ZenDesk\",\"icon\":\"images/logos/zendesk.png\",\"_id\":\"ZenDesk\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}},{\"login\":\"https://www.google.com/\",\"className\":\"BookmarkApplicationClass\",\"displayName\":\"Google\",\"name\":\"Google\",\"icon\":\"app-bookmark.svg\",\"_id\":\"2e4663b7-aed2-4521-8819-d379449d91b0\",\"_type\":{\"_id\":\"instances\",\"name\":\"instance\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1046" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:06 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:05.963Z", + "time": 82, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 82 + } + }, + { + "_id": "49c64431f90c263c4e22873dcf498dcb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1871, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/environment/variables" + }, + "response": { + "bodySize": 3437, + "content": { + "mimeType": "application/json", + "size": 3437, + "text": "{\"pagedResultsCookie\":null,\"remainingPagedResults\":-1,\"result\":[{\"_id\":\"esv-blue-piller\",\"description\":\"Zion membership criteria.\",\"expressionType\":\"bool\",\"lastChangeDate\":\"2024-07-05T20:01:11.78347Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"ZmFsc2U=\"},{\"_id\":\"esv-ipv4-cidr-access-rules\",\"description\":\"IPv4 CIDR access rules: { \\\"allow\\\": [ \\\"address/mask\\\" ] }\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:13.987057Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyAiYWxsb3ciOiBbICIxNDUuMTE4LjAuMC8xNiIsICIxMzIuMzUuMC4wLzE2IiwgIjEwMS4yMjYuMC4wLzE2IiwgIjk5LjcyLjI4LjE4Mi8zMiIgXSB9\"},{\"_id\":\"esv-nebuchadnezzar-crew\",\"description\":\"The crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"array\",\"lastChangeDate\":\"2024-07-05T20:01:05.216699Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"WyJNb3JwaGV1cyIsIlRyaW5pdHkiLCJMaW5rIiwiVGFuayIsIkRvemVyIiwiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl0=\"},{\"_id\":\"esv-nebuchadnezzar-crew-structure\",\"description\":\"The structure of the crew of the Nebuchadnezzar hovercraft.\",\"expressionType\":\"object\",\"lastChangeDate\":\"2024-07-05T20:01:07.343325Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"eyJDYXB0YWluIjoiTW9ycGhldXMiLCJGaXJzdE1hdGUiOiJUcmluaXR5IiwiT3BlcmF0b3IiOlsiTGluayIsIlRhbmsiXSwiTWVkaWMiOiJEb3plciIsIkNyZXdtZW4iOlsiQXBvYyIsIkN5cGhlciIsIk1vdXNlIiwiTmVvIiwiU3dpdGNoIl19\"},{\"_id\":\"esv-neo-age\",\"description\":\"Neo's age in the matrix.\",\"expressionType\":\"int\",\"lastChangeDate\":\"2024-11-01T16:21:14.46187Z\",\"lastChangedBy\":\"Frodo-SA-1730238488278\",\"loaded\":true,\"valueBase64\":\"Mjg=\"},{\"_id\":\"esv-number\",\"description\":\"test number\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-05T19:42:20.943131Z\",\"lastChangedBy\":\"volker.scheuber@forgerock.com\",\"loaded\":true,\"valueBase64\":\"MS4xMzQ=\"},{\"_id\":\"esv-test\",\"description\":\"list\",\"expressionType\":\"list\",\"lastChangeDate\":\"2024-11-01T21:00:21.315828Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"YSxiLGMsZA==\"},{\"_id\":\"esv-test-var\",\"description\":\"this is a test description\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-11-01T16:21:15.469328Z\",\"lastChangedBy\":\"Frodo-SA-1730238488278\",\"loaded\":true,\"valueBase64\":\"dGhpcyBpcyBhIHRlc3QgdmFyaWFibGU=\"},{\"_id\":\"esv-test-var-pi\",\"description\":\"This is another test variable.\",\"expressionType\":\"number\",\"lastChangeDate\":\"2024-07-12T17:40:41.283412Z\",\"lastChangedBy\":\"Frodo-SA-1720799681233\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-var-pi-string\",\"description\":\"This is another test variable.\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:16.11117Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"My4xNDE1OTI2\"},{\"_id\":\"esv-test-variable-light\",\"description\":\"Test variable containing the speed of light in meters per second (as an int).\",\"expressionType\":\"int\",\"lastChangeDate\":\"2023-12-14T15:34:13.446903Z\",\"lastChangedBy\":\"phales@trivir.com\",\"loaded\":true,\"valueBase64\":\"Mjk5NzkyNDU4\"},{\"_id\":\"esv-trinity-phone\",\"description\":\"In the opening of The Matrix (1999), the phone number Trinity is calling from is traced to (312)-555-0690\",\"expressionType\":\"string\",\"lastChangeDate\":\"2024-07-05T20:01:03.141204Z\",\"lastChangedBy\":\"Frodo-SA-1701393386423\",\"loaded\":true,\"valueBase64\":\"KDMxMiktNTU1LTA2OTA=\"}],\"resultCount\":12,\"totalPagedResults\":-1,\"totalPagedResultsPolicy\":\"NONE\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 267, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:06.051Z", + "time": 1166, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1166 + } + }, + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1990, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 413, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 413, + "text": "{\"result\":[{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0, resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "413" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.222Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + }, + { + "_id": "6b977642417440b9bc117cf865b024c2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1991, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/aVNQQXp1cmU" + }, + "response": { + "bodySize": 3991, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 3991, + "text": "{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"-1533212691\",\"entityId\":\"iSPAzure\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{},\"clientAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"http://schemas.microsoft.com/identity/claims/displayname\",\"value\":\"cn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname\",\"value\":\"givenName\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname\",\"value\":\"sn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\",\"value\":\"mail\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\"value\":\"uid\"}]},\"autoFederation\":{\"autoFedEnabled\":false},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\",\"useNameIDAsSPUserID\":true},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{}},\"services\":{\"metaAlias\":\"/alpha/iSPAzure\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPSloSoap/metaAlias/alpha/iSPAzure\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://idc.scheuber.io/am/Consumer/ECP/metaAlias/alpha/iSPAzure\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"https://idc.scheuber.io/am/spsaehandler/metaAlias/alpha/iSPAzure\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1533212691\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "3991" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 788, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.295Z", + "time": 131, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 131 + } + }, + { + "_id": "d57da9b8b270a5179c43658a6863a87d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1985, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "entityid", + "value": "iSPAzure" + }, + { + "name": "realm", + "value": "/alpha" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=iSPAzure&realm=%2Falpha" + }, + "response": { + "bodySize": 6544, + "content": { + "mimeType": "text/xml;charset=utf-8", + "size": 6544, + "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + }, + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "text/xml;charset=utf-8" + }, + { + "name": "content-length", + "value": "6544" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.430Z", + "time": 48, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 48 + } + }, + { + "_id": "94377b08c532145d0686d3ccc08e9898", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2020, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l" + }, + "response": { + "bodySize": 1604, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1604, + "text": "{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-901720656\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{\"assertion\":true},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:mace:shibboleth:1.0:nameIdentifier\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"]},\"secrets\":{},\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMap\":[{\"samlAttribute\":\"IDPEmail\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"UOPClassID\",\"localAttribute\":\"UOPClassID\",\"binary\":false}]},\"accountMapper\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"}},\"services\":{\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{},\"idpProxy\":{},\"treeConfiguration\":{}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-901720656\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1604" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.482Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "e8ce97a39a50b7d0ef68e6e0d5c1ad4e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "entityid", + "value": "urn:federation:MicrosoftOnline" + }, + { + "name": "realm", + "value": "/alpha" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=urn%3Afederation%3AMicrosoftOnline&realm=%2Falpha" + }, + "response": { + "bodySize": 10896, + "content": { + "mimeType": "text/xml;charset=utf-8", + "size": 10896, + "text": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:mace:shibboleth:1.0:nameIdentifier\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n \n \n \n \n\n\n" + }, + "cookies": [ + { + "httpOnly": true, + "name": "JSESSIONID", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "text/xml;charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 619, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.553Z", + "time": 47, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 47 + } + }, + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2010, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 865, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 865, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"affiliation-test\",\"_rev\":\"838041851\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "865" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.606Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + }, + { + "_id": "dcea3a6dcb13032966723225c5134b31", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2024, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/groups?_action=nextdescendents" + }, + "response": { + "bodySize": 8670, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8670, + "text": "{\"result\":[{\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"fqdnDefault\":null,\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Active\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"notificationsEnabled\":true,\"agentUriPrefix\":null,\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_id\":\"test_web_agent_group\",\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":null,\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"fqdnDefault\":null,\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Active\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":null,\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_id\":\"test_java_group\",\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"None\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"_id\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.678Z", + "time": 105, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 105 + } + }, + { + "_id": "38c6b8f9cf2529728ebd21c7023cd093", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/2.2_Agent?_queryFilter=true" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"result\":[{\"_id\":\"my-policy-agent\",\"_rev\":\"-504717871\",\"cdssoRootUrl\":[],\"description\":null,\"status\":\"Active\",\"_type\":{\"_id\":\"2.2_Agent\",\"name\":\"Policy Agents\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.793Z", + "time": 79, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 79 + } + }, + { + "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2012, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + }, + "response": { + "bodySize": 1847, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1847, + "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igTokenIntrospection\":\"Realm\",\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1847" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.794Z", + "time": 82, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 82 + } + }, + { + "_id": "58e82498bfa5079883e52d1a0b52b452", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2001, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + }, + "response": { + "bodySize": 10677, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10677, + "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"cookieResetDomains\":{},\"authExchangeUri\":null,\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cookieResetPaths\":{},\"cdssoSecureCookies\":false,\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"notEnforcedIpsCacheEnabled\":true,\"logoutIntrospection\":false,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"responseAttributeFetchMode\":\"NONE\",\"notEnforcedUrisCacheEnabled\":true,\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"debugLogfileRetentionCount\":-1,\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"ignorePathInfo\":false,\"agent302RedirectInvertEnabled\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.794Z", + "time": 86, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 86 + } + }, + { + "_id": "4f61453430bd0d2ae640738492af9184", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2003, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-11-05T21:22:07.795Z", + "time": 76, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 76 + } + }, + { + "_id": "f4133ac6ad5b31dac504f3ba13b12318", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2010, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/RemoteConsentAgent?_queryFilter=true" + }, + "response": { + "bodySize": 810, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 810, + "text": "{\"result\":[{\"_id\":\"test\",\"_rev\":\"-2043903936\",\"remoteConsentRequestEncryptionAlgorithm\":\"RSA-OAEP-256\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"remoteConsentRequestSigningAlgorithm\":\"RS256\",\"remoteConsentResponseSigningAlg\":\"RS256\",\"jwkSet\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"remoteConsentRedirectUrl\":null,\"remoteConsentResponseEncryptionMethod\":\"A128GCM\",\"remoteConsentRequestEncryptionEnabled\":true,\"remoteConsentRequestEncryptionMethod\":\"A128GCM\",\"remoteConsentResponseEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestTimeLimit\":180,\"jwksUri\":null,\"_type\":{\"_id\":\"RemoteConsentAgent\",\"name\":\"OAuth2 Remote Consent Service\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "810" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.795Z", + "time": 89, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 89 + } + }, + { + "_id": "fa304c8238e2ce56ab11d5eb0a26d517", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2009, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SoftwarePublisher?_queryFilter=true" + }, + "response": { + "bodySize": 478, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 478, + "text": "{\"result\":[{\"_id\":\"test software publisher\",\"_rev\":\"1510799304\",\"publicKeyLocation\":\"jwks_uri\",\"jwksCacheTimeout\":3600000,\"softwareStatementSigningAlgorithm\":\"RS256\",\"jwkSet\":null,\"issuer\":null,\"jwkStoreCacheMissCacheTime\":60000,\"agentgroup\":null,\"jwksUri\":null,\"_type\":{\"_id\":\"SoftwarePublisher\",\"name\":\"OAuth2 Software Publisher\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "478" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 793, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.796Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "5bc916819d3bb67a4607e372c129f5fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2003, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/SharedAgent?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.796Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2000, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + }, + "response": { + "bodySize": 7320, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 7320, + "text": "{\"result\":[{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"secureCookies\":false,\"acceptSsoToken\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"ssoOnlyMode\":false,\"auditAccessType\":\"LOG_NONE\",\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "7320" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 794, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.797Z", + "time": 92, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 92 + } + }, + { + "_id": "021b4afb5ca0748125293d177c012d67", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1986, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc" + }, + "response": { + "bodySize": 8672, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 8672, + "text": "{\"_id\":\"\",\"_rev\":\"611625667\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"611625667\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 792, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.893Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "4bf9e4fd3e79d03439fec3771b0435d5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2004, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Client?_queryFilter=true" + }, + "response": { + "bodySize": 62581, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 62581, + "text": "{\"result\":[{\"_id\":\"EncoreRCSClient\",\"_rev\":\"-1430071664\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"hrlite-client\",\"_rev\":\"-778017687\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\",\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"client_credentials\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"hrlite/id_token/callback\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback\"],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"916377869\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"customLoginUrlTemplate\":null,\"accessTokenModifierClass\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"tosURI\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"refreshTokenGracePeriod\":0,\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test Application\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"userinfoResponseFormat\":\"JSON\",\"mTLSCertificateBoundAccessTokens\":false,\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"60b7b032-68fc-45ed-98ca-262c1985fb7e\",\"_rev\":\"-114090658\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 8:09:47 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"60b7b032-68fc-45ed-98ca-262c1985fb7e\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\",\"_rev\":\"-1994175968\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:30:37 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"frodo-idm-access\",\"_rev\":\"1309399033\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"http://localhost:8712\",\"https://openam-frodo-dev.forgeblocks.com\",\"https://openam-frodo-dev.forgeblocks.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_post\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Frodo IDM Access\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"frodo-idm-access\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"http://localhost:8712/frodo\",\"https://openam-frodo-dev.forgeblocks.com/platform/appAuthHelperRedirect.html\"],\"authorizationCodeLifetime\":120},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"RCSClient\",\"_rev\":\"-1061027698\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"EncoreWindowsRCSClient\",\"_rev\":\"-245014983\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"rfc7523-client1\",\"_rev\":\"-1045870735\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:am:*\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"clientName\":[\"rfc7523-client1\"],\"clientType\":\"Public\",\"authorizationCodeLifetime\":120},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE\\\"}]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"49a2981c-e192-4739-a0e6-c7582168bdf5\",\"_rev\":\"2145207361\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 5/13/2023, 8:07:37 PM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"49a2981c-e192-4739-a0e6-c7582168bdf5\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-device\",\"_rev\":\"-304439226\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:device_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"Streaming Services\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ios-sdk\",\"_rev\":\"-380249535\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"forgerock://oidc_callback\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ciba\",\"_rev\":\"640454649\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:openid:params:grant-type:ciba\",\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":\"{\\\"keys\\\" :[{ \\\"kty\\\": \\\"EC\\\", \\\"d\\\": \\\"bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k\\\", \\\"use\\\": \\\"sig\\\", \\\"crv\\\": \\\"P-256\\\", \\\"kid\\\": \\\"mykey\\\", \\\"x\\\": \\\"E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s\\\", \\\"y\\\": \\\"1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ\\\" }]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-web\",\"_rev\":\"1513280137\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\",\"_rev\":\"1950851195\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:46:11 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"test2\",\"_rev\":\"190847602\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"openid\"],\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[\"test2\"],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"remoteConsentServiceId\":null,\"tokenEncryptionEnabled\":false,\"enableRemoteConsent\":false,\"oidcMayActScript\":\"[Empty]\",\"usePolicyEngineForScope\":false,\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"providerOverridesEnabled\":false,\"issueRefreshTokenOnRefreshedToken\":true,\"statelessTokensEnabled\":false},\"advancedOAuth2ClientConfig\":{\"descriptions\":[\"Modified by Frodo on 4/16/2022, 8:41:59 PM\"],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\",\"client_credentials\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"393665749\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=2.0, resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 800, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:07.960Z", + "time": 110, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 110 + } + }, + { + "_id": "567773b06e735b1cc8a5ad23a155606f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=1.0,resource=2.0" }, { "name": "authorization", @@ -11005,18 +23937,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1991, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/aVNQQXp1cmU" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" }, "response": { - "bodySize": 3991, + "bodySize": 1438, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3991, - "text": "{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"-1533212691\",\"entityId\":\"iSPAzure\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{},\"clientAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"http://schemas.microsoft.com/identity/claims/displayname\",\"value\":\"cn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname\",\"value\":\"givenName\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname\",\"value\":\"sn\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\",\"value\":\"mail\"},{\"key\":\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\"value\":\"uid\"}]},\"autoFederation\":{\"autoFedEnabled\":false},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\",\"useNameIDAsSPUserID\":true},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{}},\"services\":{\"metaAlias\":\"/alpha/iSPAzure\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPSloSoap/metaAlias/alpha/iSPAzure\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\",\"responseLocation\":\"https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://idc.scheuber.io/am/Consumer/ECP/metaAlias/alpha/iSPAzure\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"https://idc.scheuber.io/am/spsaehandler/metaAlias/alpha/iSPAzure\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + "size": 1438, + "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -11038,7 +23970,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -11054,7 +23986,7 @@ }, { "name": "etag", - "value": "\"-1533212691\"" + "value": "\"-1952817720\"" }, { "name": "expires", @@ -11070,15 +24002,15 @@ }, { "name": "content-length", - "value": "3991" + "value": "1438" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11103,8 +24035,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.143Z", - "time": 78, + "startedDateTime": "2024-11-05T21:22:08.074Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -11112,15 +24044,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 67 } }, { - "_id": "d57da9b8b270a5179c43658a6863a87d", + "_id": "f403c414204898428169f781b6348757", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -11137,7 +24069,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -11147,6 +24079,10 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -11156,37 +24092,324 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1985, + "headersSize": 2043, "httpVersion": "HTTP/1.1", - "method": "GET", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, "queryString": [ { - "name": "entityid", - "value": "iSPAzure" + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + }, + "response": { + "bodySize": 10076, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 10076, + "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "realm", - "value": "/alpha" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=iSPAzure&realm=%2Falpha" + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:08.144Z", + "time": 74, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 74 + } + }, + { + "_id": "fdbfb6d6c3db5fe2a6944c62628e38e6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1998, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/58d29080-4563-480b-89bb-1e7719776a21" }, "response": { - "bodySize": 6544, + "bodySize": 1539, "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 6544, - "text": "\n\n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" + "mimeType": "application/json;charset=UTF-8", + "size": 1539, + "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, - "cookies": [ + "cookies": [], + "headers": [ { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "secure": true, - "value": "" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1539" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:08.223Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + }, + { + "_id": "0a5b6821545d411bf41eef7f3fef8502", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" } ], + "headersSize": 1998, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/23143919-6b78-40c3-b25e-beca19b229e0" + }, + "response": { + "bodySize": 1437, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1437, + "text": "{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + }, + "cookies": [], "headers": [ { "name": "x-frame-options", @@ -11201,9 +24424,28 @@ "value": "nosniff" }, { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" }, { "name": "pragma", @@ -11211,19 +24453,19 @@ }, { "name": "content-type", - "value": "text/xml;charset=utf-8" + "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "6544" + "value": "1437" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11242,14 +24484,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 613, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.226Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:08.290Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -11257,11 +24499,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 56 } }, { - "_id": "94377b08c532145d0686d3ccc08e9898", + "_id": "442bd2ef6d9a89c57b1ccd90ec88eb38", "_order": 0, "cache": {}, "request": { @@ -11282,11 +24524,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11301,18 +24543,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/484e6246-dbc6-4288-97e6-54e55431402e" }, "response": { - "bodySize": 1581, + "bodySize": 3085, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1581, - "text": "{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"1007701944\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{\"assertion\":true},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:mace:shibboleth:1.0:nameIdentifier\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\"]},\"secrets\":{},\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMap\":[{\"samlAttribute\":\"IDPEmail\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"UOPClassID\",\"localAttribute\":\"UOPClassID\",\"binary\":false}]},\"accountMapper\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"}},\"services\":{\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://login.microsoftonline.com/login.srf\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{},\"idpProxy\":{}}}}" + "size": 3085, + "text": "{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11334,7 +24576,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11348,10 +24590,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1007701944\"" - }, { "name": "expires", "value": "0" @@ -11366,156 +24604,15 @@ }, { "name": "content-length", - "value": "1581" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:11.291Z", - "time": 73, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 73 - } - }, - { - "_id": "e8ce97a39a50b7d0ef68e6e0d5c1ad4e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2011, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "entityid", - "value": "urn:federation:MicrosoftOnline" - }, - { - "name": "realm", - "value": "/alpha" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/saml2/jsp/exportmetadata.jsp?entityid=urn%3Afederation%3AMicrosoftOnline&realm=%2Falpha" - }, - "response": { - "bodySize": 10896, - "content": { - "mimeType": "text/xml;charset=utf-8", - "size": 10896, - "text": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n PGNlcnRpZmljYXRlPg==\n \n \n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:mace:shibboleth:1.0:nameIdentifier\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n \n \n \n \n\n\n" - }, - "cookies": [ - { - "httpOnly": true, - "name": "JSESSIONID", - "path": "/am", - "secure": true, - "value": "" - } - ], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "_fromType": "array", - "name": "set-cookie", - "value": "JSESSIONID=; Path=/am; Secure; HttpOnly" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "text/xml;charset=utf-8" + "value": "3085" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11532,20 +24629,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 619, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.369Z", - "time": 48, + "startedDateTime": "2024-11-05T21:22:08.352Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -11553,11 +24646,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 60 } }, { - "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_id": "8109fc84b27d7c657a7c1e36279ec52c", "_order": 0, "cache": {}, "request": { @@ -11578,11 +24671,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11597,23 +24690,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2010, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/6325cf19-a49b-471e-8d26-7e4df76df0e2" }, "response": { - "bodySize": 865, + "bodySize": 1442, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 865, - "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"affiliation-test\",\"_rev\":\"838041851\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 1442, + "text": "{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11635,7 +24723,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11663,15 +24751,15 @@ }, { "name": "content-length", - "value": "865" + "value": "1442" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11690,14 +24778,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 793, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.422Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:08.479Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -11705,11 +24793,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 59 } }, { - "_id": "58e82498bfa5079883e52d1a0b52b452", + "_id": "8b27a3f6ee15f60734dec43325ccf443", "_order": 0, "cache": {}, "request": { @@ -11730,11 +24818,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11749,23 +24837,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2001, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/J2EEAgent?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/dbe0bf9a-72aa-49d5-8483-9db147985a47" }, "response": { - "bodySize": 10677, + "bodySize": 7225, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10677, - "text": "{\"result\":[{\"_id\":\"frodo-test-java-agent\",\"_rev\":\"1131793354\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}},{\"_id\":\"frodo-test-java-agent2\",\"_rev\":\"561894916\",\"ssoJ2EEAgentConfig\":{\"encodeCookies\":false,\"authExchangeUri\":null,\"cookieResetDomains\":{},\"authExchangeCookieName\":null,\"setCookieInternalMap\":{},\"excludedUserAgentsList\":[],\"cdssoRedirectUri\":\"/agent/post-authn-redirect\",\"cdssoSecureCookies\":false,\"cookieResetPaths\":{},\"acceptSsoTokenEnabled\":false,\"acceptSsoTokenDomainList\":[\"\"],\"cdssoDomainList\":[\"\"],\"setCookieAttributeMap\":{},\"cookieResetEnabled\":false,\"cookieResetNames\":[\"\"],\"acceptIPDPCookie\":false,\"httpOnly\":true},\"amServicesJ2EEAgent\":{\"urlPolicyEnvPostParameters\":[\"\"],\"policyEvaluationRealm\":\"/\",\"authServiceHost\":\"testurl.com\",\"policyNotifications\":true,\"conditionalLoginUrl\":[\"\"],\"customLoginEnabled\":false,\"legacyLoginUrlList\":[\"\"],\"agentAdviceEncode\":false,\"authServicePort\":8080,\"urlPolicyEnvGetParameters\":[\"\"],\"restrictToRealm\":{},\"urlPolicyEnvJsessionParameters\":[\"\"],\"amLoginUrl\":[],\"conditionalLogoutUrl\":[\"\"],\"authServiceProtocol\":\"http\",\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"authSuccessRedirectUrl\":false,\"strategyWhenAMUnavailable\":\"EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503\",\"overridePolicyEvaluationRealmEnabled\":false},\"applicationJ2EEAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"notEnforcedUris\":[\"\"],\"logoutIntrospection\":false,\"notEnforcedIpsCacheEnabled\":true,\"invertNotEnforcedUris\":false,\"cookieAttributeUrlEncoded\":true,\"cookieAttributeMultiValueSeparator\":\"|\",\"notEnforcedRuleCompoundSeparator\":\"|\",\"logoutRequestParameters\":{},\"resourceAccessDeniedUri\":{},\"continuousSecurityCookies\":{},\"notEnforcedUrisCacheEnabled\":true,\"responseAttributeFetchMode\":\"NONE\",\"headerAttributeDateFormat\":\"EEE, d MMM yyyy hh:mm:ss z\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"responseAttributeMap\":{},\"notEnforcedUrisCacheSize\":1000,\"invertNotEnforcedIps\":false,\"sessionAttributeMap\":{},\"clientIpValidationRange\":{},\"notEnforcedIpsCacheSize\":1000,\"clientIpValidationMode\":{\"\":\"OFF\"},\"notEnforcedFavicon\":true,\"logoutEntryUri\":{},\"notEnforcedIps\":[\"\"],\"applicationLogoutUris\":{}},\"globalJ2EEAgentConfig\":{\"userTokenName\":\"UserToken\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testurl.com\",\"recheckAmUnavailabilityInSeconds\":5,\"httpSessionBinding\":true,\"webSocketConnectionIntervalInMinutes\":30,\"localAuditLogRotation\":false,\"filterMode\":{\"\":\"ALL\"},\"debugLogfileRotationSize\":52428800,\"status\":\"Inactive\",\"debugLevel\":\"error\",\"lbCookieName\":\"amlbcookie\",\"auditLogLocation\":\"REMOTE\",\"lbCookieEnabled\":false,\"userPrincipalFlag\":false,\"fqdnCheck\":false,\"preAuthCookieMaxAge\":300,\"localAuditRotationSize\":52428800,\"fqdnMapping\":{},\"debugLogfileRotationMinutes\":-1,\"loginAttemptLimit\":0,\"auditAccessType\":\"LOG_NONE\",\"debugLogfileRetentionCount\":-1,\"redirectAttemptLimitCookieName\":\"amFilterRDParam\",\"configurationReloadInterval\":0,\"agentgroup\":null,\"debugLogfileSuffix\":\"-yyyy.MM.dd-HH.mm.ss\",\"userAttributeName\":\"employeenumber\",\"localAuditLogfileRetentionCount\":-1,\"customResponseHeader\":{},\"redirectAttemptLimit\":0,\"userMappingMode\":\"USER_ID\",\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"loginAttemptLimitCookieName\":\"amFilterParam\",\"cdssoRootUrl\":[\"agentRootURL=http://testurl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"debugLogfilePrefix\":null,\"preAuthCookieName\":\"amFilterCDSSORequest\"},\"advancedJ2EEAgentConfig\":{\"postDataStickySessionKeyValue\":null,\"xssDetectionRedirectUri\":{},\"postDataCacheTtlMin\":5,\"jwtCacheSize\":5000,\"postDataPreservation\":false,\"policyCacheSize\":5000,\"postDataPreserveCacheEntryMaxEntries\":1000,\"postDataPreserveCacheEntryMaxTotalSizeMb\":-1,\"ssoExchangeCacheSize\":100,\"sessionCacheTTL\":15,\"idleTimeRefreshWindow\":1,\"ssoExchangeCacheTTL\":5,\"possibleXssCodeElements\":[\"\"],\"alternativeAgentPort\":null,\"policyClientPollingInterval\":3,\"missingPostDataPreservationEntryUri\":[\"\"],\"alternativeAgentProtocol\":null,\"clientIpHeader\":null,\"retainPreviousOverrideBehavior\":true,\"postDataPreserveMultipartLimitBytes\":104857600,\"jwtCacheTTL\":30,\"customProperties\":[],\"policyCachePerUser\":50,\"expiredSessionCacheTTL\":20,\"fragmentRelayUri\":null,\"postDataStickySessionMode\":\"URL\",\"alternativeAgentHostname\":null,\"expiredSessionCacheSize\":500,\"clientHostnameHeader\":null,\"monitoringToCSV\":false,\"postDataPreserveMultipartParameterLimitBytes\":104857600},\"miscJ2EEAgentConfig\":{\"legacyUserAgentList\":[\"Mozilla/4.7*\"],\"loginReasonMap\":{},\"authFailReasonParameterRemapper\":{},\"agent302RedirectStatusCode\":200,\"loginReasonParameterName\":null,\"gotoUrl\":null,\"localeLanguage\":\"en\",\"authFailReasonParameterName\":null,\"unwantedHttpUrlParams\":[\"\"],\"agent302RedirectContentType\":\"application/json\",\"agent302RedirectEnabled\":true,\"legacyUserAgentSupport\":false,\"wantedHttpUrlParams\":[\"\"],\"agent302RedirectInvertEnabled\":false,\"ignorePathInfo\":false,\"wantedHttpUrlRegexParams\":[\"\"],\"localeCountry\":\"US\",\"agent302RedirectHttpData\":\"{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}\",\"agent302RedirectNerList\":[\"\"],\"legacyRedirectUri\":\"/agent/sunwLegacySupportURI\",\"portCheckFile\":\"PortCheckContent.txt\",\"authFailReasonUrl\":null,\"gotoParameterName\":\"goto\",\"portCheckSetting\":{\"8080\":\"http\"},\"unwantedHttpUrlRegexParams\":[\"\"],\"portCheckEnabled\":false},\"_type\":{\"_id\":\"J2EEAgent\",\"name\":\"J2EE Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "size": 7225, + "text": "{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11787,7 +24870,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11813,13 +24896,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "7225" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11836,20 +24923,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.495Z", - "time": 76, + "startedDateTime": "2024-11-05T21:22:08.543Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -11857,11 +24940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 60 } }, { - "_id": "fcc396b658a463f5eb6568d38e2d731f", + "_id": "7430e4cabb066ba655343f3a21f9054a", "_order": 0, "cache": {}, "request": { @@ -11882,11 +24965,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -11901,23 +24984,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 1998, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/73cecbfc-dad0-4395-be6a-6858ee3a80e5" }, "response": { - "bodySize": 1847, + "bodySize": 2773, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1847, - "text": "{\"result\":[{\"_id\":\"cdsso-ig-agent\",\"_rev\":\"-1524382492\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect\",\"https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect\",\"https://volker-demo.encore.forgerock.com/apps/contractor/redirect\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"ig-agent\",\"_rev\":\"-1566320906\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":null,\"igTokenIntrospection\":\"Realm_Subs\",\"status\":\"Active\",\"igCdssoRedirectUrls\":[],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent2\",\"_rev\":\"1365023305\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":null,\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}},{\"_id\":\"frodo-test-ig-agent\",\"_rev\":\"-1490423122\",\"secretLabelIdentifier\":null,\"igCdssoLoginUrlTemplate\":\"http://testurl.com:8080/frodo\",\"igTokenIntrospection\":\"Realm\",\"status\":\"Inactive\",\"igCdssoRedirectUrls\":[\"http://testurl.com:8080/frodo\"],\"agentgroup\":\"test_ig_group\",\"_type\":{\"_id\":\"IdentityGatewayAgent\",\"name\":\"Identity Gateway Agents\",\"collection\":true}}],\"resultCount\":4,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":4,\"remainingPagedResults\":-1}" + "size": 2773, + "text": "{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" }, "cookies": [], "headers": [ @@ -11939,7 +25017,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=1.1" }, { "name": "content-security-policy", @@ -11967,15 +25045,15 @@ }, { "name": "content-length", - "value": "1847" + "value": "2773" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -11994,14 +25072,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 767, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.495Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:08.607Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -12009,11 +25087,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 58 } }, { - "_id": "3ac6eabf917f838ac5403b0b6ef1e88a", + "_id": "cc968d4ca98755f27cb44bad450498ad", "_order": 0, "cache": {}, "request": { @@ -12034,7 +25112,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -12053,7 +25131,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -12062,14 +25140,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/WebAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 7320, + "bodySize": 31869, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7320, - "text": "{\"result\":[{\"_id\":\"frodo-test-web-agent2\",\"_rev\":\"930101313\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}},{\"_id\":\"frodo-test-web-agent\",\"_rev\":\"218393939\",\"miscWebAgentConfig\":{\"anonymousUserId\":\"anonymous\",\"profileAttributesCookieMaxAge\":300,\"urlJsonResponse\":[\"\"],\"caseInsensitiveUrlComparison\":true,\"compositeAdviceRedirect\":false,\"compositeAdviceEncode\":false,\"addCacheControlHeader\":false,\"anonymousUserEnabled\":false,\"invalidUrlRegex\":null,\"ignorePathInfo\":false,\"invertUrlJsonResponse\":false,\"statusCodeJsonResponse\":202,\"headerJsonResponse\":{},\"encodeSpecialCharsInCookies\":false,\"gotoParameterName\":\"goto\",\"encodeUrlSpecialCharacters\":false,\"mineEncodeHeader\":0,\"profileAttributesCookiePrefix\":\"HTTP_\"},\"advancedWebAgentConfig\":{\"overrideRequestHost\":false,\"pdpSkipPostUrl\":[\"\"],\"pdpStickySessionValue\":null,\"postDataPreservation\":false,\"hostnameToIpAddress\":[],\"showPasswordInHeader\":false,\"overrideRequestProtocol\":false,\"clientIpHeader\":null,\"replayPasswordKey\":null,\"customProperties\":[],\"postDataCachePeriod\":10,\"retainSessionCache\":false,\"pdpJavascriptRepost\":false,\"pdpStickySessionMode\":\"OFF\",\"overrideRequestPort\":false,\"apacheAuthDirectives\":null,\"clientHostnameHeader\":null,\"fragmentRedirectEnabled\":false,\"pdpStickySessionCookieName\":null,\"logonAndImpersonation\":false},\"ssoWebAgentConfig\":{\"cookieResetList\":[\"\"],\"cdssoRedirectUri\":\"agent/cdsso-oauth2\",\"persistentJwtCookie\":false,\"acceptSsoToken\":false,\"secureCookies\":false,\"cookieResetOnRedirect\":false,\"sameSite\":null,\"cdssoCookieDomain\":[\"\"],\"cookieResetEnabled\":false,\"cookieName\":\"iPlanetDirectoryPro\",\"multivaluePreAuthnCookie\":false,\"httpOnly\":true},\"amServicesWebAgent\":{\"policyClockSkew\":0,\"enableLogoutRegex\":false,\"policyEvaluationRealm\":\"/\",\"fetchPoliciesFromRootResource\":false,\"logoutUrlRegex\":null,\"conditionalLoginUrl\":[\"\"],\"customLoginMode\":0,\"invalidateLogoutSession\":true,\"logoutResetCookies\":[\"\"],\"logoutRedirectUrl\":null,\"regexConditionalLoginUrl\":[\"\"],\"policyCachePollingInterval\":3,\"regexConditionalLoginPattern\":[\"\"],\"logoutRedirectDisabled\":false,\"retrieveClientHostname\":false,\"applicationLogoutUrls\":[\"\"],\"userIdParameterType\":\"session\",\"publicAmUrl\":null,\"userIdParameter\":\"UserToken\",\"amLoginUrl\":[],\"amLogoutUrl\":[\"http://testserverurl.com:8080/UI/Logout\"],\"policyEvaluationApplication\":\"iPlanetAMWebAgentService\",\"ssoCachePollingInterval\":3},\"applicationWebAgentConfig\":{\"profileAttributeFetchMode\":\"NONE\",\"clientIpValidation\":false,\"notEnforcedIpsRegex\":false,\"continuousSecurityCookies\":{},\"fetchAttributesForNotEnforcedUrls\":false,\"ignorePathInfoForNotEnforcedUrls\":true,\"responseAttributeFetchMode\":\"NONE\",\"attributeMultiValueSeparator\":\"|\",\"profileAttributeMap\":{},\"sessionAttributeFetchMode\":\"NONE\",\"continuousSecurityHeaders\":{},\"notEnforcedIpsList\":[\"\"],\"responseAttributeMap\":{},\"notEnforcedUrls\":[\"\"],\"sessionAttributeMap\":{},\"notEnforcedUrlsRegex\":false,\"invertNotEnforcedUrls\":false,\"notEnforcedIps\":[\"\"]},\"globalWebAgentConfig\":{\"agentDebugLevel\":\"Error\",\"secretLabelIdentifier\":null,\"fqdnDefault\":\"testagenturl.com\",\"webSocketConnectionIntervalInMinutes\":30,\"status\":\"Inactive\",\"configurationPollingInterval\":60,\"auditLogLocation\":\"REMOTE\",\"fqdnCheck\":false,\"amLbCookieEnable\":false,\"fqdnMapping\":{},\"accessDeniedUrl\":null,\"resetIdleTime\":false,\"auditAccessType\":\"LOG_NONE\",\"ssoOnlyMode\":false,\"agentgroup\":null,\"notificationsEnabled\":true,\"agentUriPrefix\":\"http://testagenturl.com:8080/amagent\",\"disableJwtAudit\":false,\"jwtName\":\"am-auth-jwt\",\"repositoryLocation\":\"centralized\",\"cdssoRootUrl\":[\"agentRootURL=http://testagenturl.com:8080/\"],\"agentConfigChangeNotificationsEnabled\":true,\"jwtAuditWhitelist\":null},\"_type\":{\"_id\":\"WebAgent\",\"name\":\"Web Agents\",\"collection\":true}}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + "size": 31869, + "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":21,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -12117,17 +25195,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "7320" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12144,16 +25218,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 794, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.496Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:08.669Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -12161,11 +25239,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 66 } }, { - "_id": "021b4afb5ca0748125293d177c012d67", + "_id": "b3fe3510cd92f9e432c12a7d11f8d5a0", "_order": 0, "cache": {}, "request": { @@ -12186,7 +25264,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -12205,18 +25283,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" }, "response": { - "bodySize": 8672, + "bodySize": 1273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8672, - "text": "{\"_id\":\"\",\"_rev\":\"611625667\",\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}}" + "size": 1273, + "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -12254,7 +25332,7 @@ }, { "name": "etag", - "value": "\"611625667\"" + "value": "\"1703131230\"" }, { "name": "expires", @@ -12268,13 +25346,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "1273" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12291,20 +25373,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 792, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.583Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:08.740Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -12312,11 +25390,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 61 } }, { - "_id": "4bf9e4fd3e79d03439fec3771b0435d5", + "_id": "710c38486084ac7b99b5145198d5e62b", "_order": 0, "cache": {}, "request": { @@ -12337,7 +25415,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -12356,23 +25434,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2004, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/OAuth2Client?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" }, "response": { - "bodySize": 62479, + "bodySize": 451, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 62479, - "text": "{\"result\":[{\"_id\":\"EncoreRCSClient\",\"_rev\":\"-1430071664\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"hrlite-client\",\"_rev\":\"-778017687\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\",\"https://volker-demo.encore.forgerock.com\",\"https://volker-demo.encore.forgerock.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"client_credentials\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"hrlite/id_token/callback\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback\",\"https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback\",\"https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback\"],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"1016703842\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test Application\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"60b7b032-68fc-45ed-98ca-262c1985fb7e\",\"_rev\":\"-114090658\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 8:09:47 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"60b7b032-68fc-45ed-98ca-262c1985fb7e\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\",\"_rev\":\"-1994175968\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:30:37 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"0b48992b-a2dd-4ed5-8b07-1fc5d7306da8\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":315360000,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"frodo-idm-access\",\"_rev\":\"1309399033\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"http://localhost:8712\",\"https://openam-frodo-dev.forgeblocks.com\",\"https://openam-frodo-dev.forgeblocks.com:443\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_post\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Frodo IDM Access\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"frodo-idm-access\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:idm:*\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[\"http://localhost:8712/frodo\",\"https://openam-frodo-dev.forgeblocks.com/platform/appAuthHelperRedirect.html\"],\"authorizationCodeLifetime\":120},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"RCSClient\",\"_rev\":\"-1061027698\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"EncoreWindowsRCSClient\",\"_rev\":\"-245014983\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"pairwise\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"rfc7523-client1\",\"_rev\":\"-1045870735\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":604800,\"scopes\":[\"openid\",\"fr:am:*\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"clientName\":[\"rfc7523-client1\"],\"clientType\":\"Public\",\"authorizationCodeLifetime\":120},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE\\\"}]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"49a2981c-e192-4739-a0e6-c7582168bdf5\",\"_rev\":\"2145207361\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 5/13/2023, 8:07:37 PM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"49a2981c-e192-4739-a0e6-c7582168bdf5\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"agentgroup\":null,\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-device\",\"_rev\":\"-304439226\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:ietf:params:oauth:grant-type:device_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"Streaming Services\"],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ios-sdk\",\"_rev\":\"-380249535\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[\"forgerock://oidc_callback\"],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-ciba\",\"_rev\":\"640454649\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"urn:openid:params:grant-type:ciba\",\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":\"{\\\"keys\\\" :[{ \\\"kty\\\": \\\"EC\\\", \\\"d\\\": \\\"bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k\\\", \\\"use\\\": \\\"sig\\\", \\\"crv\\\": \\\"P-256\\\", \\\"kid\\\": \\\"mykey\\\", \\\"x\\\": \\\"E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s\\\", \\\"y\\\": \\\"1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ\\\" }]}\",\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"baseline-web\",\"_rev\":\"1513280137\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"none\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Public\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"profile\",\"address\",\"phone\",\"email\",\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[\"https://sdkapp.example.com:8443\",\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home\",\"https://volker-demo.encore.forgerock.com/demo/sdks\",\"forgerock://oidc_callback\"],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\",\"_rev\":\"1950851195\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"Public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":true,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Created by Frodo on 3/20/2024, 9:46:11 AM\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":3600,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"userpassword\":null,\"status\":\"Active\",\"clientName\":[\"da190d6b-0fcc-42aa-b890-0cef7486e6d4\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"fr:idm:*\"],\"refreshTokenLifetime\":604800,\"scopes\":[\"fr:idm:*\",\"fr:idc:esv:*\",\"dynamic_client_registration\"],\"accessTokenLifetime\":3600,\"redirectionUris\":[],\"authorizationCodeLifetime\":120},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"test2\",\"_rev\":\"190847602\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[\"openid\"],\"refreshTokenLifetime\":0,\"scopes\":[\"openid\",\"fr:idm:*\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[\"test2\"],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"remoteConsentServiceId\":null,\"tokenEncryptionEnabled\":false,\"enableRemoteConsent\":false,\"oidcMayActScript\":\"[Empty]\",\"usePolicyEngineForScope\":false,\"oidcClaimsScript\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"providerOverridesEnabled\":false,\"issueRefreshTokenOnRefreshedToken\":true,\"statelessTokensEnabled\":false},\"advancedOAuth2ClientConfig\":{\"descriptions\":[\"Modified by Frodo on 4/16/2022, 8:41:59 PM\"],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\",\"refresh_token\",\"client_credentials\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"393665749\",\"coreOAuth2ClientConfig\":{\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"status\":\"Active\",\"accessTokenLifetime\":0,\"redirectionUris\":[],\"clientName\":[],\"clientType\":\"Confidential\",\"authorizationCodeLifetime\":0},\"advancedOAuth2ClientConfig\":{\"descriptions\":[],\"requestUris\":[],\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"name\":[],\"contacts\":[],\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"updateAccessToken\":null,\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"]},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"jwkStoreCacheMissCacheTime\":60000,\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"mTLSTrustedCert\":null,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"jwksUri\":null,\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"clientSessionUri\":null,\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":17,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":17,\"remainingPagedResults\":-1}" + "size": 451, + "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -12394,7 +25467,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -12408,6 +25481,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1421046051\"" + }, { "name": "expires", "value": "0" @@ -12420,13 +25497,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "451" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12443,20 +25524,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.655Z", - "time": 107, + "startedDateTime": "2024-11-05T21:22:08.807Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -12464,11 +25541,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 107 + "wait": 64 } }, { - "_id": "567773b06e735b1cc8a5ad23a155606f", + "_id": "9622062f1bc993445582b8c38d8bd6c4", "_order": 0, "cache": {}, "request": { @@ -12489,11 +25566,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -12508,18 +25585,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" }, "response": { - "bodySize": 1438, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1438, - "text": "{\"postauthprocess\":{\"usernameGeneratorClass\":\"com.sun.identity.authentication.spi.DefaultUserIDGenerator\",\"usernameGeneratorEnabled\":true,\"loginPostProcessClass\":[],\"loginSuccessUrl\":[\"/enduser/?realm=/alpha\"],\"userAttributeSessionMapping\":[],\"loginFailureUrl\":[]},\"security\":{\"zeroPageLoginEnabled\":false,\"zeroPageLoginReferrerWhiteList\":[],\"zeroPageLoginAllowedWithoutReferrer\":true,\"moduleBasedAuthEnabled\":false,\"sharedSecret\":{\"$string\":\"&{am.authentication.shared.secret}\"},\"addClearSiteDataHeader\":true,\"keyAlias\":\"test\"},\"trees\":{\"suspendedAuthenticationTimeout\":1440,\"authenticationSessionsStateManagement\":\"JWT\",\"authenticationSessionsMaxDuration\":5,\"authenticationTreeCookieHttpOnly\":true,\"authenticationSessionsWhitelist\":false},\"accountlockout\":{\"loginFailureLockoutMode\":false,\"storeInvalidAttemptsInDataStore\":true,\"lockoutDuration\":0,\"lockoutDurationMultiplier\":1,\"lockoutWarnUserCount\":0,\"loginFailureCount\":5,\"loginFailureDuration\":300},\"core\":{\"adminAuthModule\":\"Login\",\"orgConfig\":\"Login\"},\"general\":{\"userStatusCallbackPlugins\":[],\"statelessSessionsEnabled\":false,\"locale\":\"en_US\",\"externalLoginPageUrl\":\"https://volker-demo.encore.forgerock.com/demo/webapp/en/home/redirect\",\"twoFactorRequired\":false,\"identityType\":[\"agent\",\"user\"],\"defaultAuthLevel\":0},\"userprofile\":{\"dynamicProfileCreation\":\"false\",\"defaultRole\":[],\"aliasAttributeName\":[\"uid\"]},\"_id\":\"\",\"_type\":{\"_id\":\"EMPTY\",\"name\":\"Core\",\"collection\":false}}" + "size": 256, + "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -12557,7 +25634,7 @@ }, { "name": "etag", - "value": "\"-1952817720\"" + "value": "\"1389809903\"" }, { "name": "expires", @@ -12573,15 +25650,15 @@ }, { "name": "content-length", - "value": "1438" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12600,14 +25677,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.767Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:08.808Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -12615,15 +25692,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 68 } }, { - "_id": "f403c414204898428169f781b6348757", + "_id": "2a438656c535bf6497f6b74fa011172b", "_order": 0, "cache": {}, "request": { - "bodySize": 2, + "bodySize": 0, "cookies": [], "headers": [ { @@ -12640,20 +25717,16 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", "value": "Bearer " }, - { - "name": "content-length", - "value": "2" - }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -12663,28 +25736,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2043, + "headersSize": 2069, "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/json", - "params": [], - "text": "{}" - }, - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" }, "response": { - "bodySize": 10076, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10076, - "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" + "size": 296, + "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -12706,7 +25769,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -12720,6 +25783,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-626658673\"" + }, { "name": "expires", "value": "0" @@ -12732,13 +25799,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "296" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12755,20 +25826,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.834Z", - "time": 92, + "startedDateTime": "2024-11-05T21:22:08.809Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -12776,11 +25843,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 66 } }, { - "_id": "fdbfb6d6c3db5fe2a6944c62628e38e6", + "_id": "3a0066f1671cf4c1502e674e85b5c1b1", "_order": 0, "cache": {}, "request": { @@ -12801,11 +25868,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -12820,18 +25887,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/58d29080-4563-480b-89bb-1e7719776a21" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" }, "response": { - "bodySize": 1539, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1539, - "text": "{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 436, + "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -12853,7 +25920,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -12867,6 +25934,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2035832000\"" + }, { "name": "expires", "value": "0" @@ -12881,15 +25952,15 @@ }, { "name": "content-length", - "value": "1539" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:11 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -12908,13 +25979,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:11.931Z", + "startedDateTime": "2024-11-05T21:22:08.810Z", "time": 66, "timings": { "blocked": -1, @@ -12927,7 +25998,7 @@ } }, { - "_id": "0a5b6821545d411bf41eef7f3fef8502", + "_id": "56a36eacbdf48c30f1c8494b58810a6f", "_order": 0, "cache": {}, "request": { @@ -12948,11 +26019,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -12967,18 +26038,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/23143919-6b78-40c3-b25e-beca19b229e0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" }, "response": { - "bodySize": 1437, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1437, - "text": "{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 307, + "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -13000,7 +26071,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13014,6 +26085,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1331445210\"" + }, { "name": "expires", "value": "0" @@ -13028,15 +26103,15 @@ }, { "name": "content-length", - "value": "1437" + "value": "307" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13055,14 +26130,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.002Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:08.880Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -13070,11 +26145,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 57 } }, { - "_id": "442bd2ef6d9a89c57b1ccd90ec88eb38", + "_id": "84d251b736d069d67c1b7fdb6458ee02", "_order": 0, "cache": {}, "request": { @@ -13095,11 +26170,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13114,18 +26189,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2017, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/484e6246-dbc6-4288-97e6-54e55431402e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/FrodoTest" }, "response": { - "bodySize": 3085, + "bodySize": 2431, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3085, - "text": "{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 2431, + "text": "{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -13147,7 +26222,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13161,6 +26236,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1975823900\"" + }, { "name": "expires", "value": "0" @@ -13175,15 +26254,15 @@ }, { "name": "content-length", - "value": "3085" + "value": "2431" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:08 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13202,14 +26281,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.068Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:08.941Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -13217,11 +26296,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 58 } }, { - "_id": "8109fc84b27d7c657a7c1e36279ec52c", + "_id": "34439a0cc18bbf2011e5612fe1d744bb", "_order": 0, "cache": {}, "request": { @@ -13242,11 +26321,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13261,18 +26340,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2062, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/6325cf19-a49b-471e-8d26-7e4df76df0e2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461" }, "response": { - "bodySize": 1442, + "bodySize": 612, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1442, - "text": "{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 612, + "text": "{\"_id\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\",\"_rev\":\"370099639\",\"metaAlias\":\"/alpha/iSPAzure\",\"allowCreate\":true,\"authnContextClassRef\":[],\"authnContextDeclRef\":[],\"authComparison\":\"MINIMUM\",\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"requestBinding\":\"HTTP_REDIRECT\",\"binding\":\"HTTP_ARTIFACT\",\"forceAuthn\":false,\"idpEntityId\":\"urn:federation:MicrosoftOnline\",\"isPassive\":false,\"_type\":{\"_id\":\"product-Saml2Node\",\"name\":\"SAML2 Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -13294,7 +26373,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13308,6 +26387,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"370099639\"" + }, { "name": "expires", "value": "0" @@ -13322,15 +26405,15 @@ }, { "name": "content-length", - "value": "1442" + "value": "612" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13349,14 +26432,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.200Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:09.008Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -13364,11 +26447,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 75 } }, { - "_id": "8b27a3f6ee15f60734dec43325ccf443", + "_id": "d9f16c7616e73b22bb652e7dc288cbc4", "_order": 0, "cache": {}, "request": { @@ -13389,11 +26472,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13408,18 +26491,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/dbe0bf9a-72aa-49d5-8483-9db147985a47" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046" }, "response": { - "bodySize": 7225, + "bodySize": 641, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 7225, - "text": "{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 641, + "text": "{\"_id\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\",\"_rev\":\"-1455503261\",\"nodes\":[{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Username\"},{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -13441,7 +26524,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13455,6 +26538,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1455503261\"" + }, { "name": "expires", "value": "0" @@ -13469,15 +26556,15 @@ }, { "name": "content-length", - "value": "7225" + "value": "641" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13496,14 +26583,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.272Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:09.008Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -13511,11 +26598,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 81 } }, { - "_id": "7430e4cabb066ba655343f3a21f9054a", + "_id": "db405b41f64e349ee40e45abfbf1f026", "_order": 0, "cache": {}, "request": { @@ -13536,11 +26623,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13555,18 +26642,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1998, + "headersSize": 2062, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts/73cecbfc-dad0-4395-be6a-6858ee3a80e5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e" }, "response": { - "bodySize": 2773, + "bodySize": 349, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2773, - "text": "{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}" + "size": 349, + "text": "{\"_id\":\"bf153f37-83dd-4f39-aa0c-74135430242e\",\"_rev\":\"707624425\",\"emailTemplateName\":\"welcome\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"_type\":{\"_id\":\"EmailTemplateNode\",\"name\":\"Email Template Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"EMAIL_SENT\",\"displayName\":\"Email Sent\"},{\"id\":\"EMAIL_NOT_SENT\",\"displayName\":\"Email Not Sent\"}]}" }, "cookies": [], "headers": [ @@ -13588,7 +26675,7 @@ }, { "name": "content-api-version", - "value": "resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13602,6 +26689,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"707624425\"" + }, { "name": "expires", "value": "0" @@ -13616,15 +26707,15 @@ }, { "name": "content-length", - "value": "2773" + "value": "349" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13643,14 +26734,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 767, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.340Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:09.009Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -13658,11 +26749,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 75 } }, { - "_id": "31ad319ca7114c6e8608b7f072b78668", + "_id": "7db4363f6645ba01722de86b1000051e", "_order": 0, "cache": {}, "request": { @@ -13683,7 +26774,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13698,49 +26793,44 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2083, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - }, - { - "name": "_pageSize", - "value": "1000" - }, - { - "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3" }, "response": { - "bodySize": 4672, + "bodySize": 533, "content": { - "mimeType": "application/json;charset=utf-8", - "size": 4672, - "text": "{\"result\":[{\"_id\":\"0f357b7e-6c54-4351-a094-43916877d7e5\",\"_rev\":\"00f417da-de18-42cd-b4e4-d8af90fe833c-3073\",\"authoritative\":false,\"connectorId\":\"Azure\",\"description\":\"Azure\",\"icon\":\"\",\"mappingNames\":[\"systemAzureUser_managedAlpha_user\",\"managedAlpha_user_systemAzureUser\",\"systemAzure__group___managedAlpha_assignment\",\"systemAzureDirectoryrole_managedAlpha_assignment\",\"systemAzureServiceplan_managedAlpha_assignment\"],\"name\":\"Azure\",\"templateName\":\"azure.ad\",\"templateVersion\":\"3.3\",\"uiConfig\":{\"objectTypes\":{\"User\":{\"properties\":{\"__PASSWORD__\":{\"displayName\":\"Password\",\"order\":17,\"userSpecific\":true},\"__roles__\":{\"displayName\":\"Roles\",\"nonAccountObject\":\"directoryRole\",\"order\":3,\"userSpecific\":true},\"__servicePlanIds__\":{\"displayName\":\"Service Plan Ids\",\"nonAccountObject\":\"servicePlan\",\"order\":27,\"userSpecific\":true},\"accountEnabled\":{\"displayName\":\"Account Enabled\",\"order\":0,\"userSpecific\":true},\"city\":{\"displayName\":\"City\",\"order\":5,\"userSpecific\":true},\"companyName\":{\"displayName\":\"Company Name\",\"order\":4,\"userSpecific\":true},\"country\":{\"displayName\":\"Country\",\"order\":6,\"userSpecific\":true},\"department\":{\"displayName\":\"Department\",\"order\":7,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":8,\"userSpecific\":true},\"givenName\":{\"displayName\":\"Given Name\",\"order\":9,\"userSpecific\":true},\"jobTitle\":{\"displayName\":\"Job Title\",\"order\":11,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"isDisplay\":true,\"isMail\":true,\"order\":1,\"userSpecific\":true},\"mailNickname\":{\"displayName\":\"Mail Nickname\",\"order\":12,\"userSpecific\":true},\"manager\":{\"displayName\":\"Manager\",\"order\":13,\"userSpecific\":true},\"memberOf\":{\"displayName\":\"Member Of\",\"nonAccountObject\":\"__GROUP__\",\"order\":2,\"userSpecific\":true},\"mobilePhone\":{\"displayName\":\"Mobile Phone\",\"order\":14,\"userSpecific\":true},\"onPremisesImmutableId\":{\"displayName\":\"On Premises Immutable Id\",\"order\":10,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":15,\"userSpecific\":true},\"otherMails\":{\"displayName\":\"Other Mails\",\"order\":16,\"userSpecific\":true},\"postalCode\":{\"displayName\":\"Postal Code\",\"order\":18,\"userSpecific\":true},\"preferredLanguage\":{\"displayName\":\"Preferred Language\",\"order\":19,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":20,\"userSpecific\":true},\"state\":{\"displayName\":\"State\",\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"displayName\":\"Street Address\",\"order\":22,\"userSpecific\":true},\"surname\":{\"displayName\":\"Surname\",\"order\":23,\"userSpecific\":true},\"usageLocation\":{\"displayName\":\"Usage Location\",\"order\":24,\"userSpecific\":true},\"userPrincipalName\":{\"displayName\":\"User Principal Name\",\"isUsername\":true,\"order\":25,\"userSpecific\":true},\"userType\":{\"displayName\":\"User Type\",\"order\":26,\"userSpecific\":true}}},\"__GROUP__\":{\"properties\":{\"__NAME__\":{\"displayName\":\"Name\",\"order\":2,\"userSpecific\":true},\"description\":{\"displayName\":\"Description\",\"order\":4,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":3,\"userSpecific\":true},\"groupTypes\":{\"displayName\":\"Group Types\",\"order\":10,\"userSpecific\":true},\"id\":{\"displayName\":\"Id\",\"order\":0,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"order\":5,\"userSpecific\":true},\"mailEnabled\":{\"displayName\":\"Mail Enabled\",\"order\":6,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":7,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":8,\"userSpecific\":true},\"securityEnabled\":{\"displayName\":\"Security Enabled\",\"order\":9,\"userSpecific\":true},\"type\":{\"displayName\":\"Type\",\"order\":1,\"userSpecific\":true}}},\"directoryRole\":{\"properties\":{\"description\":{\"displayName\":\"description\",\"order\":0,\"userSpecific\":true},\"displayName\":{\"displayName\":\"displayName\",\"order\":1,\"userSpecific\":true}}},\"servicePlan\":{\"properties\":{\"__NAME__\":{\"displayName\":\"__NAME__\",\"order\":5,\"userSpecific\":true},\"appliesTo\":{\"displayName\":\"appliesTo\",\"order\":0,\"userSpecific\":true},\"provisioningStatus\":{\"displayName\":\"provisioningStatus\",\"order\":2,\"userSpecific\":true},\"servicePlanId\":{\"displayName\":\"servicePlanId\",\"order\":1,\"userSpecific\":true},\"servicePlanName\":{\"displayName\":\"servicePlanName\",\"order\":4,\"userSpecific\":true},\"subscriberSkuId\":{\"displayName\":\"subscriberSkuId\",\"order\":3,\"userSpecific\":true}}}}}},{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\",\"authoritative\":true,\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\",\"description\":\"desc\"}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "mimeType": "application/json;charset=UTF-8", + "size": 533, + "text": "{\"_id\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"_rev\":\"1250582707\",\"nodes\":[{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" }, { "name": "cache-control", - "value": "no-store" + "value": "private" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=utf-8" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "cross-origin-opener-policy", @@ -13750,6 +26840,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1250582707\"" + }, { "name": "expires", "value": "0" @@ -13759,20 +26853,20 @@ "value": "no-cache" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-frame-options", - "value": "DENY" + "name": "content-length", + "value": "533" }, { - "name": "content-length", - "value": "4672" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13791,14 +26885,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 617, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.402Z", - "time": 57, + "startedDateTime": "2024-11-05T21:22:09.009Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -13806,11 +26900,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 76 } }, { - "_id": "082cd7a23ef51a8fbb1328a7d8d423b0", + "_id": "963e1f3ff05d0f498b612ae093a10e18", "_order": 0, "cache": {}, "request": { @@ -13831,11 +26925,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -13850,23 +26944,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1967, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/policies?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67" }, "response": { - "bodySize": 4113, + "bodySize": 395, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4113, - "text": "{\"result\":[{\"_id\":\"FeatureStorePolicy\",\"_rev\":\"1728915487133\",\"name\":\"FeatureStorePolicy\",\"active\":true,\"description\":\"FeatureStorePolicy\",\"resources\":[\"https://www.example.com:443/*\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.133Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.248Z\"},{\"_id\":\"HR-webapp\",\"_rev\":\"1728915487538\",\"name\":\"HR-webapp\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/apps/hrlite/*\",\"*://*:*/apps/hrlite?*\",\"*://*:*/apps/contractor\",\"*://*:*/apps/contractor/*\",\"*://*:*/apps/contractor?*\",\"*://*:*/apps/hrlite\"],\"applicationName\":\"EdgePolicySet\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"Identity\",\"subjectValues\":[\"id=hradmins,ou=group,o=alpha,ou=services,ou=am-config\"]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.538Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.1Z\"},{\"_id\":\"Test Policy\",\"_rev\":\"1728915487679\",\"name\":\"Test Policy\",\"active\":false,\"description\":\"Test Policy Description\",\"resources\":[\"lorem://ipsum:dolor/sit\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{\"POST\":false,\"GET\":true},\"subject\":{\"type\":\"NONE\"},\"condition\":{\"type\":\"AND\",\"conditions\":[{\"type\":\"SimpleTime\",\"startTime\":\"12:00\",\"endTime\":\"11:59\",\"startDay\":\"mon\",\"endDay\":\"fri\",\"startDate\":\"2023:08:01\",\"endDate\":\"2023:08:02\",\"enforcementTimeZone\":\"GMT\"},{\"type\":\"Script\",\"scriptId\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\"}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"resourceAttributes\":[{\"type\":\"Static\",\"propertyName\":\"Test_Name\",\"propertyValues\":[\"Test_Value\"]}],\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.679Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.356Z\"},{\"_id\":\"actions\",\"_rev\":\"1728915487796\",\"name\":\"actions\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/actions\"],\"applicationName\":\"data\",\"actionValues\":{\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.796Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.202Z\"},{\"_id\":\"activity\",\"_rev\":\"1728915488165\",\"name\":\"activity\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/activity\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:08.165Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.288Z\"},{\"_id\":\"apply\",\"_rev\":\"1728915488525\",\"name\":\"apply\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/apply\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"condition\":{\"type\":\"Transaction\",\"authenticationStrategy\":\"AuthenticateToTreeConditionAdvice\",\"strategySpecifier\":\"Baseline-Transaction\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:08.525Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.368Z\"}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 395, + "text": "{\"_id\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\",\"_rev\":\"60612304\",\"clientType\":\"BROWSER\",\"script\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"usernameAttribute\":\"userName\",\"_type\":{\"_id\":\"SocialProviderHandlerNode\",\"name\":\"Legacy Social Provider Handler Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" }, "cookies": [], "headers": [ @@ -13888,7 +26977,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -13902,6 +26991,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"60612304\"" + }, { "name": "expires", "value": "0" @@ -13916,15 +27009,15 @@ }, { "name": "content-length", - "value": "4113" + "value": "395" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -13943,14 +27036,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.463Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:09.010Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -13958,11 +27051,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 74 } }, { - "_id": "6c28db473956c916f36338201b5c11ed", + "_id": "ae1ae17ca179e4ed5ede1b4a7396d093", "_order": 0, "cache": {}, "request": { @@ -13983,11 +27076,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14002,27 +27095,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2057, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b" }, "response": { - "bodySize": 4684, + "bodySize": 352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4684, - "text": "{\"result\":[{\"name\":\"EdgePolicySet\",\"displayName\":null,\"description\":\"Policy Set EdgePolicySet\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"ClientId\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"Expiration\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"Uma\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"creationDate\":1669672555404,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915485939,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"FeatureStorePolicySet\",\"displayName\":\"FeatureStorePolicySet\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=8efaa5b6-8c98-4489-9b21-ee41f5589ab7,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"creationDate\":1695912757709,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486071,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"data\",\"displayName\":\"Baseline Demo\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=df492700-ba67-4345-83a9-58305850596c,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"IPv4\",\"SimpleTime\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"OAuth2Scope\",\"SessionProperty\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"creationDate\":1610648242757,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486243,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486667,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]},{\"name\":\"test-policy-set\",\"displayName\":\"Test Policy Set\",\"description\":\"Test Policy Set Description\",\"attributeNames\":[],\"createdBy\":\"id=fbdeb2a9-beb6-4a14-ae66-e35f16ce421d,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"creationDate\":1693494279401,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486893,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"]}],\"resultCount\":5,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 352, + "text": "{\"_id\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"_rev\":\"-495106283\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -14044,7 +27128,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14058,6 +27142,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-495106283\"" + }, { "name": "expires", "value": "0" @@ -14072,15 +27160,15 @@ }, { "name": "content-length", - "value": "4684" + "value": "352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14099,14 +27187,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.549Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:09.010Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -14114,11 +27202,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 81 } }, { - "_id": "379e8f1f5314f19b1c94973252aa4422", + "_id": "1e60c1d5bcea0926192c9cab2d4ecad0", "_order": 0, "cache": {}, "request": { @@ -14139,11 +27227,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14158,27 +27246,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67" }, "response": { - "bodySize": 3600, + "bodySize": 475, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3600, - "text": "{\"result\":[{\"uuid\":\"993eba78-1c3f-4f27-b205-b4b29418f831\",\"name\":\"FrodoTestResourceType11\",\"description\":\"Frodo Test Resource Type Eleven\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400290,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478164},{\"uuid\":\"3fc799d7-b73f-49e0-a70b-e37990e54e56\",\"name\":\"FrodoTestResourceType12\",\"description\":\"Frodo Test Resource Type Twelve\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400511,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478723},{\"uuid\":\"0aa5ed25-0c62-4ff5-9a42-3bda8c5cbb76\",\"name\":\"FrodoTestResourceType13\",\"description\":\"Frodo Test Resource Type Thirteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400601,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479106},{\"uuid\":\"119b291c-40b3-4b1e-8d84-c2a561a2cb1f\",\"name\":\"FrodoTestResourceType14\",\"description\":\"Frodo Test Resource Type Fourteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400702,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479259},{\"uuid\":\"3c5f13af-ca17-403e-b47d-d15263cce954\",\"name\":\"FrodoTestResourceType15\",\"description\":\"Frodo Test Resource Type Fifteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400790,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479417},{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479805},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479980},{\"uuid\":\"1f445c60-0828-41ac-9a4e-a16c026e9536\",\"name\":\"test_resource\",\"description\":\"\",\"patterns\":[\"type1/node1\",\"type2/node2\"],\"actions\":{\"allow\":true},\"createdBy\":\"id=1e9280f6-eab6-467e-889c-83d147c8b936,ou=user,ou=am-config\",\"creationDate\":1725916543746,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915480141}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 475, + "text": "{\"_id\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"_rev\":\"-1432043869\",\"useUniversalIdForUsername\":true,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -14200,7 +27279,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14214,6 +27293,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1432043869\"" + }, { "name": "expires", "value": "0" @@ -14228,15 +27311,15 @@ }, { "name": "content-length", - "value": "3600" + "value": "475" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14255,14 +27338,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.622Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:09.011Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -14270,11 +27353,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 77 } }, { - "_id": "d5f3c78a168efd303e4ac23237ac992b", + "_id": "24f7f35031d7af469ab0b9edf27d69cf", "_order": 0, "cache": {}, "request": { @@ -14295,11 +27378,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14314,23 +27397,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1979, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556" }, "response": { - "bodySize": 389179, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 389179, - "text": "{\"result\":[{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":66,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 259, + "text": "{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"_rev\":\"1005646283\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14352,7 +27430,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -14366,6 +27444,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1005646283\"" + }, { "name": "expires", "value": "0" @@ -14378,13 +27460,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "259" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14401,20 +27487,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.694Z", - "time": 115, + "startedDateTime": "2024-11-05T21:22:09.097Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -14422,11 +27504,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 71 } }, { - "_id": "e374bc9e42d7fe4e315057818a2f37e4", + "_id": "2ded1da71fd6943aec890c2900e80cf5", "_order": 0, "cache": {}, "request": { @@ -14447,11 +27529,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14466,23 +27548,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2066, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782" }, "response": { - "bodySize": 148894, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148894, - "text": "{\"result\":[{\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"Okta Profile Normalization\",\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"description\":\"Script that uses secrets and variables\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test-script-with-secrets-and-variables\",\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"description\":\"Always redirect browser pre-auth\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_IDP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Dummy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Dummy\",\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"EmailAsUsername\",\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"description\":\"set per level shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"level\",\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Other Example Library Script\",\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"description\":\"Normalizes raw profile data from ADFS\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"ADFS Profile Normalization (JS)\",\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Inactive Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Inactive Device Match Script\",\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Check if mode has already been set.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"mode\",\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"GitHub Profile Normalization (VS)\",\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Format Username\",\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"description\":\"set the same shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"shared\",\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"description\":\"My Example Script Using Libraries\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Script Using Libraries\",\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"Custom Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Custom Device Match Script\",\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_SP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"FrodoSPAdapter\",\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"description\":\"My Example Library\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Library\",\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default alpha realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OIDC Claims Script\",\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" + "size": 258, + "text": "{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"_rev\":\"695550246\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14518,6 +27595,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"695550246\"" + }, { "name": "expires", "value": "0" @@ -14530,13 +27611,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "258" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:12 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14553,20 +27638,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.814Z", - "time": 111, + "startedDateTime": "2024-11-05T21:22:09.097Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -14574,11 +27655,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 111 + "wait": 74 } }, { - "_id": "02e90a0a7d26ea2e13d332c6c0b5cfcf", + "_id": "d3af3161eacb107f66633f5e808922cc", "_order": 0, "cache": {}, "request": { @@ -14599,11 +27680,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14618,18 +27699,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf" }, "response": { - "bodySize": 176, + "bodySize": 440, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 176, - "text": "{\"_id\":\"\",\"_rev\":\"-548141557\",\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" + "size": 440, + "text": "{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"_rev\":\"-1175277026\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -14667,7 +27748,7 @@ }, { "name": "etag", - "value": "\"-548141557\"" + "value": "\"-1175277026\"" }, { "name": "expires", @@ -14683,15 +27764,15 @@ }, { "name": "content-length", - "value": "176" + "value": "440" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14710,14 +27791,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.935Z", - "time": 92, + "startedDateTime": "2024-11-05T21:22:09.098Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -14725,11 +27806,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 65 } }, { - "_id": "b616cbb332784de37b63e08eddb36a7a", + "_id": "d39732c018c2ba2f67bec6ab36304059", "_order": 0, "cache": {}, "request": { @@ -14750,11 +27831,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14769,23 +27850,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2058, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21" }, "response": { - "bodySize": 13, + "bodySize": 439, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 439, + "text": "{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"_rev\":\"-409686295\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" }, "cookies": [], "headers": [ @@ -14821,6 +27897,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-409686295\"" + }, { "name": "expires", "value": "0" @@ -14835,15 +27915,15 @@ }, { "name": "content-length", - "value": "13" + "value": "439" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -14862,14 +27942,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.935Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:09.099Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -14877,11 +27957,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 63 } }, { - "_id": "887c82329026ac2e059fd02a3332aa14", + "_id": "e69a9f5d2435f5f6663f35a3489959ad", "_order": 0, "cache": {}, "request": { @@ -14902,11 +27982,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -14921,18 +28001,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524" }, "response": { - "bodySize": 365, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 365, - "text": "{\"_id\":\"\",\"_rev\":\"-439720564\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 258, + "text": "{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"_rev\":\"148590759\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -14970,7 +28050,7 @@ }, { "name": "etag", - "value": "\"-439720564\"" + "value": "\"148590759\"" }, { "name": "expires", @@ -14986,15 +28066,15 @@ }, { "name": "content-length", - "value": "365" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15013,14 +28093,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.936Z", - "time": 133, + "startedDateTime": "2024-11-05T21:22:09.099Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -15028,11 +28108,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 133 + "wait": 71 } }, { - "_id": "0336fc6ba91110f3e276bf8a288b981f", + "_id": "b1e3860191f9205d1a40b2050ac6012e", "_order": 0, "cache": {}, "request": { @@ -15053,11 +28133,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15072,18 +28152,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1985, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j00" }, "response": { - "bodySize": 116, + "bodySize": 1588, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 116, - "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" + "size": 1588, + "text": "{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -15121,7 +28201,7 @@ }, { "name": "etag", - "value": "\"6506753\"" + "value": "\"214130857\"" }, { "name": "expires", @@ -15137,15 +28217,15 @@ }, { "name": "content-length", - "value": "116" + "value": "1588" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15164,14 +28244,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 783, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.937Z", - "time": 93, + "startedDateTime": "2024-11-05T21:22:09.176Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -15179,11 +28259,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 70 } }, { - "_id": "52ae24f6c29871e39dfc419a68492bc8", + "_id": "598416e130a75705f73791f1e78fb8e3", "_order": 0, "cache": {}, "request": { @@ -15204,11 +28284,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15223,23 +28303,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2006, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/01d3785f-7fb4-44a7-9458-72c380a9818f" }, "response": { - "bodySize": 256, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"result\":[{\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"username\":\"vscheuber@gmail.com\",\"sslState\":\"SSL\",\"hostname\":\"smtp.gmail.com\",\"_id\":\"gmail\",\"_type\":{\"_id\":\"smtpTransports\",\"name\":\"SMTP\",\"collection\":true}}]}" + "size": 298, + "text": "{\"_id\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"_rev\":\"-853523981\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15275,6 +28350,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-853523981\"" + }, { "name": "expires", "value": "0" @@ -15289,15 +28368,15 @@ }, { "name": "content-length", - "value": "256" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15316,14 +28395,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.937Z", - "time": 149, + "startedDateTime": "2024-11-05T21:22:09.253Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -15331,11 +28410,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 149 + "wait": 75 } }, { - "_id": "a40075bb0ef119b2ce419f243f66c32e", + "_id": "13c60f0b6a4038c2c8d28c16159bbe62", "_order": 0, "cache": {}, "request": { @@ -15356,11 +28435,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15375,18 +28454,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1995, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/39b48197-f4be-42b9-800a-866587b4b9b5" }, "response": { - "bodySize": 837, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 837, - "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"_rev\":\"1609152298\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15424,7 +28503,7 @@ }, { "name": "etag", - "value": "\"-1504612008\"" + "value": "\"1609152298\"" }, { "name": "expires", @@ -15440,15 +28519,15 @@ }, { "name": "content-length", - "value": "837" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15467,14 +28546,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.938Z", - "time": 100, + "startedDateTime": "2024-11-05T21:22:09.254Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -15482,11 +28561,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 100 + "wait": 93 } }, { - "_id": "383887ff55b9d3e93c4f48578c466099", + "_id": "4c6da772b271182ec7655070aa710eeb", "_order": 0, "cache": {}, "request": { @@ -15507,11 +28586,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15526,23 +28605,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2010, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/513a2ab4-f0b8-4f94-b840-6fe14796cc84" }, "response": { - "bodySize": 13, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 529, + "text": "{\"_id\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"_rev\":\"-318011549\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -15578,6 +28652,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-318011549\"" + }, { "name": "expires", "value": "0" @@ -15592,15 +28670,15 @@ }, { "name": "content-length", - "value": "13" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15619,14 +28697,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.938Z", - "time": 126, + "startedDateTime": "2024-11-05T21:22:09.255Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -15634,11 +28712,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 126 + "wait": 90 } }, { - "_id": "a9f1d3fc495909d075260ee04e3ca64e", + "_id": "b88182778c7d6e3421f31467b46cb975", "_order": 0, "cache": {}, "request": { @@ -15659,11 +28737,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15678,23 +28756,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c1e8d61-0c48-44ba-86dc-52e9555b6aeb" }, "response": { - "bodySize": 13, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 298, + "text": "{\"_id\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\",\"_rev\":\"1672315064\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15730,6 +28803,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1672315064\"" + }, { "name": "expires", "value": "0" @@ -15744,15 +28821,15 @@ }, { "name": "content-length", - "value": "13" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15771,14 +28848,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.939Z", - "time": 125, + "startedDateTime": "2024-11-05T21:22:09.255Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -15786,11 +28863,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 125 + "wait": 94 } }, { - "_id": "f4d9d124d04a427d9d2de2764e6510be", + "_id": "f18f3d1b855cb17e438fbd4cd97a4d7f", "_order": 0, "cache": {}, "request": { @@ -15811,11 +28888,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15830,18 +28907,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ba503a1e-633e-4d0d-ba18-c9a9b1105b5b" }, "response": { - "bodySize": 279, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 297, + "text": "{\"_id\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"_rev\":\"970966657\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -15879,7 +28956,7 @@ }, { "name": "etag", - "value": "\"-948959244\"" + "value": "\"970966657\"" }, { "name": "expires", @@ -15895,15 +28972,15 @@ }, { "name": "content-length", - "value": "279" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -15922,14 +28999,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.939Z", - "time": 186, + "startedDateTime": "2024-11-05T21:22:09.256Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -15937,11 +29014,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 186 + "wait": 93 } }, { - "_id": "612f52313bf9113c27e4f24671b03c02", + "_id": "f88e483229e4ef5061285aa47c86b596", "_order": 0, "cache": {}, "request": { @@ -15962,11 +29039,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -15981,23 +29058,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d17ffaa1-2c61-4abd-9bb1-2559160d0a5c" + }, + "response": { + "bodySize": 299, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 299, + "text": "{\"_id\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\",\"_rev\":\"-2064120483\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-2064120483\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "299" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees?_action=nextdescendents" + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:09.256Z", + "time": 110, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 110 + } + }, + { + "_id": "7325ee70e86396f36ff64734fc8ec584", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j01" }, "response": { - "bodySize": 13, + "bodySize": 1619, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1619, + "text": "{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -16033,6 +29256,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-523887030\"" + }, { "name": "expires", "value": "0" @@ -16047,15 +29274,15 @@ }, { "name": "content-length", - "value": "13" + "value": "1619" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16074,14 +29301,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.940Z", - "time": 213, + "startedDateTime": "2024-11-05T21:22:09.370Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -16089,11 +29316,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 213 + "wait": 60 } }, { - "_id": "f3f6a254e1c6a207b4a25b1228841a6e", + "_id": "d1e3cdda9102bc0e93c2f874ead8ca76", "_order": 0, "cache": {}, "request": { @@ -16114,11 +29341,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16133,18 +29360,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1999, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6674b4ac-dd89-4e13-9440-6f81194e3a22" }, "response": { - "bodySize": 148, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\",\"_rev\":\"-572093512\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -16182,7 +29409,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"-572093512\"" }, { "name": "expires", @@ -16198,15 +29425,15 @@ }, { "name": "content-length", - "value": "148" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16231,8 +29458,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.940Z", - "time": 291, + "startedDateTime": "2024-11-05T21:22:09.438Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -16240,11 +29467,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 291 + "wait": 95 } }, { - "_id": "ad5b89c263fdb9ea6316cbdb6faab3da", + "_id": "dd1d09643b1692c97bccfbaf7259d98e", "_order": 0, "cache": {}, "request": { @@ -16265,11 +29492,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16284,23 +29511,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2024, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/89ce5d57-82fa-4d58-8d15-0329f7dbd7e7" }, "response": { - "bodySize": 10076, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 10076, - "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" + "size": 299, + "text": "{\"_id\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"_rev\":\"-1475826260\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -16336,6 +29558,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1475826260\"" + }, { "name": "expires", "value": "0" @@ -16348,13 +29574,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "299" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16371,20 +29601,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.942Z", - "time": 302, + "startedDateTime": "2024-11-05T21:22:09.439Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -16392,11 +29618,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 302 + "wait": 80 } }, { - "_id": "333a2d53709afae6dd06db50fd306b33", + "_id": "ca1ff8137135c91da78e9a6a657b7418", "_order": 0, "cache": {}, "request": { @@ -16417,11 +29643,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16436,23 +29662,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bb1e96af-f316-4eb0-b1c6-36b3f1af9e35" }, "response": { - "bodySize": 13, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 254, + "text": "{\"_id\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"_rev\":\"2105288152\",\"tree\":\"j00\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -16488,6 +29709,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"2105288152\"" + }, { "name": "expires", "value": "0" @@ -16502,15 +29727,15 @@ }, { "name": "content-length", - "value": "13" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -16529,14 +29754,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.944Z", - "time": 279, + "startedDateTime": "2024-11-05T21:22:09.440Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -16544,11 +29769,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 279 + "wait": 92 } }, { - "_id": "22bbc7fa51ae11fc12551f293689b75c", + "_id": "c42914f0baab01a83cd1ab498ce85ae0", "_order": 0, "cache": {}, "request": { @@ -16569,11 +29794,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16588,36 +29813,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1991, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bdfbe97c-1ff4-4162-85bc-47f6f14b2c66" }, "response": { - "bodySize": 114, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 298, + "text": "{\"_id\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\",\"_rev\":\"-939615205\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", - "value": "private, no-store" + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-939615205\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -16626,20 +29903,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 292, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.945Z", - "time": 109, + "startedDateTime": "2024-11-05T21:22:09.441Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -16647,11 +29920,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 109 + "wait": 65 } }, { - "_id": "05894705a21149f7f6a8a9ade2f4fb06", + "_id": "5b9e8b3d0f7fc7c52767bd680eb49fab", "_order": 0, "cache": {}, "request": { @@ -16672,11 +29945,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16691,28 +29964,63 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2016, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e92d5139-b8a6-43dc-9b13-95ba1d0dc53c" }, "response": { - "bodySize": 114, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 297, + "text": "{\"_id\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"_rev\":\"288852992\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"288852992\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", "value": "no-cache" }, { @@ -16720,12 +30028,24 @@ "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -16734,20 +30054,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.946Z", - "time": 110, + "startedDateTime": "2024-11-05T21:22:09.444Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -16755,11 +30071,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 110 + "wait": 89 } }, { - "_id": "255a10eae87b0b9a83474b491fe6fa9e", + "_id": "83b59d10d1e9bce434647ff9667b577c", "_order": 0, "cache": {}, "request": { @@ -16780,11 +30096,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -16799,18 +30115,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1996, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f129f0df-b49e-453b-97fb-db508e3893ce" }, "response": { - "bodySize": 135, + "bodySize": 527, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 527, + "text": "{\"_id\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"_rev\":\"52245222\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -16848,159 +30164,7 @@ }, { "name": "etag", - "value": "\"-945038405\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "135" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:12.947Z", - "time": 230, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 230 - } - }, - { - "_id": "8360d3092f5d10ac3ed1f279d93a8d72", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2021, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService?_action=nextdescendents" - }, - "response": { - "bodySize": 13, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "value": "\"52245222\"" }, { "name": "expires", @@ -17016,15 +30180,15 @@ }, { "name": "content-length", - "value": "13" + "value": "527" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17043,14 +30207,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.948Z", - "time": 162, + "startedDateTime": "2024-11-05T21:22:09.446Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -17058,11 +30222,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 162 + "wait": 85 } }, { - "_id": "06a173e8dc91053221929bcf661f6245", + "_id": "8d027217e0ff5bd8243f83b7689d83c4", "_order": 0, "cache": {}, "request": { @@ -17083,11 +30247,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17102,18 +30266,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j02" }, "response": { - "bodySize": 178, + "bodySize": 1685, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 178, - "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 1685, + "text": "{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -17151,7 +30315,7 @@ }, { "name": "etag", - "value": "\"-1889820858\"" + "value": "\"2029292005\"" }, { "name": "expires", @@ -17167,15 +30331,15 @@ }, { "name": "content-length", - "value": "178" + "value": "1685" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17200,8 +30364,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.949Z", - "time": 268, + "startedDateTime": "2024-11-05T21:22:09.539Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -17209,11 +30373,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 268 + "wait": 70 } }, { - "_id": "a7ffcf2fdd14bf4cdd5448b61131a795", + "_id": "ba4aeff54598cee3c70eee4953ffa6ee", "_order": 0, "cache": {}, "request": { @@ -17234,11 +30398,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17253,23 +30417,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2dbd2d37-c659-48cf-8357-c9fc1166e3a7" }, "response": { - "bodySize": 13, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 298, + "text": "{\"_id\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\",\"_rev\":\"1485747872\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -17305,6 +30464,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1485747872\"" + }, { "name": "expires", "value": "0" @@ -17319,15 +30482,15 @@ }, { "name": "content-length", - "value": "13" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17346,14 +30509,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.950Z", - "time": 193, + "startedDateTime": "2024-11-05T21:22:09.618Z", + "time": 102, "timings": { "blocked": -1, "connect": -1, @@ -17361,11 +30524,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 193 + "wait": 102 } }, { - "_id": "997d804b9cfd50ea780496dde25ac43d", + "_id": "cd2426a7fc35128cbb977da802fc84ba", "_order": 0, "cache": {}, "request": { @@ -17386,11 +30549,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17405,18 +30568,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4416aff7-3ebd-47e6-9831-c2f6bbe3ae24" }, "response": { - "bodySize": 175, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 175, - "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 297, + "text": "{\"_id\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"_rev\":\"978548317\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -17454,7 +30617,7 @@ }, { "name": "etag", - "value": "\"896681690\"" + "value": "\"978548317\"" }, { "name": "expires", @@ -17470,15 +30633,15 @@ }, { "name": "content-length", - "value": "175" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17503,8 +30666,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.951Z", - "time": 239, + "startedDateTime": "2024-11-05T21:22:09.618Z", + "time": 122, "timings": { "blocked": -1, "connect": -1, @@ -17512,11 +30675,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 239 + "wait": 122 } }, { - "_id": "ef704793f963746022895744e772ed2c", + "_id": "4b507830211bc6c301ab324907ce233c", "_order": 0, "cache": {}, "request": { @@ -17537,11 +30700,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17556,23 +30719,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/56899fef-92a1-4f2a-ade3-973c81eb3af1" }, "response": { - "bodySize": 13, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 254, + "text": "{\"_id\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"_rev\":\"-568833890\",\"tree\":\"j01\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -17608,6 +30766,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-568833890\"" + }, { "name": "expires", "value": "0" @@ -17622,15 +30784,15 @@ }, { "name": "content-length", - "value": "13" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -17649,14 +30811,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.952Z", - "time": 284, + "startedDateTime": "2024-11-05T21:22:09.619Z", + "time": 116, "timings": { "blocked": -1, "connect": -1, @@ -17664,11 +30826,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 284 + "wait": 116 } }, { - "_id": "a3edc3199d9a982b9137685a3b351139", + "_id": "aa755c264e89664042c87c06f2eb4521", "_order": 0, "cache": {}, "request": { @@ -17689,11 +30851,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17708,36 +30870,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/59b06306-a886-443d-92df-7a27a60c394e" }, "response": { - "bodySize": 114, + "bodySize": 527, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 527, + "text": "{\"_id\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"_rev\":\"49592573\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", - "value": "private, no-store" + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"49592573\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "527" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -17746,20 +30960,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 292, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.953Z", - "time": 97, + "startedDateTime": "2024-11-05T21:22:09.620Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -17767,11 +30977,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 101 } }, { - "_id": "e1f511d66a8b66a7c7aec47c63713084", + "_id": "5ecede6f97c90cddb1f9a134e49b0313", "_order": 0, "cache": {}, "request": { @@ -17792,11 +31002,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -17811,28 +31021,63 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbb3d506-b267-4b99-9edd-363e90aac997" }, "response": { - "bodySize": 114, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 299, + "text": "{\"_id\":\"cbb3d506-b267-4b99-9edd-363e90aac997\",\"_rev\":\"-1997428236\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1997428236\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", "value": "no-cache" }, { @@ -17840,12 +31085,24 @@ "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -17854,20 +31111,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:12.954Z", - "time": 101, + "startedDateTime": "2024-11-05T21:22:09.621Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -17875,11 +31128,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 91 } }, { - "_id": "cc968d4ca98755f27cb44bad450498ad", + "_id": "5a0fb0a7d7a63deb5bd06a6aabe86260", "_order": 0, "cache": {}, "request": { @@ -17900,7 +31153,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -17919,23 +31172,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0983ead-4918-48f6-858d-9aff0f03759c" }, "response": { - "bodySize": 31869, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 31869, - "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":21,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 298, + "text": "{\"_id\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"_rev\":\"1611025039\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -17957,7 +31205,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -17971,6 +31219,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1611025039\"" + }, { "name": "expires", "value": "0" @@ -17983,13 +31235,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "298" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18006,20 +31262,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.313Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:09.622Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -18027,11 +31279,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 104 } }, { - "_id": "b3fe3510cd92f9e432c12a7d11f8d5a0", + "_id": "913b982d8e01092f68ba6251c8ccb852", "_order": 0, "cache": {}, "request": { @@ -18052,7 +31304,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18071,18 +31323,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j03" }, "response": { - "bodySize": 1273, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1273, - "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"1703131230\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":0,\"y\":0},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":0,\"y\":0},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":0,\"y\":0}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 1686, + "text": "{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -18120,7 +31372,7 @@ }, { "name": "etag", - "value": "\"1703131230\"" + "value": "\"-1352811052\"" }, { "name": "expires", @@ -18136,15 +31388,15 @@ }, { "name": "content-length", - "value": "1273" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18163,14 +31415,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.387Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:09.743Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -18178,11 +31430,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 63 } }, { - "_id": "9622062f1bc993445582b8c38d8bd6c4", + "_id": "4fe3fe52b433c85de2f6efe61528b695", "_order": 0, "cache": {}, "request": { @@ -18203,7 +31455,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18222,18 +31474,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/35a4f94b-c895-46b9-bc0a-93cf59233759" }, "response": { - "bodySize": 256, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"_rev\":\"1564723806\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18271,7 +31523,7 @@ }, { "name": "etag", - "value": "\"1389809903\"" + "value": "\"1564723806\"" }, { "name": "expires", @@ -18287,15 +31539,15 @@ }, { "name": "content-length", - "value": "256" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18320,8 +31572,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.450Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:09.812Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -18329,11 +31581,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 75 } }, { - "_id": "710c38486084ac7b99b5145198d5e62b", + "_id": "0cd50e00beb73999dc1874def405941c", "_order": 0, "cache": {}, "request": { @@ -18354,7 +31606,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18373,18 +31625,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3a92300d-6d64-451d-8156-30cb51781026" }, "response": { - "bodySize": 451, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 451, - "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"3a92300d-6d64-451d-8156-30cb51781026\",\"_rev\":\"2096216426\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18422,7 +31674,7 @@ }, { "name": "etag", - "value": "\"-1421046051\"" + "value": "\"2096216426\"" }, { "name": "expires", @@ -18438,15 +31690,15 @@ }, { "name": "content-length", - "value": "451" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18465,14 +31717,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.450Z", - "time": 142, + "startedDateTime": "2024-11-05T21:22:09.813Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -18480,11 +31732,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 142 + "wait": 86 } }, { - "_id": "2a438656c535bf6497f6b74fa011172b", + "_id": "b41d5a80336397c469890bd8945c4f41", "_order": 0, "cache": {}, "request": { @@ -18505,7 +31757,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18524,18 +31776,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6f9de973-9ed4-41f5-b43d-4036041e2b96" }, "response": { - "bodySize": 296, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 297, + "text": "{\"_id\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"_rev\":\"846932888\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -18573,7 +31825,7 @@ }, { "name": "etag", - "value": "\"-626658673\"" + "value": "\"846932888\"" }, { "name": "expires", @@ -18589,15 +31841,15 @@ }, { "name": "content-length", - "value": "296" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18616,14 +31868,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.451Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:09.814Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -18631,11 +31883,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 86 } }, { - "_id": "3a0066f1671cf4c1502e674e85b5c1b1", + "_id": "d60340a7f5e5656ea81fc192dda4840c", "_order": 0, "cache": {}, "request": { @@ -18656,7 +31908,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18675,18 +31927,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bcb8c535-5ecd-4d3d-b970-26816de96bf2" }, "response": { - "bodySize": 436, + "bodySize": 255, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 255, + "text": "{\"_id\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"_rev\":\"-2072424763\",\"tree\":\"j02\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -18724,7 +31976,7 @@ }, { "name": "etag", - "value": "\"2035832000\"" + "value": "\"-2072424763\"" }, { "name": "expires", @@ -18740,15 +31992,15 @@ }, { "name": "content-length", - "value": "436" + "value": "255" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18767,14 +32019,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.451Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:09.814Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -18782,11 +32034,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 87 } }, { - "_id": "56a36eacbdf48c30f1c8494b58810a6f", + "_id": "b57733ba7c2ee94a3169dd6b89715068", "_order": 0, "cache": {}, "request": { @@ -18807,7 +32059,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18826,18 +32078,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0cfbd13-6f1e-4924-9d2d-0f7c23507172" }, "response": { - "bodySize": 307, + "bodySize": 528, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 528, + "text": "{\"_id\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"_rev\":\"278641360\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -18875,7 +32127,7 @@ }, { "name": "etag", - "value": "\"-1331445210\"" + "value": "\"278641360\"" }, { "name": "expires", @@ -18891,15 +32143,15 @@ }, { "name": "content-length", - "value": "307" + "value": "528" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -18918,14 +32170,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.596Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:09.815Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -18933,11 +32185,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 63 } }, { - "_id": "84d251b736d069d67c1b7fdb6458ee02", + "_id": "c312a41b098262892c7e99229bf7e941", "_order": 0, "cache": {}, "request": { @@ -18958,7 +32210,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -18977,18 +32229,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/FrodoTest" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fae7424e-13c9-45bd-b3a2-045773671a3f" }, "response": { - "bodySize": 2431, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2431, - "text": "{\"_id\":\"FrodoTest\",\"_rev\":\"1975823900\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Frodo\\\",\\\"Prototype\\\"]\"},\"entryNodeId\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"innerTreeOnly\":false,\"nodes\":{\"278bf084-9eea-46fe-8ce9-2600dde3b046\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":444,\"y\":273.015625},\"64157fca-bd5b-4405-a4c8-64ffd98a5461\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"SAML2 Authentication\",\"nodeType\":\"product-Saml2Node\",\"x\":1196,\"y\":188.015625},\"731c5810-020b-45c8-a7fc-3c21903ae2b3\":{\"connections\":{\"localAuthentication\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"socialAuthentication\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\"},\"displayName\":\"Login Page\",\"nodeType\":\"PageNode\",\"x\":443,\"y\":26.015625},\"bf153f37-83dd-4f39-aa0c-74135430242e\":{\"connections\":{\"EMAIL_NOT_SENT\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EMAIL_SENT\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\"},\"displayName\":\"Email Template Node\",\"nodeType\":\"EmailTemplateNode\",\"x\":967,\"y\":222.015625},\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\":{\"connections\":{\"ACCOUNT_EXISTS\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"NO_ACCOUNT\":\"bf153f37-83dd-4f39-aa0c-74135430242e\"},\"displayName\":\"Social Login\",\"nodeType\":\"SocialProviderHandlerNode\",\"x\":702,\"y\":116.015625},\"e2c39477-847a-4df2-9c5d-b449a752638b\":{\"connections\":{\"known\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"unknown\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":200,\"y\":235.015625},\"fc7e47cd-c679-4211-8e05-a36654f23c67\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Validate Creds\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":702,\"y\":292.015625}},\"description\":\"Frodo test journey utilizing a variety of nodes and dependencies to test support for complex journeys.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1434,\"y\":60},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1433,\"y\":459},\"startNode\":{\"x\":63,\"y\":252}},\"mustRun\":false,\"enabled\":true}" + "size": 298, + "text": "{\"_id\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\",\"_rev\":\"-502225245\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -19026,7 +32278,7 @@ }, { "name": "etag", - "value": "\"1975823900\"" + "value": "\"-502225245\"" }, { "name": "expires", @@ -19042,15 +32294,15 @@ }, { "name": "content-length", - "value": "2431" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19069,14 +32321,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.675Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:09.815Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -19084,11 +32336,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 83 } }, { - "_id": "d9f16c7616e73b22bb652e7dc288cbc4", + "_id": "4684856543f16d16c04c97e00647c335", "_order": 0, "cache": {}, "request": { @@ -19109,7 +32361,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19128,18 +32380,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j04" }, "response": { - "bodySize": 641, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 641, - "text": "{\"_id\":\"278bf084-9eea-46fe-8ce9-2600dde3b046\",\"_rev\":\"-1455503261\",\"nodes\":[{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Username\"},{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 1686, + "text": "{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -19177,7 +32429,7 @@ }, { "name": "etag", - "value": "\"-1455503261\"" + "value": "\"-1089876293\"" }, { "name": "expires", @@ -19193,15 +32445,15 @@ }, { "name": "content-length", - "value": "641" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:09 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19220,14 +32472,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.739Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:09.905Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -19235,11 +32487,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 60 } }, { - "_id": "34439a0cc18bbf2011e5612fe1d744bb", + "_id": "987c06ea446d93dc2da56452976681f8", "_order": 0, "cache": {}, "request": { @@ -19260,7 +32512,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19279,18 +32531,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2062, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/00e75aa0-2f9b-4895-9257-d515286fd64b" }, "response": { - "bodySize": 612, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 612, - "text": "{\"_id\":\"64157fca-bd5b-4405-a4c8-64ffd98a5461\",\"_rev\":\"370099639\",\"metaAlias\":\"/alpha/iSPAzure\",\"allowCreate\":true,\"authnContextClassRef\":[],\"authnContextDeclRef\":[],\"authComparison\":\"MINIMUM\",\"nameIdFormat\":\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"requestBinding\":\"HTTP_REDIRECT\",\"binding\":\"HTTP_ARTIFACT\",\"forceAuthn\":false,\"idpEntityId\":\"urn:federation:MicrosoftOnline\",\"isPassive\":false,\"_type\":{\"_id\":\"product-Saml2Node\",\"name\":\"SAML2 Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 253, + "text": "{\"_id\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"_rev\":\"415392584\",\"tree\":\"j03\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -19328,7 +32580,7 @@ }, { "name": "etag", - "value": "\"370099639\"" + "value": "\"415392584\"" }, { "name": "expires", @@ -19344,15 +32596,15 @@ }, { "name": "content-length", - "value": "612" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19377,8 +32629,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.739Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:09.971Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -19386,11 +32638,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 73 } }, { - "_id": "7db4363f6645ba01722de86b1000051e", + "_id": "b0c8dbd31d2cf5fb222385b648514c79", "_order": 0, "cache": {}, "request": { @@ -19411,7 +32663,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19430,18 +32682,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/040b6c89-313b-4664-92e0-6732017384b8" }, "response": { - "bodySize": 533, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 533, - "text": "{\"_id\":\"731c5810-020b-45c8-a7fc-3c21903ae2b3\",\"_rev\":\"1250582707\",\"nodes\":[{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Password\"},{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"nodeType\":\"SelectIdPNode\",\"displayName\":\"Select IDP\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 529, + "text": "{\"_id\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"_rev\":\"-605917161\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -19479,7 +32731,7 @@ }, { "name": "etag", - "value": "\"1250582707\"" + "value": "\"-605917161\"" }, { "name": "expires", @@ -19495,15 +32747,15 @@ }, { "name": "content-length", - "value": "533" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19528,8 +32780,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.740Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:09.972Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -19537,11 +32789,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 67 } }, { - "_id": "db405b41f64e349ee40e45abfbf1f026", + "_id": "15327126dda6066ae32c853e20646812", "_order": 0, "cache": {}, "request": { @@ -19562,7 +32814,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19581,18 +32833,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2062, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/69ae8ec1-de43-44ac-98e5-733db80ac176" }, "response": { - "bodySize": 349, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 349, - "text": "{\"_id\":\"bf153f37-83dd-4f39-aa0c-74135430242e\",\"_rev\":\"707624425\",\"emailTemplateName\":\"welcome\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"_type\":{\"_id\":\"EmailTemplateNode\",\"name\":\"Email Template Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"EMAIL_SENT\",\"displayName\":\"Email Sent\"},{\"id\":\"EMAIL_NOT_SENT\",\"displayName\":\"Email Not Sent\"}]}" + "size": 298, + "text": "{\"_id\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\",\"_rev\":\"2146242142\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -19630,7 +32882,7 @@ }, { "name": "etag", - "value": "\"707624425\"" + "value": "\"2146242142\"" }, { "name": "expires", @@ -19646,15 +32898,15 @@ }, { "name": "content-length", - "value": "349" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19673,14 +32925,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.741Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:09.973Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -19688,11 +32940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 63 } }, { - "_id": "963e1f3ff05d0f498b612ae093a10e18", + "_id": "053f364c741884fa5d605b47f550419c", "_order": 0, "cache": {}, "request": { @@ -19713,7 +32965,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19732,18 +32984,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/9603ef52-30f0-4ddc-b3c0-28dac83c7bdb" }, "response": { - "bodySize": 395, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 395, - "text": "{\"_id\":\"d5cc2d52-6ce4-452d-85ea-3a5b50218b67\",\"_rev\":\"60612304\",\"clientType\":\"BROWSER\",\"script\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"usernameAttribute\":\"userName\",\"_type\":{\"_id\":\"SocialProviderHandlerNode\",\"name\":\"Legacy Social Provider Handler Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"ACCOUNT_EXISTS\",\"displayName\":\"Account exists\"},{\"id\":\"NO_ACCOUNT\",\"displayName\":\"No account exists\"}]}" + "size": 298, + "text": "{\"_id\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\",\"_rev\":\"1934780085\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -19781,7 +33033,7 @@ }, { "name": "etag", - "value": "\"60612304\"" + "value": "\"1934780085\"" }, { "name": "expires", @@ -19797,15 +33049,15 @@ }, { "name": "content-length", - "value": "395" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19824,14 +33076,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.741Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:09.973Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -19839,11 +33091,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 68 } }, { - "_id": "ae1ae17ca179e4ed5ede1b4a7396d093", + "_id": "3e578a09ca6fdd1321dcda32ee5f8033", "_order": 0, "cache": {}, "request": { @@ -19864,7 +33116,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -19887,14 +33139,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d10104e9-1f8d-4da6-a110-28d879d13959" }, "response": { - "bodySize": 352, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 352, - "text": "{\"_id\":\"e2c39477-847a-4df2-9c5d-b449a752638b\",\"_rev\":\"-495106283\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 298, + "text": "{\"_id\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"_rev\":\"-219838938\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -19932,7 +33184,7 @@ }, { "name": "etag", - "value": "\"-495106283\"" + "value": "\"-219838938\"" }, { "name": "expires", @@ -19948,15 +33200,15 @@ }, { "name": "content-length", - "value": "352" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -19981,8 +33233,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.742Z", - "time": 71, + "startedDateTime": "2024-11-05T21:22:09.975Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -19990,11 +33242,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 68 } }, { - "_id": "1e60c1d5bcea0926192c9cab2d4ecad0", + "_id": "e51dc307b38e72dc6b16c79effbb51bd", "_order": 0, "cache": {}, "request": { @@ -20015,7 +33267,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20034,18 +33286,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f5c317ce-fabd-4a10-9907-c71cea037844" }, "response": { - "bodySize": 475, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 475, - "text": "{\"_id\":\"fc7e47cd-c679-4211-8e05-a36654f23c67\",\"_rev\":\"-1432043869\",\"useUniversalIdForUsername\":true,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 298, + "text": "{\"_id\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"_rev\":\"1796672161\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20083,7 +33335,7 @@ }, { "name": "etag", - "value": "\"-1432043869\"" + "value": "\"1796672161\"" }, { "name": "expires", @@ -20099,15 +33351,166 @@ }, { "name": "content-length", - "value": "475" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:09.976Z", + "time": 66, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 66 + } + }, + { + "_id": "7ddb7f4cbb398fb6c053bcf4e1261081", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2011, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j05" + }, + "response": { + "bodySize": 1685, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1685, + "text": "{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1652057497\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1685" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:10 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20132,8 +33535,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.742Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:10.049Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -20141,11 +33544,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 62 } }, { - "_id": "24f7f35031d7af469ab0b9edf27d69cf", + "_id": "db105f4f6fe2be50621ecad4ec126bb1", "_order": 0, "cache": {}, "request": { @@ -20166,7 +33569,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20185,18 +33588,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c106772-ace7-4808-8f3a-9840de8f67f0" }, "response": { - "bodySize": 259, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"7a351800-fb7e-4145-903c-388554747556\",\"_rev\":\"1005646283\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"_rev\":\"202853816\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20234,7 +33637,7 @@ }, { "name": "etag", - "value": "\"1005646283\"" + "value": "\"202853816\"" }, { "name": "expires", @@ -20250,15 +33653,15 @@ }, { "name": "content-length", - "value": "259" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20277,14 +33680,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.842Z", - "time": 71, + "startedDateTime": "2024-11-05T21:22:10.123Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -20292,11 +33695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 78 } }, { - "_id": "2ded1da71fd6943aec890c2900e80cf5", + "_id": "dd23206a6b33ee8e573b6bce0af2e897", "_order": 0, "cache": {}, "request": { @@ -20317,7 +33720,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20336,18 +33739,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/11f1c31c-50a9-4717-8213-420f6932481f" }, "response": { - "bodySize": 258, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"804e6a68-1720-442b-926a-007e90f02782\",\"_rev\":\"695550246\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"_rev\":\"715843294\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20385,7 +33788,7 @@ }, { "name": "etag", - "value": "\"695550246\"" + "value": "\"715843294\"" }, { "name": "expires", @@ -20401,15 +33804,15 @@ }, { "name": "content-length", - "value": "258" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20434,8 +33837,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.843Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:10.123Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -20443,11 +33846,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 87 } }, { - "_id": "d3af3161eacb107f66633f5e808922cc", + "_id": "b3b35052562eb0ebdba3dda027bf1a40", "_order": 0, "cache": {}, "request": { @@ -20468,7 +33871,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20487,18 +33890,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/622179cb-98f1-484a-820d-9a0df6e45e95" }, "response": { - "bodySize": 440, + "bodySize": 530, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 440, - "text": "{\"_id\":\"228a44d5-fd78-4278-8999-fdd470ea7ebf\",\"_rev\":\"-1175277026\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 530, + "text": "{\"_id\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"_rev\":\"-1022065915\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -20536,7 +33939,7 @@ }, { "name": "etag", - "value": "\"-1175277026\"" + "value": "\"-1022065915\"" }, { "name": "expires", @@ -20552,15 +33955,15 @@ }, { "name": "content-length", - "value": "440" + "value": "530" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20585,8 +33988,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.843Z", - "time": 71, + "startedDateTime": "2024-11-05T21:22:10.124Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -20594,11 +33997,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 70 } }, { - "_id": "d39732c018c2ba2f67bec6ab36304059", + "_id": "406753acb4b4e3d27aab3350bad1bb37", "_order": 0, "cache": {}, "request": { @@ -20619,7 +34022,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20638,18 +34041,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a0782616-84b7-4bf5-87ed-a01fb3018563" }, "response": { - "bodySize": 439, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 439, - "text": "{\"_id\":\"038f9b2a-36b2-489b-9e03-386c9a62ea21\",\"_rev\":\"-409686295\",\"includeLocalAuthentication\":true,\"filteredProviders\":[],\"identityAttribute\":\"mail\",\"passwordAttribute\":\"password\",\"offerOnlyExisting\":false,\"_type\":{\"_id\":\"SelectIdPNode\",\"name\":\"Select Identity Provider\",\"collection\":true},\"_outcomes\":[{\"id\":\"socialAuthentication\",\"displayName\":\"Social Authentication\"},{\"id\":\"localAuthentication\",\"displayName\":\"Local Authentication\"}]}" + "size": 297, + "text": "{\"_id\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\",\"_rev\":\"156265951\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20687,7 +34090,7 @@ }, { "name": "etag", - "value": "\"-409686295\"" + "value": "\"156265951\"" }, { "name": "expires", @@ -20703,15 +34106,15 @@ }, { "name": "content-length", - "value": "439" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20730,14 +34133,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.844Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:10.124Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -20745,11 +34148,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 88 } }, { - "_id": "e69a9f5d2435f5f6663f35a3489959ad", + "_id": "a1da42ac4d483c25ff22e2e1e882d6fb", "_order": 0, "cache": {}, "request": { @@ -20770,7 +34173,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20789,18 +34192,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e90ae257-c279-46e0-9b43-5ecd89784d77" }, "response": { - "bodySize": 258, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"dd16c8d4-baca-4ae0-bcd8-fb98b9040524\",\"_rev\":\"148590759\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\",\"_rev\":\"2040408899\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -20838,7 +34241,7 @@ }, { "name": "etag", - "value": "\"148590759\"" + "value": "\"2040408899\"" }, { "name": "expires", @@ -20854,15 +34257,15 @@ }, { "name": "content-length", - "value": "258" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -20881,14 +34284,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.844Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:10.125Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -20896,11 +34299,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 79 } }, { - "_id": "b1e3860191f9205d1a40b2050ac6012e", + "_id": "1a11294b705e0e060e2472a58a3ac54b", "_order": 0, "cache": {}, "request": { @@ -20921,7 +34324,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -20940,18 +34343,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j00" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/f17ecb7c-abc3-4523-9943-4cbdd90305cb" }, "response": { - "bodySize": 1588, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1588, - "text": "{\"_id\":\"j00\",\"_rev\":\"214130857\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"innerTreeOnly\":false,\"nodes\":{\"01d3785f-7fb4-44a7-9458-72c380a9818f\":{\"connections\":{\"true\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":348,\"y\":61},\"39b48197-f4be-42b9-800a-866587b4b9b5\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":365,\"y\":252},\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":567,\"y\":64},\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\":{\"connections\":{\"level only\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"none\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"shared and level\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"shared only\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":117,\"y\":117},\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":760,\"y\":137},\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\":{\"connections\":{\"true\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":338,\"y\":156}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":132,\"y\":364},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1000,\"y\":137},\"startNode\":{\"x\":0,\"y\":0}},\"mustRun\":false,\"enabled\":true}" + "size": 253, + "text": "{\"_id\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"_rev\":\"730701700\",\"tree\":\"j04\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -20989,7 +34392,7 @@ }, { "name": "etag", - "value": "\"214130857\"" + "value": "\"730701700\"" }, { "name": "expires", @@ -21005,15 +34408,15 @@ }, { "name": "content-length", - "value": "1588" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:13 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21032,14 +34435,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.919Z", - "time": 60, + "startedDateTime": "2024-11-05T21:22:10.125Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -21047,11 +34450,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 87 } }, { - "_id": "598416e130a75705f73791f1e78fb8e3", + "_id": "b7edc8f7f623ef8e100c183901c807e4", "_order": 0, "cache": {}, "request": { @@ -21072,7 +34475,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21091,18 +34494,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/01d3785f-7fb4-44a7-9458-72c380a9818f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j06" }, "response": { - "bodySize": 298, + "bodySize": 1684, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"01d3785f-7fb4-44a7-9458-72c380a9818f\",\"_rev\":\"-853523981\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1684, + "text": "{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -21140,7 +34543,7 @@ }, { "name": "etag", - "value": "\"-853523981\"" + "value": "\"605160891\"" }, { "name": "expires", @@ -21156,15 +34559,15 @@ }, { "name": "content-length", - "value": "298" + "value": "1684" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21189,8 +34592,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.985Z", - "time": 77, + "startedDateTime": "2024-11-05T21:22:10.216Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -21198,11 +34601,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 78 } }, { - "_id": "13c60f0b6a4038c2c8d28c16159bbe62", + "_id": "8f46865c8963b361e61798cad982fd2d", "_order": 0, "cache": {}, "request": { @@ -21223,7 +34626,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21246,14 +34649,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/39b48197-f4be-42b9-800a-866587b4b9b5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"39b48197-f4be-42b9-800a-866587b4b9b5\",\"_rev\":\"1609152298\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\",\"_rev\":\"1105672105\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -21291,7 +34694,7 @@ }, { "name": "etag", - "value": "\"1609152298\"" + "value": "\"1105672105\"" }, { "name": "expires", @@ -21311,11 +34714,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21340,8 +34743,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.986Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:10.299Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -21349,11 +34752,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 62 } }, { - "_id": "b88182778c7d6e3421f31467b46cb975", + "_id": "c994e25239221808046df1575f95cf15", "_order": 0, "cache": {}, "request": { @@ -21374,7 +34777,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21397,14 +34800,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c1e8d61-0c48-44ba-86dc-52e9555b6aeb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1d59caff-243c-45bd-b7d0-6dcc563989c5" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"3c1e8d61-0c48-44ba-86dc-52e9555b6aeb\",\"_rev\":\"1672315064\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"_rev\":\"-1941208375\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -21442,7 +34845,7 @@ }, { "name": "etag", - "value": "\"1672315064\"" + "value": "\"-1941208375\"" }, { "name": "expires", @@ -21458,15 +34861,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21485,14 +34888,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.986Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:10.299Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -21500,11 +34903,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 66 } }, { - "_id": "4c6da772b271182ec7655070aa710eeb", + "_id": "34a1ad729a4b3396acfe9bcba6b8689b", "_order": 0, "cache": {}, "request": { @@ -21525,7 +34928,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21544,18 +34947,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/513a2ab4-f0b8-4f94-b840-6fe14796cc84" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/409c251f-c23b-411d-9009-d3b3d26d1b90" }, "response": { - "bodySize": 529, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"513a2ab4-f0b8-4f94-b840-6fe14796cc84\",\"_rev\":\"-318011549\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 254, + "text": "{\"_id\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"_rev\":\"-688245766\",\"tree\":\"j05\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -21593,7 +34996,7 @@ }, { "name": "etag", - "value": "\"-318011549\"" + "value": "\"-688245766\"" }, { "name": "expires", @@ -21609,15 +35012,15 @@ }, { "name": "content-length", - "value": "529" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21642,8 +35045,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.987Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:10.300Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -21651,11 +35054,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 75 } }, { - "_id": "f18f3d1b855cb17e438fbd4cd97a4d7f", + "_id": "82e391e58d13b2e4013cf7bd3020472c", "_order": 0, "cache": {}, "request": { @@ -21676,7 +35079,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21699,14 +35102,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ba503a1e-633e-4d0d-ba18-c9a9b1105b5b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/44b8651c-7c1e-41f1-b9a6-2e441b0ce05a" }, "response": { - "bodySize": 297, + "bodySize": 528, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"ba503a1e-633e-4d0d-ba18-c9a9b1105b5b\",\"_rev\":\"970966657\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 528, + "text": "{\"_id\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"_rev\":\"600150282\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -21744,7 +35147,7 @@ }, { "name": "etag", - "value": "\"970966657\"" + "value": "\"600150282\"" }, { "name": "expires", @@ -21760,15 +35163,15 @@ }, { "name": "content-length", - "value": "297" + "value": "528" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -21793,159 +35196,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:13.987Z", - "time": 76, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 76 - } - }, - { - "_id": "f88e483229e4ef5061285aa47c86b596", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2065, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d17ffaa1-2c61-4abd-9bb1-2559160d0a5c" - }, - "response": { - "bodySize": 299, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"d17ffaa1-2c61-4abd-9bb1-2559160d0a5c\",\"_rev\":\"-2064120483\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-2064120483\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "299" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:13.988Z", - "time": 75, + "startedDateTime": "2024-11-05T21:22:10.300Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -21953,11 +35205,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 85 } }, { - "_id": "7325ee70e86396f36ff64734fc8ec584", + "_id": "bec64bd7f5c0e099837d3f569a4b9aac", "_order": 0, "cache": {}, "request": { @@ -21978,7 +35230,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -21997,18 +35249,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j01" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/da878771-421c-463f-aad7-4d5f2ad5e59a" }, "response": { - "bodySize": 1619, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1619, - "text": "{\"_id\":\"j01\",\"_rev\":\"-523887030\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"innerTreeOnly\":false,\"nodes\":{\"6674b4ac-dd89-4e13-9440-6f81194e3a22\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\":{\"connections\":{\"true\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":0,\"y\":0},\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\":{\"connections\":{\"true\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0},\"f129f0df-b49e-453b-97fb-db508e3893ce\":{\"connections\":{\"level only\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"none\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"shared and level\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"shared only\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":0,\"y\":0}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 298, + "text": "{\"_id\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\",\"_rev\":\"1834306764\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22046,7 +35298,7 @@ }, { "name": "etag", - "value": "\"-523887030\"" + "value": "\"1834306764\"" }, { "name": "expires", @@ -22062,15 +35314,15 @@ }, { "name": "content-length", - "value": "1619" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22089,14 +35341,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.072Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:10.301Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -22104,11 +35356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 64 } }, { - "_id": "d1e3cdda9102bc0e93c2f874ead8ca76", + "_id": "f4003a36be1c3cc22cf7e46c22787889", "_order": 0, "cache": {}, "request": { @@ -22129,7 +35381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22152,14 +35404,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6674b4ac-dd89-4e13-9440-6f81194e3a22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fe8f27df-8a27-4d88-9196-834ce398b2b7" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"6674b4ac-dd89-4e13-9440-6f81194e3a22\",\"_rev\":\"-572093512\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"_rev\":\"-274854951\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22197,7 +35449,7 @@ }, { "name": "etag", - "value": "\"-572093512\"" + "value": "\"-274854951\"" }, { "name": "expires", @@ -22217,11 +35469,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22246,8 +35498,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.145Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:10.301Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -22255,11 +35507,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 84 } }, { - "_id": "dd1d09643b1692c97bccfbaf7259d98e", + "_id": "5ca028647d90e87ccf6462dbe26dee7f", "_order": 0, "cache": {}, "request": { @@ -22280,7 +35532,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22299,18 +35551,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/89ce5d57-82fa-4d58-8d15-0329f7dbd7e7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j07" }, "response": { - "bodySize": 299, + "bodySize": 1685, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"89ce5d57-82fa-4d58-8d15-0329f7dbd7e7\",\"_rev\":\"-1475826260\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1685, + "text": "{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -22348,7 +35600,7 @@ }, { "name": "etag", - "value": "\"-1475826260\"" + "value": "\"-937100459\"" }, { "name": "expires", @@ -22364,15 +35616,15 @@ }, { "name": "content-length", - "value": "299" + "value": "1685" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22397,8 +35649,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.146Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:10.390Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -22406,11 +35658,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 59 } }, { - "_id": "ca1ff8137135c91da78e9a6a657b7418", + "_id": "77c7751f098702959a3a6b0cfc889c86", "_order": 0, "cache": {}, "request": { @@ -22431,7 +35683,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22450,18 +35702,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bb1e96af-f316-4eb0-b1c6-36b3f1af9e35" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/13b12fe6-cf53-46a4-a83d-0a3c1fda814f" }, "response": { - "bodySize": 254, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"bb1e96af-f316-4eb0-b1c6-36b3f1af9e35\",\"_rev\":\"2105288152\",\"tree\":\"j00\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 529, + "text": "{\"_id\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"_rev\":\"-729439911\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -22499,7 +35751,7 @@ }, { "name": "etag", - "value": "\"2105288152\"" + "value": "\"-729439911\"" }, { "name": "expires", @@ -22515,15 +35767,15 @@ }, { "name": "content-length", - "value": "254" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22548,8 +35800,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.147Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:10.455Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -22557,11 +35809,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 95 } }, { - "_id": "c42914f0baab01a83cd1ab498ce85ae0", + "_id": "b3388109a987c7aa0fd760a2910203c0", "_order": 0, "cache": {}, "request": { @@ -22582,7 +35834,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22605,14 +35857,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bdfbe97c-1ff4-4162-85bc-47f6f14b2c66" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"bdfbe97c-1ff4-4162-85bc-47f6f14b2c66\",\"_rev\":\"-939615205\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\",\"_rev\":\"-657863610\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22650,7 +35902,7 @@ }, { "name": "etag", - "value": "\"-939615205\"" + "value": "\"-657863610\"" }, { "name": "expires", @@ -22670,11 +35922,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22699,8 +35951,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.148Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:10.456Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -22708,11 +35960,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 93 } }, { - "_id": "83b59d10d1e9bce434647ff9667b577c", + "_id": "5c566417ffc3d987bcd0c0bd81e452bd", "_order": 0, "cache": {}, "request": { @@ -22733,7 +35985,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22756,14 +36008,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f129f0df-b49e-453b-97fb-db508e3893ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d90dd9f8-8b12-4e90-abaf-228ecc0174a7" }, "response": { - "bodySize": 527, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 527, - "text": "{\"_id\":\"f129f0df-b49e-453b-97fb-db508e3893ce\",\"_rev\":\"52245222\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 298, + "text": "{\"_id\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"_rev\":\"1401033700\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22801,7 +36053,7 @@ }, { "name": "etag", - "value": "\"52245222\"" + "value": "\"1401033700\"" }, { "name": "expires", @@ -22817,15 +36069,15 @@ }, { "name": "content-length", - "value": "527" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22844,14 +36096,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.149Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:10.456Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -22859,11 +36111,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 97 } }, { - "_id": "5b9e8b3d0f7fc7c52767bd680eb49fab", + "_id": "163da4466c4d604293cd03cfc279986c", "_order": 0, "cache": {}, "request": { @@ -22884,7 +36136,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -22907,14 +36159,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e92d5139-b8a6-43dc-9b13-95ba1d0dc53c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d9a06d3a-7e3f-4244-9a32-63ffa0d26e00" }, "response": { - "bodySize": 297, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"e92d5139-b8a6-43dc-9b13-95ba1d0dc53c\",\"_rev\":\"288852992\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"_rev\":\"-1427545353\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -22952,7 +36204,7 @@ }, { "name": "etag", - "value": "\"288852992\"" + "value": "\"-1427545353\"" }, { "name": "expires", @@ -22968,15 +36220,15 @@ }, { "name": "content-length", - "value": "297" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -22995,14 +36247,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.149Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:10.457Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -23010,11 +36262,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 90 } }, { - "_id": "8d027217e0ff5bd8243f83b7689d83c4", + "_id": "d30fd8a046522109e0590b643dff9e10", "_order": 0, "cache": {}, "request": { @@ -23035,7 +36287,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23054,18 +36306,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j02" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9" }, "response": { - "bodySize": 1685, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j02\",\"_rev\":\"2029292005\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"innerTreeOnly\":false,\"nodes\":{\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"56899fef-92a1-4f2a-ade3-973c81eb3af1\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"59b06306-a886-443d-92df-7a27a60c394e\":{\"connections\":{\"level only\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"none\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"shared and level\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"shared only\":\"cbb3d506-b267-4b99-9edd-363e90aac997\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"cbb3d506-b267-4b99-9edd-363e90aac997\":{\"connections\":{\"true\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e0983ead-4918-48f6-858d-9aff0f03759c\":{\"connections\":{\"true\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 254, + "text": "{\"_id\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"_rev\":\"1658650162\",\"tree\":\"j06\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -23103,7 +36355,7 @@ }, { "name": "etag", - "value": "\"2029292005\"" + "value": "\"1658650162\"" }, { "name": "expires", @@ -23119,15 +36371,15 @@ }, { "name": "content-length", - "value": "1685" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23146,14 +36398,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.233Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:10.458Z", + "time": 88, "timings": { "blocked": -1, "connect": -1, @@ -23161,11 +36413,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 88 } }, { - "_id": "ba4aeff54598cee3c70eee4953ffa6ee", + "_id": "a14da1b980f343aed5e806b7fd6a44f4", "_order": 0, "cache": {}, "request": { @@ -23186,7 +36438,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23209,14 +36461,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2dbd2d37-c659-48cf-8357-c9fc1166e3a7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f2fe740c-cd75-460a-8baa-fe4b52ecc947" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"2dbd2d37-c659-48cf-8357-c9fc1166e3a7\",\"_rev\":\"1485747872\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\",\"_rev\":\"-976416946\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23254,7 +36506,7 @@ }, { "name": "etag", - "value": "\"1485747872\"" + "value": "\"-976416946\"" }, { "name": "expires", @@ -23274,11 +36526,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23303,8 +36555,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.302Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:10.458Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -23312,11 +36564,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 95 } }, { - "_id": "cd2426a7fc35128cbb977da802fc84ba", + "_id": "e900b6a9f7e91e710e046341c614b2d9", "_order": 0, "cache": {}, "request": { @@ -23337,7 +36589,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23356,18 +36608,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4416aff7-3ebd-47e6-9831-c2f6bbe3ae24" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j08" }, "response": { - "bodySize": 297, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"4416aff7-3ebd-47e6-9831-c2f6bbe3ae24\",\"_rev\":\"978548317\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1686, + "text": "{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -23405,7 +36657,7 @@ }, { "name": "etag", - "value": "\"978548317\"" + "value": "\"-1997695217\"" }, { "name": "expires", @@ -23421,15 +36673,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23448,14 +36700,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.303Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:10.558Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -23463,11 +36715,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 63 } }, { - "_id": "4b507830211bc6c301ab324907ce233c", + "_id": "cf89f542a3d4d9ed2251a863db288ef1", "_order": 0, "cache": {}, "request": { @@ -23488,7 +36740,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23507,18 +36759,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/56899fef-92a1-4f2a-ade3-973c81eb3af1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/042b600b-71cb-45a8-93ae-a6f57b16a6e5" }, "response": { - "bodySize": 254, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"56899fef-92a1-4f2a-ade3-973c81eb3af1\",\"_rev\":\"-568833890\",\"tree\":\"j01\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 297, + "text": "{\"_id\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"_rev\":\"336262962\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23556,7 +36808,7 @@ }, { "name": "etag", - "value": "\"-568833890\"" + "value": "\"336262962\"" }, { "name": "expires", @@ -23572,15 +36824,15 @@ }, { "name": "content-length", - "value": "254" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23599,14 +36851,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.304Z", - "time": 77, + "startedDateTime": "2024-11-05T21:22:10.628Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -23614,11 +36866,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 66 } }, { - "_id": "aa755c264e89664042c87c06f2eb4521", + "_id": "d27ae0b7b2c44fe89676df4e60381a80", "_order": 0, "cache": {}, "request": { @@ -23639,7 +36891,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23658,18 +36910,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/59b06306-a886-443d-92df-7a27a60c394e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/66026170-5088-4fcd-a6c8-ed89d7a5c79d" }, "response": { - "bodySize": 527, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 527, - "text": "{\"_id\":\"59b06306-a886-443d-92df-7a27a60c394e\",\"_rev\":\"49592573\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 254, + "text": "{\"_id\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"_rev\":\"-245838054\",\"tree\":\"j07\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -23707,7 +36959,7 @@ }, { "name": "etag", - "value": "\"49592573\"" + "value": "\"-245838054\"" }, { "name": "expires", @@ -23723,15 +36975,15 @@ }, { "name": "content-length", - "value": "527" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23750,14 +37002,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.304Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:10.629Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -23765,11 +37017,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 66 } }, { - "_id": "5ecede6f97c90cddb1f9a134e49b0313", + "_id": "720c48256428f243936de73a812ea966", "_order": 0, "cache": {}, "request": { @@ -23790,7 +37042,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23813,14 +37065,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbb3d506-b267-4b99-9edd-363e90aac997" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8096649e-973e-4209-88ce-e1d87ae2bb96" }, "response": { - "bodySize": 299, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"cbb3d506-b267-4b99-9edd-363e90aac997\",\"_rev\":\"-1997428236\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"_rev\":\"487424420\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -23858,7 +37110,7 @@ }, { "name": "etag", - "value": "\"-1997428236\"" + "value": "\"487424420\"" }, { "name": "expires", @@ -23874,15 +37126,15 @@ }, { "name": "content-length", - "value": "299" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -23901,14 +37153,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.305Z", - "time": 71, + "startedDateTime": "2024-11-05T21:22:10.631Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -23916,11 +37168,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 65 } }, { - "_id": "5a0fb0a7d7a63deb5bd06a6aabe86260", + "_id": "e2115179cd6d008c31bc82dd0fb38117", "_order": 0, "cache": {}, "request": { @@ -23941,7 +37193,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -23964,14 +37216,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0983ead-4918-48f6-858d-9aff0f03759c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"e0983ead-4918-48f6-858d-9aff0f03759c\",\"_rev\":\"1611025039\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\",\"_rev\":\"-1836282733\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24009,7 +37261,7 @@ }, { "name": "etag", - "value": "\"1611025039\"" + "value": "\"-1836282733\"" }, { "name": "expires", @@ -24025,15 +37277,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24052,14 +37304,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.306Z", - "time": 76, + "startedDateTime": "2024-11-05T21:22:10.631Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -24067,11 +37319,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 65 } }, { - "_id": "913b982d8e01092f68ba6251c8ccb852", + "_id": "6777d627b264810fa1e72117bd5365b1", "_order": 0, "cache": {}, "request": { @@ -24092,7 +37344,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24111,18 +37363,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j03" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d429b2b5-b215-46a5-b239-4994df65cb8b" }, "response": { - "bodySize": 1686, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j03\",\"_rev\":\"-1352811052\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"innerTreeOnly\":false,\"nodes\":{\"35a4f94b-c895-46b9-bc0a-93cf59233759\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"3a92300d-6d64-451d-8156-30cb51781026\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"6f9de973-9ed4-41f5-b43d-4036041e2b96\":{\"connections\":{\"true\":\"3a92300d-6d64-451d-8156-30cb51781026\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\":{\"connections\":{\"level only\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"none\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"shared and level\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"shared only\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"fae7424e-13c9-45bd-b3a2-045773671a3f\":{\"connections\":{\"true\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 529, + "text": "{\"_id\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"_rev\":\"-354817335\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -24160,7 +37412,7 @@ }, { "name": "etag", - "value": "\"-1352811052\"" + "value": "\"-354817335\"" }, { "name": "expires", @@ -24176,15 +37428,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24203,14 +37455,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.397Z", - "time": 60, + "startedDateTime": "2024-11-05T21:22:10.632Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -24218,11 +37470,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 66 } }, { - "_id": "4fe3fe52b433c85de2f6efe61528b695", + "_id": "ba37ffbe2db24df210564f1e523833a2", "_order": 0, "cache": {}, "request": { @@ -24243,7 +37495,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24266,14 +37518,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/35a4f94b-c895-46b9-bc0a-93cf59233759" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/948e21f4-c512-450a-9d42-e0d629217834" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"35a4f94b-c895-46b9-bc0a-93cf59233759\",\"_rev\":\"1564723806\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"948e21f4-c512-450a-9d42-e0d629217834\",\"_rev\":\"1493812252\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24311,7 +37563,7 @@ }, { "name": "etag", - "value": "\"1564723806\"" + "value": "\"1493812252\"" }, { "name": "expires", @@ -24331,11 +37583,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24360,8 +37612,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.462Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:10.632Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -24369,11 +37621,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 68 } }, { - "_id": "b41d5a80336397c469890bd8945c4f41", + "_id": "c8686b6598efaaf569577e5986df5d38", "_order": 0, "cache": {}, "request": { @@ -24394,7 +37646,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24413,18 +37665,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/6f9de973-9ed4-41f5-b43d-4036041e2b96" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j09" }, "response": { - "bodySize": 297, + "bodySize": 1686, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"6f9de973-9ed4-41f5-b43d-4036041e2b96\",\"_rev\":\"846932888\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1686, + "text": "{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -24462,7 +37714,7 @@ }, { "name": "etag", - "value": "\"846932888\"" + "value": "\"-1358707527\"" }, { "name": "expires", @@ -24478,15 +37730,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1686" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24505,14 +37757,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.463Z", - "time": 88, + "startedDateTime": "2024-11-05T21:22:10.702Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -24520,11 +37772,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 62 } }, { - "_id": "0cd50e00beb73999dc1874def405941c", + "_id": "d25a908ff0f52675f11f83a7e59aabb3", "_order": 0, "cache": {}, "request": { @@ -24545,7 +37797,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24568,14 +37820,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3a92300d-6d64-451d-8156-30cb51781026" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/251f35c3-1a32-4520-be10-1f4af9600935" }, "response": { - "bodySize": 298, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"3a92300d-6d64-451d-8156-30cb51781026\",\"_rev\":\"2096216426\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 529, + "text": "{\"_id\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"_rev\":\"1952240839\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -24613,7 +37865,7 @@ }, { "name": "etag", - "value": "\"2096216426\"" + "value": "\"1952240839\"" }, { "name": "expires", @@ -24629,15 +37881,15 @@ }, { "name": "content-length", - "value": "298" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24662,8 +37914,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.463Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:10.770Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -24671,11 +37923,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 80 } }, { - "_id": "d60340a7f5e5656ea81fc192dda4840c", + "_id": "eaee39bd8de75d64bc695391cbc152d3", "_order": 0, "cache": {}, "request": { @@ -24696,7 +37948,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24715,18 +37967,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/bcb8c535-5ecd-4d3d-b970-26816de96bf2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/56b82371-0c61-4dc3-8d06-c1158415b8f9" }, "response": { - "bodySize": 255, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 255, - "text": "{\"_id\":\"bcb8c535-5ecd-4d3d-b970-26816de96bf2\",\"_rev\":\"-2072424763\",\"tree\":\"j02\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"_rev\":\"2037842793\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -24764,7 +38016,7 @@ }, { "name": "etag", - "value": "\"-2072424763\"" + "value": "\"2037842793\"" }, { "name": "expires", @@ -24780,15 +38032,15 @@ }, { "name": "content-length", - "value": "255" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24807,14 +38059,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.464Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:10.771Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -24822,11 +38074,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 80 } }, { - "_id": "b57733ba7c2ee94a3169dd6b89715068", + "_id": "d55aec02f036f2e6849d384e80a37a94", "_order": 0, "cache": {}, "request": { @@ -24847,7 +38099,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -24866,18 +38118,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e0cfbd13-6f1e-4924-9d2d-0f7c23507172" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/6df24fdd-0b6c-4def-bf42-77af998f28b8" }, "response": { - "bodySize": 528, + "bodySize": 253, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 528, - "text": "{\"_id\":\"e0cfbd13-6f1e-4924-9d2d-0f7c23507172\",\"_rev\":\"278641360\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 253, + "text": "{\"_id\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"_rev\":\"425555480\",\"tree\":\"j08\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -24915,7 +38167,7 @@ }, { "name": "etag", - "value": "\"278641360\"" + "value": "\"425555480\"" }, { "name": "expires", @@ -24931,15 +38183,15 @@ }, { "name": "content-length", - "value": "528" + "value": "253" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -24964,8 +38216,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.464Z", - "time": 88, + "startedDateTime": "2024-11-05T21:22:10.772Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -24973,11 +38225,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 77 } }, { - "_id": "c312a41b098262892c7e99229bf7e941", + "_id": "d743522596646b6f7befd07d3a7bf1e8", "_order": 0, "cache": {}, "request": { @@ -24998,7 +38250,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25021,14 +38273,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fae7424e-13c9-45bd-b3a2-045773671a3f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8c5e9cb5-471b-4dd6-b150-ecaaeda98195" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"fae7424e-13c9-45bd-b3a2-045773671a3f\",\"_rev\":\"-502225245\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"_rev\":\"-1095657842\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25066,7 +38318,7 @@ }, { "name": "etag", - "value": "\"-502225245\"" + "value": "\"-1095657842\"" }, { "name": "expires", @@ -25082,15 +38334,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25109,14 +38361,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.465Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:10.773Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -25124,11 +38376,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 78 } }, { - "_id": "4684856543f16d16c04c97e00647c335", + "_id": "8e470dd8760fe12e108538e4a2678b75", "_order": 0, "cache": {}, "request": { @@ -25149,7 +38401,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25168,18 +38420,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j04" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f57cf53c-b4c6-48f7-84e8-91f535a2e8f8" }, "response": { - "bodySize": 1686, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j04\",\"_rev\":\"-1089876293\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"innerTreeOnly\":false,\"nodes\":{\"00e75aa0-2f9b-4895-9257-d515286fd64b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"040b6c89-313b-4664-92e0-6732017384b8\":{\"connections\":{\"level only\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"none\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"shared and level\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"shared only\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"69ae8ec1-de43-44ac-98e5-733db80ac176\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d10104e9-1f8d-4da6-a110-28d879d13959\":{\"connections\":{\"true\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"f5c317ce-fabd-4a10-9907-c71cea037844\":{\"connections\":{\"true\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 299, + "text": "{\"_id\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\",\"_rev\":\"-1901839502\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25217,7 +38469,7 @@ }, { "name": "etag", - "value": "\"-1089876293\"" + "value": "\"-1901839502\"" }, { "name": "expires", @@ -25233,15 +38485,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25260,14 +38512,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.556Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:10.774Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -25275,11 +38527,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 76 } }, { - "_id": "987c06ea446d93dc2da56452976681f8", + "_id": "2bc9b21b90002351a9c212a87bbc210d", "_order": 0, "cache": {}, "request": { @@ -25300,7 +38552,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25319,18 +38571,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/00e75aa0-2f9b-4895-9257-d515286fd64b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bb294e05-6b6b-4478-b46f-b8d9e7711c66" }, "response": { - "bodySize": 253, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"00e75aa0-2f9b-4895-9257-d515286fd64b\",\"_rev\":\"415392584\",\"tree\":\"j03\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 297, + "text": "{\"_id\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\",\"_rev\":\"620562185\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25368,7 +38620,7 @@ }, { "name": "etag", - "value": "\"415392584\"" + "value": "\"620562185\"" }, { "name": "expires", @@ -25384,15 +38636,15 @@ }, { "name": "content-length", - "value": "253" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25417,8 +38669,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.620Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:10.774Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -25426,11 +38678,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 77 } }, { - "_id": "b0c8dbd31d2cf5fb222385b648514c79", + "_id": "38e3e023ff18322a3aba1d982a005bc4", "_order": 0, "cache": {}, "request": { @@ -25451,7 +38703,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25470,18 +38722,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2011, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/040b6c89-313b-4664-92e0-6732017384b8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j10" }, "response": { - "bodySize": 529, + "bodySize": 1684, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"040b6c89-313b-4664-92e0-6732017384b8\",\"_rev\":\"-605917161\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 1684, + "text": "{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -25519,7 +38771,7 @@ }, { "name": "etag", - "value": "\"-605917161\"" + "value": "\"751431822\"" }, { "name": "expires", @@ -25535,15 +38787,15 @@ }, { "name": "content-length", - "value": "529" + "value": "1684" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25568,8 +38820,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.621Z", - "time": 90, + "startedDateTime": "2024-11-05T21:22:10.857Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -25577,11 +38829,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 60 } }, { - "_id": "15327126dda6066ae32c853e20646812", + "_id": "7bd39caaa5fd7bc7c5b63e9a8b4313c5", "_order": 0, "cache": {}, "request": { @@ -25602,7 +38854,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25625,14 +38877,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/69ae8ec1-de43-44ac-98e5-733db80ac176" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/300feda0-3248-49a9-b60f-01df802b2229" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"69ae8ec1-de43-44ac-98e5-733db80ac176\",\"_rev\":\"2146242142\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"_rev\":\"-1128011381\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25670,7 +38922,7 @@ }, { "name": "etag", - "value": "\"2146242142\"" + "value": "\"-1128011381\"" }, { "name": "expires", @@ -25686,15 +38938,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25713,14 +38965,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.622Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:10.923Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -25728,11 +38980,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 63 } }, { - "_id": "053f364c741884fa5d605b47f550419c", + "_id": "10c2ec5fa3c216e8aefeae079ae0267a", "_order": 0, "cache": {}, "request": { @@ -25753,7 +39005,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25776,14 +39028,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/9603ef52-30f0-4ddc-b3c0-28dac83c7bdb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/40afb384-e9b6-4dcb-acde-04de109474c8" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"9603ef52-30f0-4ddc-b3c0-28dac83c7bdb\",\"_rev\":\"1934780085\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"40afb384-e9b6-4dcb-acde-04de109474c8\",\"_rev\":\"-1673284725\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25821,7 +39073,7 @@ }, { "name": "etag", - "value": "\"1934780085\"" + "value": "\"-1673284725\"" }, { "name": "expires", @@ -25837,15 +39089,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -25864,14 +39116,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.622Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:10.924Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -25879,11 +39131,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 68 } }, { - "_id": "3e578a09ca6fdd1321dcda32ee5f8033", + "_id": "2afb861e8007ad4a02e40c2a0a420d38", "_order": 0, "cache": {}, "request": { @@ -25904,7 +39156,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -25927,14 +39179,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d10104e9-1f8d-4da6-a110-28d879d13959" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8d7d64ee-da20-461f-a2ca-206b7479dd67" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"d10104e9-1f8d-4da6-a110-28d879d13959\",\"_rev\":\"-219838938\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\",\"_rev\":\"-1870614074\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -25972,7 +39224,7 @@ }, { "name": "etag", - "value": "\"-219838938\"" + "value": "\"-1870614074\"" }, { "name": "expires", @@ -25988,15 +39240,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26015,14 +39267,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.623Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:10.925Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -26030,11 +39282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 62 } }, { - "_id": "e51dc307b38e72dc6b16c79effbb51bd", + "_id": "53bbc796bf390259adc0ab1bd676c9b5", "_order": 0, "cache": {}, "request": { @@ -26055,7 +39307,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26078,14 +39330,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f5c317ce-fabd-4a10-9907-c71cea037844" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/97ef9d96-99e7-4d2d-b6c6-4177b5397ead" }, "response": { - "bodySize": 298, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"f5c317ce-fabd-4a10-9907-c71cea037844\",\"_rev\":\"1796672161\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"_rev\":\"-1576825857\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -26123,7 +39375,7 @@ }, { "name": "etag", - "value": "\"1796672161\"" + "value": "\"-1576825857\"" }, { "name": "expires", @@ -26139,15 +39391,15 @@ }, { "name": "content-length", - "value": "298" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26166,14 +39418,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.624Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:10.926Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -26181,11 +39433,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 68 } }, { - "_id": "7ddb7f4cbb398fb6c053bcf4e1261081", + "_id": "08d1d8fd2a6265df2a39df41aa06a4a0", "_order": 0, "cache": {}, "request": { @@ -26206,7 +39458,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26225,18 +39477,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j05" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/c7fcf7ae-1ab5-474b-b5b0-272e10468fbd" }, "response": { - "bodySize": 1685, + "bodySize": 254, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j05\",\"_rev\":\"1652057497\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"innerTreeOnly\":false,\"nodes\":{\"11f1c31c-50a9-4717-8213-420f6932481f\":{\"connections\":{\"true\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"3c106772-ace7-4808-8f3a-9840de8f67f0\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"622179cb-98f1-484a-820d-9a0df6e45e95\":{\"connections\":{\"level only\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"none\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"shared and level\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"shared only\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"a0782616-84b7-4bf5-87ed-a01fb3018563\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"e90ae257-c279-46e0-9b43-5ecd89784d77\":{\"connections\":{\"true\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 254, + "text": "{\"_id\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"_rev\":\"-728542802\",\"tree\":\"j09\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -26274,7 +39526,7 @@ }, { "name": "etag", - "value": "\"1652057497\"" + "value": "\"-728542802\"" }, { "name": "expires", @@ -26290,15 +39542,15 @@ }, { "name": "content-length", - "value": "1685" + "value": "254" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26317,14 +39569,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.717Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:10.926Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -26332,11 +39584,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 69 } }, { - "_id": "dd23206a6b33ee8e573b6bce0af2e897", + "_id": "a4986da027e7b97e126cfbfac012f9e4", "_order": 0, "cache": {}, "request": { @@ -26357,7 +39609,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26380,14 +39632,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/11f1c31c-50a9-4717-8213-420f6932481f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c91d626e-1156-41bd-b1fb-d292f640fba6" }, "response": { - "bodySize": 297, + "bodySize": 529, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"11f1c31c-50a9-4717-8213-420f6932481f\",\"_rev\":\"715843294\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 529, + "text": "{\"_id\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"_rev\":\"1583393008\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" }, "cookies": [], "headers": [ @@ -26425,7 +39677,7 @@ }, { "name": "etag", - "value": "\"715843294\"" + "value": "\"1583393008\"" }, { "name": "expires", @@ -26441,15 +39693,15 @@ }, { "name": "content-length", - "value": "297" + "value": "529" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:10 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26468,14 +39720,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.796Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:10.927Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -26483,11 +39735,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 66 } }, { - "_id": "db105f4f6fe2be50621ecad4ec126bb1", + "_id": "24f6c70fe8d0304795e77b1ae157cddf", "_order": 0, "cache": {}, "request": { @@ -26508,7 +39760,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26527,18 +39779,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2013, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/3c106772-ace7-4808-8f3a-9840de8f67f0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Login" }, "response": { - "bodySize": 297, + "bodySize": 1877, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"3c106772-ace7-4808-8f3a-9840de8f67f0\",\"_rev\":\"202853816\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1877, + "text": "{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -26576,7 +39828,7 @@ }, { "name": "etag", - "value": "\"202853816\"" + "value": "\"-453684268\"" }, { "name": "expires", @@ -26592,15 +39844,15 @@ }, { "name": "content-length", - "value": "297" + "value": "1877" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26619,14 +39871,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.797Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:10.999Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -26634,11 +39886,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 61 } }, { - "_id": "b3b35052562eb0ebdba3dda027bf1a40", + "_id": "953ab30d4d73c2adf50bd79794dcc77e", "_order": 0, "cache": {}, "request": { @@ -26659,7 +39911,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26678,18 +39930,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/622179cb-98f1-484a-820d-9a0df6e45e95" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" }, "response": { - "bodySize": 530, + "bodySize": 270, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 530, - "text": "{\"_id\":\"622179cb-98f1-484a-820d-9a0df6e45e95\",\"_rev\":\"-1022065915\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 270, + "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -26727,7 +39979,7 @@ }, { "name": "etag", - "value": "\"-1022065915\"" + "value": "\"-1405518667\"" }, { "name": "expires", @@ -26743,15 +39995,15 @@ }, { "name": "content-length", - "value": "530" + "value": "270" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26776,8 +40028,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.798Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:11.066Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -26785,11 +40037,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 63 } }, { - "_id": "406753acb4b4e3d27aab3350bad1bb37", + "_id": "ac3b5d2206685c76b01bedfb73847a46", "_order": 0, "cache": {}, "request": { @@ -26810,7 +40062,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26829,18 +40081,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a0782616-84b7-4bf5-87ed-a01fb3018563" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/2119f332-0f69-4088-a7a1-6582bf0f2001" }, "response": { - "bodySize": 297, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"a0782616-84b7-4bf5-87ed-a01fb3018563\",\"_rev\":\"156265951\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"_rev\":\"-809908897\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -26878,7 +40130,7 @@ }, { "name": "etag", - "value": "\"156265951\"" + "value": "\"-809908897\"" }, { "name": "expires", @@ -26894,15 +40146,15 @@ }, { "name": "content-length", - "value": "297" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -26921,14 +40173,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.798Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:11.066Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -26936,11 +40188,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 75 } }, { - "_id": "a1da42ac4d483c25ff22e2e1e882d6fb", + "_id": "c83d775f1fac86f9c7524bb0c1e702ab", "_order": 0, "cache": {}, "request": { @@ -26961,7 +40213,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -26980,18 +40232,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/e90ae257-c279-46e0-9b43-5ecd89784d77" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/7f0c2aee-8c74-4d02-82a6-9d4ed9d11708" }, "response": { - "bodySize": 298, + "bodySize": 475, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"e90ae257-c279-46e0-9b43-5ecd89784d77\",\"_rev\":\"2040408899\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 475, + "text": "{\"_id\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\",\"_rev\":\"1663221949\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -27029,7 +40281,7 @@ }, { "name": "etag", - "value": "\"2040408899\"" + "value": "\"1663221949\"" }, { "name": "expires", @@ -27045,15 +40297,15 @@ }, { "name": "content-length", - "value": "298" + "value": "475" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27078,8 +40330,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.799Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:11.067Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -27087,11 +40339,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 72 } }, { - "_id": "1a11294b705e0e060e2472a58a3ac54b", + "_id": "511b5e7c7dcda08055d181a6d17aa4e8", "_order": 0, "cache": {}, "request": { @@ -27112,7 +40364,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27131,18 +40383,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2063, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/f17ecb7c-abc3-4523-9943-4cbdd90305cb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/51e8c4c1-3509-4635-90e6-d2cc31c4a6a5" }, "response": { - "bodySize": 253, + "bodySize": 222, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"f17ecb7c-abc3-4523-9943-4cbdd90305cb\",\"_rev\":\"730701700\",\"tree\":\"j04\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 222, + "text": "{\"_id\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"_rev\":\"-1811954406\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27180,7 +40432,7 @@ }, { "name": "etag", - "value": "\"730701700\"" + "value": "\"-1811954406\"" }, { "name": "expires", @@ -27196,15 +40448,15 @@ }, { "name": "content-length", - "value": "253" + "value": "222" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27223,14 +40475,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.800Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:11.067Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -27238,11 +40490,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 75 } }, { - "_id": "b7edc8f7f623ef8e100c183901c807e4", + "_id": "663dc8d90803f011b358f257462c297a", "_order": 0, "cache": {}, "request": { @@ -27263,7 +40515,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27282,18 +40534,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j06" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" }, "response": { - "bodySize": 1684, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1684, - "text": "{\"_id\":\"j06\",\"_rev\":\"605160891\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"innerTreeOnly\":false,\"nodes\":{\"1d59caff-243c-45bd-b7d0-6dcc563989c5\":{\"connections\":{\"true\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"409c251f-c23b-411d-9009-d3b3d26d1b90\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\":{\"connections\":{\"level only\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"none\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"shared and level\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"shared only\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"da878771-421c-463f-aad7-4d5f2ad5e59a\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"fe8f27df-8a27-4d88-9196-834ce398b2b7\":{\"connections\":{\"true\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 243, + "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27331,7 +40583,7 @@ }, { "name": "etag", - "value": "\"605160891\"" + "value": "\"2098371942\"" }, { "name": "expires", @@ -27347,15 +40599,15 @@ }, { "name": "content-length", - "value": "1684" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:14 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27380,8 +40632,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.888Z", - "time": 59, + "startedDateTime": "2024-11-05T21:22:11.068Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -27389,11 +40641,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 60 } }, { - "_id": "c994e25239221808046df1575f95cf15", + "_id": "9434f9123fc71b91d9a0b12bb4be1855", "_order": 0, "cache": {}, "request": { @@ -27414,7 +40666,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27433,18 +40685,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1d59caff-243c-45bd-b7d0-6dcc563989c5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" }, "response": { - "bodySize": 299, + "bodySize": 670, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"1d59caff-243c-45bd-b7d0-6dcc563989c5\",\"_rev\":\"-1941208375\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 670, + "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27482,7 +40734,7 @@ }, { "name": "etag", - "value": "\"-1941208375\"" + "value": "\"-1594114\"" }, { "name": "expires", @@ -27498,15 +40750,15 @@ }, { "name": "content-length", - "value": "299" + "value": "670" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27525,14 +40777,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.956Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:11.068Z", + "time": 150, "timings": { "blocked": -1, "connect": -1, @@ -27540,11 +40792,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 150 } }, { - "_id": "8f46865c8963b361e61798cad982fd2d", + "_id": "92148f26ceddcb135981e302c7e61f93", "_order": 0, "cache": {}, "request": { @@ -27565,7 +40817,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27584,18 +40836,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" }, "response": { - "bodySize": 298, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"2de08e9e-bf7b-4fa1-8265-59a8e4a3f7c3\",\"_rev\":\"1105672105\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 260, + "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27633,7 +40885,7 @@ }, { "name": "etag", - "value": "\"1105672105\"" + "value": "\"-2064640544\"" }, { "name": "expires", @@ -27649,15 +40901,15 @@ }, { "name": "content-length", - "value": "298" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27676,14 +40928,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.957Z", - "time": 78, + "startedDateTime": "2024-11-05T21:22:11.223Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -27691,11 +40943,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 66 } }, { - "_id": "34a1ad729a4b3396acfe9bcba6b8689b", + "_id": "400cf894f4ffc26e6835ed152a2d9b3f", "_order": 0, "cache": {}, "request": { @@ -27716,7 +40968,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27735,18 +40987,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/409c251f-c23b-411d-9009-d3b3d26d1b90" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" }, "response": { - "bodySize": 254, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"409c251f-c23b-411d-9009-d3b3d26d1b90\",\"_rev\":\"-688245766\",\"tree\":\"j05\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 260, + "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -27784,7 +41036,7 @@ }, { "name": "etag", - "value": "\"-688245766\"" + "value": "\"-1763423776\"" }, { "name": "expires", @@ -27800,15 +41052,15 @@ }, { "name": "content-length", - "value": "254" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27827,14 +41079,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.957Z", - "time": 111, + "startedDateTime": "2024-11-05T21:22:11.224Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -27842,11 +41094,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 111 + "wait": 66 } }, { - "_id": "bec64bd7f5c0e099837d3f569a4b9aac", + "_id": "7ca8caa6afeaaa71db865a069e0902fd", "_order": 0, "cache": {}, "request": { @@ -27867,7 +41119,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -27886,18 +41138,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/da878771-421c-463f-aad7-4d5f2ad5e59a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/OrphanedTest" }, "response": { - "bodySize": 298, + "bodySize": 831, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"da878771-421c-463f-aad7-4d5f2ad5e59a\",\"_rev\":\"1834306764\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 831, + "text": "{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -27935,7 +41187,7 @@ }, { "name": "etag", - "value": "\"1834306764\"" + "value": "\"-764260244\"" }, { "name": "expires", @@ -27951,15 +41203,15 @@ }, { "name": "content-length", - "value": "298" + "value": "831" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -27984,8 +41236,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.958Z", - "time": 77, + "startedDateTime": "2024-11-05T21:22:11.294Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -27993,11 +41245,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 90 } }, { - "_id": "82e391e58d13b2e4013cf7bd3020472c", + "_id": "7b22fe8eb1840e99b4020c3b5eb1496d", "_order": 0, "cache": {}, "request": { @@ -28018,7 +41270,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28037,18 +41289,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/44b8651c-7c1e-41f1-b9a6-2e441b0ce05a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/343e745f-923a-43c4-8675-649a490fd0a3" }, "response": { - "bodySize": 528, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 528, - "text": "{\"_id\":\"44b8651c-7c1e-41f1-b9a6-2e441b0ce05a\",\"_rev\":\"600150282\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 474, + "text": "{\"_id\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"_rev\":\"775696658\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -28086,7 +41338,7 @@ }, { "name": "etag", - "value": "\"600150282\"" + "value": "\"775696658\"" }, { "name": "expires", @@ -28102,15 +41354,15 @@ }, { "name": "content-length", - "value": "528" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28135,8 +41387,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.958Z", - "time": 93, + "startedDateTime": "2024-11-05T21:22:11.388Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -28144,11 +41396,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 86 } }, { - "_id": "f4003a36be1c3cc22cf7e46c22787889", + "_id": "da06405b031ae34c54ac304a337e9a7d", "_order": 0, "cache": {}, "request": { @@ -28169,7 +41421,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28188,18 +41440,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2026, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/fe8f27df-8a27-4d88-9196-834ce398b2b7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" }, "response": { - "bodySize": 298, + "bodySize": 1352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"fe8f27df-8a27-4d88-9196-834ce398b2b7\",\"_rev\":\"-274854951\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1352, + "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -28237,7 +41489,7 @@ }, { "name": "etag", - "value": "\"-274854951\"" + "value": "\"512701181\"" }, { "name": "expires", @@ -28253,15 +41505,15 @@ }, { "name": "content-length", - "value": "298" + "value": "1352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28286,8 +41538,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:14.959Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:11.479Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -28295,11 +41547,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 59 } }, { - "_id": "5ca028647d90e87ccf6462dbe26dee7f", + "_id": "5a0efe962033aacd324acd682a941daa", "_order": 0, "cache": {}, "request": { @@ -28320,7 +41572,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28339,18 +41591,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j07" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" }, "response": { - "bodySize": 1685, + "bodySize": 347, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1685, - "text": "{\"_id\":\"j07\",\"_rev\":\"-937100459\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"innerTreeOnly\":false,\"nodes\":{\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\":{\"connections\":{\"level only\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"none\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"shared and level\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"shared only\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\":{\"connections\":{\"true\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\":{\"connections\":{\"true\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 347, + "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"1288219125\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -28388,7 +41640,7 @@ }, { "name": "etag", - "value": "\"-937100459\"" + "value": "\"1288219125\"" }, { "name": "expires", @@ -28404,15 +41656,166 @@ }, { "name": "content-length", - "value": "1685" + "value": "347" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:11.543Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "45372e53b29867dc74ed412c24651e66", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2067, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" + }, + "response": { + "bodySize": 300, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 300, + "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1679047423\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "300" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:11 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28437,8 +41840,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.073Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:11.543Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -28446,11 +41849,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 71 } }, { - "_id": "77c7751f098702959a3a6b0cfc889c86", + "_id": "008434bbafd9e35ba6a8bfaaa580c46b", "_order": 0, "cache": {}, "request": { @@ -28471,7 +41874,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28490,18 +41893,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/13b12fe6-cf53-46a4-a83d-0a3c1fda814f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" }, "response": { - "bodySize": 529, + "bodySize": 387, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"13b12fe6-cf53-46a4-a83d-0a3c1fda814f\",\"_rev\":\"-729439911\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 387, + "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -28539,7 +41942,7 @@ }, { "name": "etag", - "value": "\"-729439911\"" + "value": "\"380010937\"" }, { "name": "expires", @@ -28555,15 +41958,15 @@ }, { "name": "content-length", - "value": "529" + "value": "387" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28582,14 +41985,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.141Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:11.544Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -28597,11 +42000,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 68 } }, { - "_id": "b3388109a987c7aa0fd760a2910203c0", + "_id": "84769f63c358dd689243ea9740fe3bbf", "_order": 0, "cache": {}, "request": { @@ -28622,7 +42025,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28641,18 +42044,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" }, "response": { - "bodySize": 298, + "bodySize": 378, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"ac6ee166-73c0-4f73-b8db-4fe8ff6a25c0\",\"_rev\":\"-657863610\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 378, + "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -28690,7 +42093,7 @@ }, { "name": "etag", - "value": "\"-657863610\"" + "value": "\"-1852493841\"" }, { "name": "expires", @@ -28706,15 +42109,15 @@ }, { "name": "content-length", - "value": "298" + "value": "378" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28733,14 +42136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.141Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:11.544Z", + "time": 69, "timings": { "blocked": -1, "connect": -1, @@ -28748,11 +42151,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 69 } }, { - "_id": "5c566417ffc3d987bcd0c0bd81e452bd", + "_id": "c1155efa8ce487ae4ca29d579b03ad49", "_order": 0, "cache": {}, "request": { @@ -28773,7 +42176,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28792,18 +42195,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d90dd9f8-8b12-4e90-abaf-228ecc0174a7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" }, "response": { - "bodySize": 298, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"d90dd9f8-8b12-4e90-abaf-228ecc0174a7\",\"_rev\":\"1401033700\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 351, + "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -28841,7 +42244,7 @@ }, { "name": "etag", - "value": "\"1401033700\"" + "value": "\"-1210529544\"" }, { "name": "expires", @@ -28857,15 +42260,15 @@ }, { "name": "content-length", - "value": "298" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -28884,14 +42287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.142Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:11.620Z", + "time": 121, "timings": { "blocked": -1, "connect": -1, @@ -28899,11 +42302,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 121 } }, { - "_id": "d30fd8a046522109e0590b643dff9e10", + "_id": "631e3d60e32140c0ba65aa36c5278edb", "_order": 0, "cache": {}, "request": { @@ -28924,7 +42327,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -28943,18 +42346,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2019, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/RadioChoice" }, "response": { - "bodySize": 254, + "bodySize": 650, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"e62d7a4d-2012-4a2a-a6ef-d6a0e0d552d9\",\"_rev\":\"1658650162\",\"tree\":\"j06\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 650, + "text": "{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -28992,7 +42395,7 @@ }, { "name": "etag", - "value": "\"1658650162\"" + "value": "\"947126104\"" }, { "name": "expires", @@ -29008,15 +42411,15 @@ }, { "name": "content-length", - "value": "254" + "value": "650" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29035,14 +42438,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.143Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:11.747Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -29050,11 +42453,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 67 } }, { - "_id": "163da4466c4d604293cd03cfc279986c", + "_id": "00f0ab1c559f441eb9691ebc7c4763e6", "_order": 0, "cache": {}, "request": { @@ -29075,7 +42478,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29094,18 +42497,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d9a06d3a-7e3f-4244-9a32-63ffa0d26e00" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5d6cd20e-5074-43de-8832-fddd95fb078e" }, "response": { - "bodySize": 299, + "bodySize": 516, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"d9a06d3a-7e3f-4244-9a32-63ffa0d26e00\",\"_rev\":\"-1427545353\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 516, + "text": "{\"_id\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"_rev\":\"-450923473\",\"nodes\":[{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"nodeType\":\"ChoiceCollectorNode\",\"displayName\":\"Choice Collector\"}],\"pageDescription\":{},\"stage\":\"{\\\"ChoiceCallback\\\":[{\\\"id\\\":\\\"a566e474-99f3-46e4-9e70-682402bfaa84\\\",\\\"displayType\\\":\\\"radio\\\"}]}\",\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" }, "cookies": [], "headers": [ @@ -29143,7 +42546,7 @@ }, { "name": "etag", - "value": "\"-1427545353\"" + "value": "\"-450923473\"" }, { "name": "expires", @@ -29159,15 +42562,15 @@ }, { "name": "content-length", - "value": "299" + "value": "516" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29186,14 +42589,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.143Z", - "time": 84, + "startedDateTime": "2024-11-05T21:22:11.820Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -29201,11 +42604,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 64 } }, { - "_id": "a14da1b980f343aed5e806b7fd6a44f4", + "_id": "23de842fe257416bd82dea1b681259b5", "_order": 0, "cache": {}, "request": { @@ -29226,7 +42629,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29245,18 +42648,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2064, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f2fe740c-cd75-460a-8baa-fe4b52ecc947" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ChoiceCollectorNode/a566e474-99f3-46e4-9e70-682402bfaa84" }, "response": { - "bodySize": 298, + "bodySize": 338, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"f2fe740c-cd75-460a-8baa-fe4b52ecc947\",\"_rev\":\"-976416946\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 338, + "text": "{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"_rev\":\"-514175851\",\"defaultChoice\":\"one\",\"choices\":[\"one\",\"two\",\"three\"],\"prompt\":\"Choice?\",\"_type\":{\"_id\":\"ChoiceCollectorNode\",\"name\":\"Choice Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" }, "cookies": [], "headers": [ @@ -29294,7 +42697,7 @@ }, { "name": "etag", - "value": "\"-976416946\"" + "value": "\"-514175851\"" }, { "name": "expires", @@ -29310,15 +42713,15 @@ }, { "name": "content-length", - "value": "298" + "value": "338" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:11 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29343,8 +42746,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.144Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:11.888Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -29352,11 +42755,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 67 } }, { - "_id": "e900b6a9f7e91e710e046341c614b2d9", + "_id": "7ddcc2b82c4a157177a5917c9a16b2e8", "_order": 0, "cache": {}, "request": { @@ -29377,7 +42780,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29396,18 +42799,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j08" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Registration" }, "response": { - "bodySize": 1686, + "bodySize": 1239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j08\",\"_rev\":\"-1997695217\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"innerTreeOnly\":false,\"nodes\":{\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\":{\"connections\":{\"true\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":232.015625},\"8096649e-973e-4209-88ce-e1d87ae2bb96\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"948e21f4-c512-450a-9d42-e0d629217834\":{\"connections\":{\"true\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"d429b2b5-b215-46a5-b239-4994df65cb8b\":{\"connections\":{\"level only\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"none\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"shared and level\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"shared only\":\"948e21f4-c512-450a-9d42-e0d629217834\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 1239, + "text": "{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -29445,7 +42848,7 @@ }, { "name": "etag", - "value": "\"-1997695217\"" + "value": "\"-340494482\"" }, { "name": "expires", @@ -29461,15 +42864,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "1239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29488,14 +42891,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.232Z", - "time": 88, + "startedDateTime": "2024-11-05T21:22:11.960Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -29503,11 +42906,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 61 } }, { - "_id": "cf89f542a3d4d9ed2251a863db288ef1", + "_id": "d3bd13cf2c05905fa1ca40d9c36f4e57", "_order": 0, "cache": {}, "request": { @@ -29528,7 +42931,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29547,18 +42950,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/042b600b-71cb-45a8-93ae-a6f57b16a6e5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/466f8b54-07fb-4e31-a11d-a6842618cc37" }, "response": { - "bodySize": 297, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"042b600b-71cb-45a8-93ae-a6f57b16a6e5\",\"_rev\":\"336262962\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 436, + "text": "{\"_id\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\",\"_rev\":\"1064387237\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -29596,7 +42999,7 @@ }, { "name": "etag", - "value": "\"336262962\"" + "value": "\"1064387237\"" }, { "name": "expires", @@ -29612,15 +43015,15 @@ }, { "name": "content-length", - "value": "297" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29639,14 +43042,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.328Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:12.028Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -29654,11 +43057,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 63 } }, { - "_id": "d27ae0b7b2c44fe89676df4e60381a80", + "_id": "9e8c469a59a9a045428ebb32cffe0e39", "_order": 0, "cache": {}, "request": { @@ -29679,7 +43082,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29698,18 +43101,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/66026170-5088-4fcd-a6c8-ed89d7a5c79d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" }, "response": { - "bodySize": 254, + "bodySize": 1092, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"66026170-5088-4fcd-a6c8-ed89d7a5c79d\",\"_rev\":\"-245838054\",\"tree\":\"j07\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1092, + "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"-30816295\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"stage\":\"{\\\"ValidatedCreatePasswordCallback\\\":[{\\\"id\\\":\\\"3d8709a1-f09f-4d1f-8094-2850e472c1db\\\",\\\"confirmPassword\\\":true,\\\"policyDisplayCheckmark\\\":true}]}\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -29747,7 +43150,7 @@ }, { "name": "etag", - "value": "\"-245838054\"" + "value": "\"-30816295\"" }, { "name": "expires", @@ -29763,15 +43166,15 @@ }, { "name": "content-length", - "value": "254" + "value": "1092" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29796,8 +43199,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.328Z", - "time": 86, + "startedDateTime": "2024-11-05T21:22:12.028Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -29805,11 +43208,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 73 } }, { - "_id": "720c48256428f243936de73a812ea966", + "_id": "2d3bdeba8c45a258964597a30549a138", "_order": 0, "cache": {}, "request": { @@ -29830,7 +43233,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -29849,18 +43252,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8096649e-973e-4209-88ce-e1d87ae2bb96" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" }, "response": { - "bodySize": 297, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"8096649e-973e-4209-88ce-e1d87ae2bb96\",\"_rev\":\"487424420\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 243, + "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -29898,7 +43301,7 @@ }, { "name": "etag", - "value": "\"487424420\"" + "value": "\"-841385771\"" }, { "name": "expires", @@ -29914,15 +43317,15 @@ }, { "name": "content-length", - "value": "297" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -29941,14 +43344,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.329Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:12.029Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -29956,11 +43359,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 65 } }, { - "_id": "e2115179cd6d008c31bc82dd0fb38117", + "_id": "20d5e3297b927ca274b6eb25363ac24c", "_order": 0, "cache": {}, "request": { @@ -29981,7 +43384,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30000,18 +43403,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" }, "response": { - "bodySize": 299, + "bodySize": 277, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"87ced99b-bfa5-40d4-ba07-c8fc31f6cc6d\",\"_rev\":\"-1836282733\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 277, + "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"-612221945\",\"identityResource\":\"managed/alpha_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -30049,7 +43452,7 @@ }, { "name": "etag", - "value": "\"-1836282733\"" + "value": "\"-612221945\"" }, { "name": "expires", @@ -30065,15 +43468,15 @@ }, { "name": "content-length", - "value": "299" + "value": "277" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30092,14 +43495,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.329Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:12.030Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -30107,11 +43510,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 64 } }, { - "_id": "6777d627b264810fa1e72117bd5365b1", + "_id": "93d2e07beb6012897283c4a95970ef06", "_order": 0, "cache": {}, "request": { @@ -30132,7 +43535,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30151,18 +43554,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d429b2b5-b215-46a5-b239-4994df65cb8b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" }, "response": { - "bodySize": 529, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"d429b2b5-b215-46a5-b239-4994df65cb8b\",\"_rev\":\"-354817335\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 258, + "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30200,7 +43603,7 @@ }, { "name": "etag", - "value": "\"-354817335\"" + "value": "\"1966656034\"" }, { "name": "expires", @@ -30216,15 +43619,15 @@ }, { "name": "content-length", - "value": "529" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30249,8 +43652,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.330Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:12.107Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -30258,11 +43661,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 79 } }, { - "_id": "ba37ffbe2db24df210564f1e523833a2", + "_id": "4b85e6f316361f022106bd44058700fa", "_order": 0, "cache": {}, "request": { @@ -30283,7 +43686,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30302,18 +43705,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/948e21f4-c512-450a-9d42-e0d629217834" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" }, "response": { - "bodySize": 298, + "bodySize": 373, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"948e21f4-c512-450a-9d42-e0d629217834\",\"_rev\":\"1493812252\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 373, + "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30351,7 +43754,7 @@ }, { "name": "etag", - "value": "\"1493812252\"" + "value": "\"-1158802257\"" }, { "name": "expires", @@ -30367,15 +43770,15 @@ }, { "name": "content-length", - "value": "298" + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30394,14 +43797,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.330Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:12.108Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -30409,11 +43812,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 76 } }, { - "_id": "c8686b6598efaaf569577e5986df5d38", + "_id": "7b8b9ba1265400f4cc8e2c9ccf76f679", "_order": 0, "cache": {}, "request": { @@ -30434,7 +43837,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30453,18 +43856,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j09" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" }, "response": { - "bodySize": 1686, + "bodySize": 272, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"_id\":\"j09\",\"_rev\":\"-1358707527\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"innerTreeOnly\":false,\"nodes\":{\"251f35c3-1a32-4520-be10-1f4af9600935\":{\"connections\":{\"level only\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"none\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"shared and level\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"shared only\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625},\"56b82371-0c61-4dc3-8d06-c1158415b8f9\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"6df24fdd-0b6c-4def-bf42-77af998f28b8\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\":{\"connections\":{\"true\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\":{\"connections\":{\"true\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 272, + "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30502,7 +43905,7 @@ }, { "name": "etag", - "value": "\"-1358707527\"" + "value": "\"-8134977\"" }, { "name": "expires", @@ -30518,15 +43921,15 @@ }, { "name": "content-length", - "value": "1686" + "value": "272" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30545,14 +43948,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.418Z", - "time": 56, + "startedDateTime": "2024-11-05T21:22:12.109Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -30560,11 +43963,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 63 } }, { - "_id": "d25a908ff0f52675f11f83a7e59aabb3", + "_id": "188824f8c0922f65b2cb19e3b9cb2515", "_order": 0, "cache": {}, "request": { @@ -30585,7 +43988,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30604,18 +44007,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/251f35c3-1a32-4520-be10-1f4af9600935" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" }, "response": { - "bodySize": 529, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"251f35c3-1a32-4520-be10-1f4af9600935\",\"_rev\":\"1952240839\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 259, + "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30653,7 +44056,7 @@ }, { "name": "etag", - "value": "\"1952240839\"" + "value": "\"-1470058997\"" }, { "name": "expires", @@ -30669,15 +44072,15 @@ }, { "name": "content-length", - "value": "529" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30696,14 +44099,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.481Z", - "time": 120, + "startedDateTime": "2024-11-05T21:22:12.109Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -30711,11 +44114,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 76 } }, { - "_id": "eaee39bd8de75d64bc695391cbc152d3", + "_id": "85c3bfe52f9900e35685594eded4cee0", "_order": 0, "cache": {}, "request": { @@ -30736,7 +44139,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30755,18 +44158,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/56b82371-0c61-4dc3-8d06-c1158415b8f9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" }, "response": { - "bodySize": 298, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"56b82371-0c61-4dc3-8d06-c1158415b8f9\",\"_rev\":\"2037842793\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 223, + "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -30804,7 +44207,7 @@ }, { "name": "etag", - "value": "\"2037842793\"" + "value": "\"1508860909\"" }, { "name": "expires", @@ -30820,15 +44223,15 @@ }, { "name": "content-length", - "value": "298" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30853,8 +44256,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.482Z", - "time": 119, + "startedDateTime": "2024-11-05T21:22:12.110Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -30862,11 +44265,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 119 + "wait": 76 } }, { - "_id": "d55aec02f036f2e6849d384e80a37a94", + "_id": "4a3c66df9fc375ae45849605f558c01f", "_order": 0, "cache": {}, "request": { @@ -30887,7 +44290,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -30906,18 +44309,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2021, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/6df24fdd-0b6c-4def-bf42-77af998f28b8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ResetPassword" }, "response": { - "bodySize": 253, + "bodySize": 1435, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 253, - "text": "{\"_id\":\"6df24fdd-0b6c-4def-bf42-77af998f28b8\",\"_rev\":\"425555480\",\"tree\":\"j08\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1435, + "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -30955,7 +44358,7 @@ }, { "name": "etag", - "value": "\"425555480\"" + "value": "\"-501795106\"" }, { "name": "expires", @@ -30971,15 +44374,15 @@ }, { "name": "content-length", - "value": "253" + "value": "1435" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -30998,14 +44401,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.482Z", - "time": 120, + "startedDateTime": "2024-11-05T21:22:12.190Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -31013,11 +44416,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 59 } }, { - "_id": "d743522596646b6f7befd07d3a7bf1e8", + "_id": "7590e3052d2dd66ef963a210ac10709c", "_order": 0, "cache": {}, "request": { @@ -31038,7 +44441,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31057,18 +44460,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8c5e9cb5-471b-4dd6-b150-ecaaeda98195" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" }, "response": { - "bodySize": 299, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"8c5e9cb5-471b-4dd6-b150-ecaaeda98195\",\"_rev\":\"-1095657842\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 433, + "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31106,7 +44509,7 @@ }, { "name": "etag", - "value": "\"-1095657842\"" + "value": "\"-1138066714\"" }, { "name": "expires", @@ -31122,15 +44525,15 @@ }, { "name": "content-length", - "value": "299" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31155,8 +44558,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.483Z", - "time": 119, + "startedDateTime": "2024-11-05T21:22:12.255Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -31164,11 +44567,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 119 + "wait": 71 } }, { - "_id": "8e470dd8760fe12e108538e4a2678b75", + "_id": "361169982eadc2849f9a635d70f0ec84", "_order": 0, "cache": {}, "request": { @@ -31189,7 +44592,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31208,18 +44611,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f57cf53c-b4c6-48f7-84e8-91f535a2e8f8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" }, "response": { - "bodySize": 299, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"f57cf53c-b4c6-48f7-84e8-91f535a2e8f8\",\"_rev\":\"-1901839502\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 295, + "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -31257,7 +44660,7 @@ }, { "name": "etag", - "value": "\"-1901839502\"" + "value": "\"402776485\"" }, { "name": "expires", @@ -31273,15 +44676,15 @@ }, { "name": "content-length", - "value": "299" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31300,14 +44703,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.484Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:12.256Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -31315,11 +44718,162 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 72 } }, { - "_id": "2bc9b21b90002351a9c212a87bbc210d", + "_id": "cc85b555d920cb57ea39666194165b14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2060, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" + }, + "response": { + "bodySize": 342, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 342, + "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"555551070\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"555551070\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "342" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:12 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:12.257Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "2b5e08dacdc3abd63008ccdf93339c6a", "_order": 0, "cache": {}, "request": { @@ -31340,7 +44894,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31359,18 +44913,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bb294e05-6b6b-4478-b46f-b8d9e7711c66" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" }, "response": { - "bodySize": 297, + "bodySize": 391, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"bb294e05-6b6b-4478-b46f-b8d9e7711c66\",\"_rev\":\"620562185\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 391, + "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31408,7 +44962,7 @@ }, { "name": "etag", - "value": "\"620562185\"" + "value": "\"1593283676\"" }, { "name": "expires", @@ -31424,15 +44978,15 @@ }, { "name": "content-length", - "value": "297" + "value": "391" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31451,14 +45005,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.484Z", - "time": 118, + "startedDateTime": "2024-11-05T21:22:12.257Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -31466,11 +45020,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 118 + "wait": 72 } }, { - "_id": "38e3e023ff18322a3aba1d982a005bc4", + "_id": "1b23fbc14f2647a4ba3009a1131885cf", "_order": 0, "cache": {}, "request": { @@ -31491,7 +45045,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31510,18 +45064,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/j10" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" }, "response": { - "bodySize": 1684, + "bodySize": 444, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1684, - "text": "{\"_id\":\"j10\",\"_rev\":\"751431822\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"innerTreeOnly\":false,\"nodes\":{\"300feda0-3248-49a9-b60f-01df802b2229\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":395,\"y\":345.015625},\"40afb384-e9b6-4dcb-acde-04de109474c8\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":393,\"y\":259.015625},\"8d7d64ee-da20-461f-a2ca-206b7479dd67\":{\"connections\":{\"true\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\"},\"displayName\":\"level\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":598,\"y\":173.015625},\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\":{\"connections\":{\"true\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\"},\"displayName\":\"shared\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":392,\"y\":173.015625},\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"nest\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":816,\"y\":233.015625},\"c91d626e-1156-41bd-b1fb-d292f640fba6\":{\"connections\":{\"level only\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"none\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"shared and level\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"shared only\":\"40afb384-e9b6-4dcb-acde-04de109474c8\"},\"displayName\":\"mode\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":167,\"y\":210.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1236,\"y\":145},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1236,\"y\":253},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 444, + "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31559,7 +45113,7 @@ }, { "name": "etag", - "value": "\"751431822\"" + "value": "\"86486605\"" }, { "name": "expires", @@ -31575,15 +45129,15 @@ }, { "name": "content-length", - "value": "1684" + "value": "444" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31602,14 +45156,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.607Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:12.257Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -31617,11 +45171,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 78 } }, { - "_id": "7bd39caaa5fd7bc7c5b63e9a8b4313c5", + "_id": "6db700cc0b02b6597c541c9803c1d6dc", "_order": 0, "cache": {}, "request": { @@ -31642,7 +45196,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31661,18 +45215,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/300feda0-3248-49a9-b60f-01df802b2229" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" }, "response": { - "bodySize": 299, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"300feda0-3248-49a9-b60f-01df802b2229\",\"_rev\":\"-1128011381\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 257, + "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31710,7 +45264,7 @@ }, { "name": "etag", - "value": "\"-1128011381\"" + "value": "\"519412822\"" }, { "name": "expires", @@ -31726,15 +45280,15 @@ }, { "name": "content-length", - "value": "299" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31753,14 +45307,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.679Z", - "time": 109, + "startedDateTime": "2024-11-05T21:22:12.339Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -31768,11 +45322,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 109 + "wait": 60 } }, { - "_id": "10c2ec5fa3c216e8aefeae079ae0267a", + "_id": "21e351eb59f50bfb7962aab70fe392cb", "_order": 0, "cache": {}, "request": { @@ -31793,7 +45347,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31812,18 +45366,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/40afb384-e9b6-4dcb-acde-04de109474c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" }, "response": { - "bodySize": 299, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"40afb384-e9b6-4dcb-acde-04de109474c8\",\"_rev\":\"-1673284725\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 307, + "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -31861,7 +45415,7 @@ }, { "name": "etag", - "value": "\"-1673284725\"" + "value": "\"-1256358519\"" }, { "name": "expires", @@ -31877,15 +45431,15 @@ }, { "name": "content-length", - "value": "299" + "value": "307" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -31910,8 +45464,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.680Z", - "time": 99, + "startedDateTime": "2024-11-05T21:22:12.339Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -31919,11 +45473,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 99 + "wait": 70 } }, { - "_id": "2afb861e8007ad4a02e40c2a0a420d38", + "_id": "9cb764434e3ce3012b63cabaf9ea86cb", "_order": 0, "cache": {}, "request": { @@ -31944,7 +45498,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -31963,18 +45517,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2012, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/8d7d64ee-da20-461f-a2ca-206b7479dd67" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/test" }, "response": { - "bodySize": 299, + "bodySize": 360, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"8d7d64ee-da20-461f-a2ca-206b7479dd67\",\"_rev\":\"-1870614074\",\"script\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 360, + "text": "{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32012,7 +45566,7 @@ }, { "name": "etag", - "value": "\"-1870614074\"" + "value": "\"279923916\"" }, { "name": "expires", @@ -32028,15 +45582,15 @@ }, { "name": "content-length", - "value": "299" + "value": "360" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32055,14 +45609,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.680Z", - "time": 105, + "startedDateTime": "2024-11-05T21:22:12.415Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -32070,11 +45624,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 105 + "wait": 62 } }, { - "_id": "a4986da027e7b97e126cfbfac012f9e4", + "_id": "4f9807e42f46045d0a16b4829be70f91", "_order": 0, "cache": {}, "request": { @@ -32095,7 +45649,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32114,18 +45668,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2022, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c91d626e-1156-41bd-b1fb-d292f640fba6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/UpdatePassword" }, "response": { - "bodySize": 529, + "bodySize": 1888, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 529, - "text": "{\"_id\":\"c91d626e-1156-41bd-b1fb-d292f640fba6\",\"_rev\":\"1583393008\",\"script\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"outcomes\":[\"shared and level\",\"shared only\",\"level only\",\"none\"],\"outputs\":[\"*\",\"mode\",\"level\"],\"inputs\":[\"*\",\"mode\",\"level\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"shared and level\",\"displayName\":\"shared and level\"},{\"id\":\"shared only\",\"displayName\":\"shared only\"},{\"id\":\"level only\",\"displayName\":\"level only\"},{\"id\":\"none\",\"displayName\":\"none\"}]}" + "size": 1888, + "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -32163,7 +45717,7 @@ }, { "name": "etag", - "value": "\"1583393008\"" + "value": "\"-1067190791\"" }, { "name": "expires", @@ -32179,15 +45733,15 @@ }, { "name": "content-length", - "value": "529" + "value": "1888" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32206,14 +45760,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.681Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:12.480Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -32221,11 +45775,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 60 } }, { - "_id": "53bbc796bf390259adc0ab1bd676c9b5", + "_id": "fceb7a73a0db73b69c1439ea2fe64b49", "_order": 0, "cache": {}, "request": { @@ -32246,7 +45800,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32265,18 +45819,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/97ef9d96-99e7-4d2d-b6c6-4177b5397ead" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" }, "response": { - "bodySize": 299, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"97ef9d96-99e7-4d2d-b6c6-4177b5397ead\",\"_rev\":\"-1576825857\",\"script\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 315, + "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -32314,7 +45868,7 @@ }, { "name": "etag", - "value": "\"-1576825857\"" + "value": "\"-1218497043\"" }, { "name": "expires", @@ -32330,15 +45884,15 @@ }, { "name": "content-length", - "value": "299" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32363,7 +45917,7 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.681Z", + "startedDateTime": "2024-11-05T21:22:12.546Z", "time": 98, "timings": { "blocked": -1, @@ -32376,7 +45930,7 @@ } }, { - "_id": "08d1d8fd2a6265df2a39df41aa06a4a0", + "_id": "97a7f46b21ceac60cabf4c1b6977bf75", "_order": 0, "cache": {}, "request": { @@ -32397,7 +45951,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32416,18 +45970,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/c7fcf7ae-1ab5-474b-b5b0-272e10468fbd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" }, "response": { - "bodySize": 254, + "bodySize": 408, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 254, - "text": "{\"_id\":\"c7fcf7ae-1ab5-474b-b5b0-272e10468fbd\",\"_rev\":\"-728542802\",\"tree\":\"j09\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 408, + "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32465,7 +46019,7 @@ }, { "name": "etag", - "value": "\"-728542802\"" + "value": "\"1965792723\"" }, { "name": "expires", @@ -32481,15 +46035,15 @@ }, { "name": "content-length", - "value": "254" + "value": "408" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32514,8 +46068,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.681Z", - "time": 106, + "startedDateTime": "2024-11-05T21:22:12.547Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -32523,11 +46077,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 106 + "wait": 87 } }, { - "_id": "24f6c70fe8d0304795e77b1ae157cddf", + "_id": "1f89ce13cc80637c9011c92f38cabd40", "_order": 0, "cache": {}, "request": { @@ -32548,7 +46102,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32567,18 +46121,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2013, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Login" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" }, "response": { - "bodySize": 1877, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1877, - "text": "{\"_id\":\"Login\",\"_rev\":\"-453684268\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"2119f332-0f69-4088-a7a1-6582bf0f2001\":{\"connections\":{\"Reject\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":612,\"y\":105.015625},\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":827,\"y\":13},\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":836,\"y\":184.015625},\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":352,\"y\":40.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":579,\"y\":34}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1073,\"y\":30},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":761,\"y\":401},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 238, + "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -32616,7 +46170,7 @@ }, { "name": "etag", - "value": "\"-453684268\"" + "value": "\"869693667\"" }, { "name": "expires", @@ -32632,15 +46186,15 @@ }, { "name": "content-length", - "value": "1877" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32659,14 +46213,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.792Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:12.548Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -32674,11 +46228,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 93 } }, { - "_id": "ac3b5d2206685c76b01bedfb73847a46", + "_id": "6ae2a4988b528efc83fbd1fb07ec6e64", "_order": 0, "cache": {}, "request": { @@ -32699,7 +46253,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32718,18 +46272,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/2119f332-0f69-4088-a7a1-6582bf0f2001" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" }, "response": { - "bodySize": 299, + "bodySize": 357, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"2119f332-0f69-4088-a7a1-6582bf0f2001\",\"_rev\":\"-809908897\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 357, + "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-212483341\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -32767,7 +46321,7 @@ }, { "name": "etag", - "value": "\"-809908897\"" + "value": "\"-212483341\"" }, { "name": "expires", @@ -32783,15 +46337,15 @@ }, { "name": "content-length", - "value": "299" + "value": "357" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32816,8 +46370,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.862Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:12.548Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -32825,11 +46379,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 97 } }, { - "_id": "953ab30d4d73c2adf50bd79794dcc77e", + "_id": "ec4a524211626352dd8d28d774aa7dde", "_order": 0, "cache": {}, "request": { @@ -32850,7 +46404,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -32869,18 +46423,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" }, "response": { - "bodySize": 270, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 270, - "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 396, + "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -32918,7 +46472,7 @@ }, { "name": "etag", - "value": "\"-1405518667\"" + "value": "\"-1359533036\"" }, { "name": "expires", @@ -32934,15 +46488,15 @@ }, { "name": "content-length", - "value": "270" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -32967,8 +46521,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.863Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:12.549Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -32976,11 +46530,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 75 } }, { - "_id": "511b5e7c7dcda08055d181a6d17aa4e8", + "_id": "c07df926620986b6c7142a8f9170f9a2", "_order": 0, "cache": {}, "request": { @@ -33001,7 +46555,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33020,18 +46574,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2063, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/51e8c4c1-3509-4635-90e6-d2cc31c4a6a5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" }, "response": { - "bodySize": 222, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 222, - "text": "{\"_id\":\"51e8c4c1-3509-4635-90e6-d2cc31c4a6a5\",\"_rev\":\"-1811954406\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 485, + "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33069,7 +46623,7 @@ }, { "name": "etag", - "value": "\"-1811954406\"" + "value": "\"-1059437256\"" }, { "name": "expires", @@ -33085,15 +46639,15 @@ }, { "name": "content-length", - "value": "222" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33118,8 +46672,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.863Z", - "time": 96, + "startedDateTime": "2024-11-05T21:22:12.549Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -33127,11 +46681,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 92 } }, { - "_id": "9434f9123fc71b91d9a0b12bb4be1855", + "_id": "267bc3b0973288f87c9db890cc611bd2", "_order": 0, "cache": {}, "request": { @@ -33152,7 +46706,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33171,18 +46725,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" }, "response": { - "bodySize": 670, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 670, - "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 256, + "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33220,7 +46774,7 @@ }, { "name": "etag", - "value": "\"-1594114\"" + "value": "\"-716667889\"" }, { "name": "expires", @@ -33236,15 +46790,15 @@ }, { "name": "content-length", - "value": "670" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33263,14 +46817,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.864Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:12.550Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -33278,11 +46832,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 91 } }, { - "_id": "c83d775f1fac86f9c7524bb0c1e702ab", + "_id": "806220cad255afb8f02cf9ac74828371", "_order": 0, "cache": {}, "request": { @@ -33303,7 +46857,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33322,18 +46876,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/7f0c2aee-8c74-4d02-82a6-9d4ed9d11708" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" }, "response": { - "bodySize": 475, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 475, - "text": "{\"_id\":\"7f0c2aee-8c74-4d02-82a6-9d4ed9d11708\",\"_rev\":\"1663221949\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 258, + "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33371,7 +46925,7 @@ }, { "name": "etag", - "value": "\"1663221949\"" + "value": "\"875005143\"" }, { "name": "expires", @@ -33387,15 +46941,15 @@ }, { "name": "content-length", - "value": "475" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33414,14 +46968,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.864Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:12.651Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -33429,11 +46983,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 64 } }, { - "_id": "663dc8d90803f011b358f257462c297a", + "_id": "4f146a167caec4cdd94f43a9c735e9ae", "_order": 0, "cache": {}, "request": { @@ -33454,7 +47008,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -33473,18 +47027,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" }, "response": { - "bodySize": 243, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -33522,7 +47076,7 @@ }, { "name": "etag", - "value": "\"2098371942\"" + "value": "\"688403743\"" }, { "name": "expires", @@ -33538,15 +47092,15 @@ }, { "name": "content-length", - "value": "243" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:15 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33565,14 +47119,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.865Z", - "time": 88, + "startedDateTime": "2024-11-05T21:22:12.652Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -33580,11 +47134,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 65 } }, { - "_id": "400cf894f4ffc26e6835ed152a2d9b3f", + "_id": "31ad319ca7114c6e8608b7f072b78668", "_order": 0, "cache": {}, "request": { @@ -33605,11 +47159,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -33624,45 +47174,50 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2083, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" }, "response": { - "bodySize": 260, + "bodySize": 4914, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "mimeType": "application/json;charset=utf-8", + "size": 4914, + "text": "{\"result\":[{\"_id\":\"0f357b7e-6c54-4351-a094-43916877d7e5\",\"_rev\":\"9cfb52a0-12fa-4084-ba1e-5df17e60cf46-642\",\"authoritative\":false,\"connectorId\":\"Azure\",\"description\":\"Azure\",\"icon\":\"\",\"mappingNames\":[\"systemAzureUser_managedAlpha_user\",\"managedAlpha_user_systemAzureUser\",\"systemAzure__group___managedAlpha_assignment\",\"systemAzureDirectoryrole_managedAlpha_assignment\",\"systemAzureServiceplan_managedAlpha_assignment\"],\"name\":\"Azure\",\"templateName\":\"azure.ad\",\"templateVersion\":\"3.3\",\"uiConfig\":{\"objectTypes\":{\"User\":{\"properties\":{\"__PASSWORD__\":{\"displayName\":\"Password\",\"order\":17,\"userSpecific\":true},\"__roles__\":{\"displayName\":\"Roles\",\"nonAccountObject\":\"directoryRole\",\"order\":3,\"userSpecific\":true},\"__servicePlanIds__\":{\"displayName\":\"Service Plan Ids\",\"nonAccountObject\":\"servicePlan\",\"order\":27,\"userSpecific\":true},\"accountEnabled\":{\"displayName\":\"Account Enabled\",\"order\":0,\"userSpecific\":true},\"city\":{\"displayName\":\"City\",\"order\":5,\"userSpecific\":true},\"companyName\":{\"displayName\":\"Company Name\",\"order\":4,\"userSpecific\":true},\"country\":{\"displayName\":\"Country\",\"order\":6,\"userSpecific\":true},\"department\":{\"displayName\":\"Department\",\"order\":7,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":8,\"userSpecific\":true},\"givenName\":{\"displayName\":\"Given Name\",\"order\":9,\"userSpecific\":true},\"jobTitle\":{\"displayName\":\"Job Title\",\"order\":11,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"isDisplay\":true,\"isMail\":true,\"order\":1,\"userSpecific\":true},\"mailNickname\":{\"displayName\":\"Mail Nickname\",\"order\":12,\"userSpecific\":true},\"manager\":{\"displayName\":\"Manager\",\"order\":13,\"userSpecific\":true},\"memberOf\":{\"displayName\":\"Member Of\",\"nonAccountObject\":\"__GROUP__\",\"order\":2,\"userSpecific\":true},\"mobilePhone\":{\"displayName\":\"Mobile Phone\",\"order\":14,\"userSpecific\":true},\"onPremisesImmutableId\":{\"displayName\":\"On Premises Immutable Id\",\"order\":10,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":15,\"userSpecific\":true},\"otherMails\":{\"displayName\":\"Other Mails\",\"order\":16,\"userSpecific\":true},\"postalCode\":{\"displayName\":\"Postal Code\",\"order\":18,\"userSpecific\":true},\"preferredLanguage\":{\"displayName\":\"Preferred Language\",\"order\":19,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":20,\"userSpecific\":true},\"state\":{\"displayName\":\"State\",\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"displayName\":\"Street Address\",\"order\":22,\"userSpecific\":true},\"surname\":{\"displayName\":\"Surname\",\"order\":23,\"userSpecific\":true},\"usageLocation\":{\"displayName\":\"Usage Location\",\"order\":24,\"userSpecific\":true},\"userPrincipalName\":{\"displayName\":\"User Principal Name\",\"isUsername\":true,\"order\":25,\"userSpecific\":true},\"userType\":{\"displayName\":\"User Type\",\"order\":26,\"userSpecific\":true}}},\"__GROUP__\":{\"properties\":{\"__NAME__\":{\"displayName\":\"Name\",\"order\":2,\"userSpecific\":true},\"description\":{\"displayName\":\"Description\",\"order\":4,\"userSpecific\":true},\"displayName\":{\"displayName\":\"Display Name\",\"order\":3,\"userSpecific\":true},\"groupTypes\":{\"displayName\":\"Group Types\",\"order\":10,\"userSpecific\":true},\"id\":{\"displayName\":\"Id\",\"order\":0,\"userSpecific\":true},\"mail\":{\"displayName\":\"Mail\",\"order\":5,\"userSpecific\":true},\"mailEnabled\":{\"displayName\":\"Mail Enabled\",\"order\":6,\"userSpecific\":true},\"onPremisesSecurityIdentifier\":{\"displayName\":\"On Premises Security Identifier\",\"order\":7,\"userSpecific\":true},\"proxyAddresses\":{\"displayName\":\"Proxy Addresses\",\"order\":8,\"userSpecific\":true},\"securityEnabled\":{\"displayName\":\"Security Enabled\",\"order\":9,\"userSpecific\":true},\"type\":{\"displayName\":\"Type\",\"order\":1,\"userSpecific\":true}}},\"directoryRole\":{\"properties\":{\"description\":{\"displayName\":\"description\",\"order\":0,\"userSpecific\":true},\"displayName\":{\"displayName\":\"displayName\",\"order\":1,\"userSpecific\":true}}},\"servicePlan\":{\"properties\":{\"__NAME__\":{\"displayName\":\"__NAME__\",\"order\":5,\"userSpecific\":true},\"appliesTo\":{\"displayName\":\"appliesTo\",\"order\":0,\"userSpecific\":true},\"provisioningStatus\":{\"displayName\":\"provisioningStatus\",\"order\":2,\"userSpecific\":true},\"servicePlanId\":{\"displayName\":\"servicePlanId\",\"order\":1,\"userSpecific\":true},\"servicePlanName\":{\"displayName\":\"servicePlanName\",\"order\":4,\"userSpecific\":true},\"subscriberSkuId\":{\"displayName\":\"subscriberSkuId\",\"order\":3,\"userSpecific\":true}}}}}},{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"9cfb52a0-12fa-4084-ba1e-5df17e60cf46-641\",\"authoritative\":true,\"description\":\"desc\",\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\"},{\"_id\":\"2e4663b7-aed2-4521-8819-d379449d91b0\",\"_rev\":\"49c2ab5f-2da9-415b-b8f3-0ff7b4aec33a-7059\",\"name\":\"Google\",\"description\":\"Link to Google\",\"url\":\"https://www.google.com/\",\"templateName\":\"bookmark\",\"templateVersion\":\"1.0\",\"ssoEntities\":{}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" + "value": "no-store" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -33671,10 +47226,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1763423776\"" - }, { "name": "expires", "value": "0" @@ -33684,20 +47235,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "260" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "name": "content-length", + "value": "4914" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33716,14 +47267,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 617, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.964Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:12.726Z", + "time": 54, "timings": { "blocked": -1, "connect": -1, @@ -33731,11 +47282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 54 } }, { - "_id": "92148f26ceddcb135981e302c7e61f93", + "_id": "082cd7a23ef51a8fbb1328a7d8d423b0", "_order": 0, "cache": {}, "request": { @@ -33756,11 +47307,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "authorization", @@ -33775,18 +47326,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1967, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/policies?_queryFilter=true" }, "response": { - "bodySize": 260, + "bodySize": 4114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 4114, + "text": "{\"result\":[{\"_id\":\"FeatureStorePolicy\",\"_rev\":\"1728915487133\",\"name\":\"FeatureStorePolicy\",\"active\":true,\"description\":\"FeatureStorePolicy\",\"resources\":[\"https://www.example.com:443/*\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.133Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.248Z\"},{\"_id\":\"Test Policy\",\"_rev\":\"1728915487679\",\"name\":\"Test Policy\",\"active\":false,\"description\":\"Test Policy Description\",\"resources\":[\"lorem://ipsum:dolor/sit\"],\"applicationName\":\"test-policy-set\",\"actionValues\":{\"POST\":false,\"GET\":true},\"subject\":{\"type\":\"NONE\"},\"condition\":{\"type\":\"AND\",\"conditions\":[{\"type\":\"SimpleTime\",\"startTime\":\"12:00\",\"endTime\":\"11:59\",\"startDay\":\"mon\",\"endDay\":\"fri\",\"startDate\":\"2023:08:01\",\"endDate\":\"2023:08:02\",\"enforcementTimeZone\":\"GMT\"},{\"type\":\"Script\",\"scriptId\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\"}]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"resourceAttributes\":[{\"type\":\"Static\",\"propertyName\":\"Test_Name\",\"propertyValues\":[\"Test_Value\"]}],\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-14T14:18:07.679Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:19.356Z\"},{\"_id\":\"activity\",\"_rev\":\"1730139286064\",\"name\":\"activity\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/activity\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-28T18:14:46.64Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.288Z\"},{\"_id\":\"apply\",\"_rev\":\"1730139286214\",\"name\":\"apply\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/apply\"],\"applicationName\":\"data\",\"actionValues\":{\"POST\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"condition\":{\"type\":\"Transaction\",\"authenticationStrategy\":\"AuthenticateToTreeConditionAdvice\",\"strategySpecifier\":\"Baseline-Transaction\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-28T18:14:46.214Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.368Z\"},{\"_id\":\"HR-webapp\",\"_rev\":\"1730392002822\",\"name\":\"HR-webapp\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/apps/hrlite/*\",\"*://*:*/apps/hrlite?*\",\"*://*:*/apps/contractor\",\"*://*:*/apps/contractor/*\",\"*://*:*/apps/contractor?*\",\"*://*:*/apps/hrlite\"],\"applicationName\":\"EdgePolicySet\",\"actionValues\":{\"POST\":true,\"GET\":true},\"subject\":{\"type\":\"Identity\",\"subjectValues\":[\"id=hradmins,ou=group,o=alpha,ou=services,ou=am-config\"]},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-31T16:26:42.822Z\",\"createdBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"creationDate\":\"2024-10-31T16:26:42.822Z\"},{\"_id\":\"actions\",\"_rev\":\"1730392003111\",\"name\":\"actions\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/demo/api/action/actions\"],\"applicationName\":\"data\",\"actionValues\":{\"GET\":true},\"subject\":{\"type\":\"AuthenticatedUsers\"},\"resourceTypeUuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":\"2024-10-31T16:26:43.111Z\",\"createdBy\":\"id=76618ff6-e851-433e-9704-9d2852a17b7a,ou=user,ou=am-config\",\"creationDate\":\"2024-07-12T15:25:50.202Z\"}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -33808,7 +47364,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -33822,10 +47378,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-2064640544\"" - }, { "name": "expires", "value": "0" @@ -33840,15 +47392,15 @@ }, { "name": "content-length", - "value": "260" + "value": "4114" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -33867,14 +47419,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:15.964Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:12.785Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -33882,11 +47434,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 65 } }, { - "_id": "7ca8caa6afeaaa71db865a069e0902fd", + "_id": "6c28db473956c916f36338201b5c11ed", "_order": 0, "cache": {}, "request": { @@ -33907,11 +47459,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "authorization", @@ -33926,18 +47478,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2057, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/OrphanedTest" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 831, + "bodySize": 4684, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 831, - "text": "{\"_id\":\"OrphanedTest\",\"_rev\":\"-764260244\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"innerTreeOnly\":false,\"nodes\":{\"343e745f-923a-43c4-8675-649a490fd0a3\":{\"connections\":{\"CANCELLED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"EXPIRED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"FALSE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":407.046875,\"y\":190.015625}},\"description\":\"Test orphaned nodes\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":704,\"y\":129},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":707,\"y\":381},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 4684, + "text": "{\"result\":[{\"name\":\"EdgePolicySet\",\"displayName\":null,\"description\":\"Policy Set EdgePolicySet\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"ClientId\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"Expiration\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"Uma\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1669672555404,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285014,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"FeatureStorePolicySet\",\"displayName\":\"FeatureStorePolicySet\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=8efaa5b6-8c98-4489-9b21-ee41f5589ab7,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1695912757709,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285661,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"data\",\"displayName\":\"Baseline Demo\",\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=df492700-ba67-4345-83a9-58305850596c,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"IPv4\",\"SimpleTime\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"Policy\",\"OAuth2Scope\",\"SessionProperty\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"Policy\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1610648242757,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139285809,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1730139286442,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null},{\"name\":\"test-policy-set\",\"displayName\":\"Test Policy Set\",\"description\":\"Test Policy Set Description\",\"attributeNames\":[],\"createdBy\":\"id=fbdeb2a9-beb6-4a14-ae66-e35f16ce421d,ou=user,ou=am-config\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"editable\":true,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\"],\"creationDate\":1693494279401,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915486893,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null}],\"resultCount\":5,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -33959,7 +47520,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -33973,10 +47534,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-764260244\"" - }, { "name": "expires", "value": "0" @@ -33991,15 +47548,15 @@ }, { "name": "content-length", - "value": "831" + "value": "4684" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34018,14 +47575,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.037Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:12.855Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -34033,11 +47590,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 63 } }, { - "_id": "7b22fe8eb1840e99b4020c3b5eb1496d", + "_id": "379e8f1f5314f19b1c94973252aa4422", "_order": 0, "cache": {}, "request": { @@ -34058,11 +47615,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -34077,18 +47634,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/343e745f-923a-43c4-8675-649a490fd0a3" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 474, + "bodySize": 3600, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"343e745f-923a-43c4-8675-649a490fd0a3\",\"_rev\":\"775696658\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 3600, + "text": "{\"result\":[{\"uuid\":\"993eba78-1c3f-4f27-b205-b4b29418f831\",\"name\":\"FrodoTestResourceType11\",\"description\":\"Frodo Test Resource Type Eleven\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400290,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478164},{\"uuid\":\"3fc799d7-b73f-49e0-a70b-e37990e54e56\",\"name\":\"FrodoTestResourceType12\",\"description\":\"Frodo Test Resource Type Twelve\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400511,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915478723},{\"uuid\":\"0aa5ed25-0c62-4ff5-9a42-3bda8c5cbb76\",\"name\":\"FrodoTestResourceType13\",\"description\":\"Frodo Test Resource Type Thirteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400601,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479106},{\"uuid\":\"119b291c-40b3-4b1e-8d84-c2a561a2cb1f\",\"name\":\"FrodoTestResourceType14\",\"description\":\"Frodo Test Resource Type Fourteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400702,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479259},{\"uuid\":\"3c5f13af-ca17-403e-b47d-d15263cce954\",\"name\":\"FrodoTestResourceType15\",\"description\":\"Frodo Test Resource Type Fifteen\",\"patterns\":[\"pattern2://*:*/*?*\",\"pattern1://*:*/*\"],\"actions\":{\"action2\":true,\"action1\":true},\"createdBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"creationDate\":1725916400790,\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":1730325157860},{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479805},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915479980},{\"uuid\":\"1f445c60-0828-41ac-9a4e-a16c026e9536\",\"name\":\"test_resource\",\"description\":\"\",\"patterns\":[\"type1/node1\",\"type2/node2\"],\"actions\":{\"allow\":true},\"createdBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"creationDate\":1730325157570,\"lastModifiedBy\":\"id=bc01b841-b6ec-4691-b9d6-561b306e12db,ou=user,ou=am-config\",\"lastModifiedDate\":1730325157570}],\"resultCount\":8,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34110,7 +47676,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34124,10 +47690,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"775696658\"" - }, { "name": "expires", "value": "0" @@ -34142,15 +47704,15 @@ }, { "name": "content-length", - "value": "474" + "value": "3600" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34169,14 +47731,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.108Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:12.923Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -34184,11 +47746,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 68 } }, { - "_id": "da06405b031ae34c54ac304a337e9a7d", + "_id": "d5f3c78a168efd303e4ac23237ac992b", "_order": 0, "cache": {}, "request": { @@ -34209,11 +47771,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34228,18 +47790,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2026, + "headersSize": 1979, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" }, "response": { - "bodySize": 1352, + "bodySize": 391046, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1352, - "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"512701181\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" + "size": 391046, + "text": "{\"result\":[{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"Change this upp buddy\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"name\":\"Next Generation Device Match Node Script\",\"description\":\"Default global script for a device match node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"DEVICE_MATCH_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Next Generation Scripted Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":67,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34261,7 +47828,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -34275,10 +47842,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"512701181\"" - }, { "name": "expires", "value": "0" @@ -34291,17 +47854,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "1352" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34318,16 +47877,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.174Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:12.996Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -34335,11 +47898,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 137 } }, { - "_id": "5a0efe962033aacd324acd682a941daa", + "_id": "d83a6d63597bbf914f2080cfe22d9dda", "_order": 0, "cache": {}, "request": { @@ -34360,11 +47923,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34379,18 +47942,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2033, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"test-script-with-secrets-and-variables\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22test-script-with-secrets-and-variables%22" }, "response": { - "bodySize": 347, + "bodySize": 244, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 347, - "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"1288219125\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 244, + "text": "{\"result\":[{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34412,7 +47980,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34426,10 +47994,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1288219125\"" - }, { "name": "expires", "value": "0" @@ -34444,15 +48008,15 @@ }, { "name": "content-length", - "value": "347" + "value": "244" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34471,14 +48035,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.242Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:13.139Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -34486,11 +48050,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 66 } }, { - "_id": "45372e53b29867dc74ed412c24651e66", + "_id": "51a2d1bdf5235218615e430a782c680e", "_order": 0, "cache": {}, "request": { @@ -34511,11 +48075,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34530,18 +48094,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2034, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"My Other Example Library Script\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Other%20Example%20Library%20Script%22" }, "response": { - "bodySize": 300, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 237, + "text": "{\"result\":[{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34563,7 +48132,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34577,10 +48146,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1679047423\"" - }, { "name": "expires", "value": "0" @@ -34595,15 +48160,15 @@ }, { "name": "content-length", - "value": "300" + "value": "237" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34622,14 +48187,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.243Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:13.210Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -34637,11 +48202,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 64 } }, { - "_id": "84769f63c358dd689243ea9740fe3bbf", + "_id": "d5a690f315ecdca4895304f9ae857943", "_order": 0, "cache": {}, "request": { @@ -34662,11 +48227,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -34681,18 +48246,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2017, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq \"My Example Library\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Example%20Library%22" }, "response": { - "bodySize": 378, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 378, - "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 396, + "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"exports\":[{\"id\":\"MSG\",\"type\":\"String\"},{\"id\":\"add\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotal\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotalWithMessage\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -34714,7 +48284,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -34728,10 +48298,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1852493841\"" - }, { "name": "expires", "value": "0" @@ -34746,15 +48312,15 @@ }, { "name": "content-length", - "value": "378" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -34773,13 +48339,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.243Z", + "startedDateTime": "2024-11-05T21:22:13.280Z", "time": 67, "timings": { "blocked": -1, @@ -34792,7 +48358,7 @@ } }, { - "_id": "008434bbafd9e35ba6a8bfaaa580c46b", + "_id": "e374bc9e42d7fe4e315057818a2f37e4", "_order": 0, "cache": {}, "request": { @@ -34813,11 +48379,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -34832,169 +48398,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" - }, - "response": { - "bodySize": 387, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 387, - "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"380010937\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "387" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 785, + "headersSize": 2000, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:16.244Z", - "time": 65, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 65 - } - }, - { - "_id": "c1155efa8ce487ae4ca29d579b03ad49", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2067, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 351, + "bodySize": 148532, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148532, + "text": "{\"result\":[{\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_id\":\"session\",\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}},{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"assignedDashboard\":[],\"_id\":\"dashboard\",\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSkK\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"Okta Profile Normalization\",\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"description\":\"Script that uses secrets and variables\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"test-script-with-secrets-and-variables\",\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9Cg==\",\"description\":\"Always redirect browser pre-auth\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_IDP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"EmailAsUsername\",\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTsK\",\"description\":\"set per level shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"level\",\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7Cg==\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Other Example Library Script\",\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7Cg==\",\"description\":\"Normalizes raw profile data from ADFS\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"ADFS Profile Normalization (JS)\",\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"description\":\"Inactive Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Inactive Device Match Script\",\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Check if mode has already been set.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"mode\",\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"GROOVY\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkpCg==\",\"description\":\"Normalizes raw profile data from GitHub\",\"lastModifiedBy\":\"null\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"lastModifiedDate\":\"0\",\"name\":\"GitHub Profile Normalization (VS)\",\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7Cg==\",\"description\":\"Change this upp buddy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Format Username\",\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7Cg==\",\"description\":\"set the same shared state variable\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"shared\",\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzsK\",\"description\":\"My Example Script Using Libraries\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Script Using Libraries\",\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOwo=\",\"description\":\"Custom Device Match Script\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Custom Device Match Script\",\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"SAML2_SP_ADAPTER\",\"lastModifiedDate\":\"0\",\"name\":\"FrodoSPAdapter\",\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOwo=\",\"description\":\"My Example Library\",\"lastModifiedBy\":\"null\",\"context\":\"LIBRARY\",\"lastModifiedDate\":\"0\",\"name\":\"My Example Library\",\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default alpha realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha OIDC Claims Script\",\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQo=\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -35030,10 +48450,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1210529544\"" - }, { "name": "expires", "value": "0" @@ -35046,17 +48462,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "351" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35073,16 +48485,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.314Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:13.352Z", + "time": 103, "timings": { "blocked": -1, "connect": -1, @@ -35090,11 +48506,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 103 } }, { - "_id": "631e3d60e32140c0ba65aa36c5278edb", + "_id": "02e90a0a7d26ea2e13d332c6c0b5cfcf", "_order": 0, "cache": {}, "request": { @@ -35115,11 +48531,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35134,18 +48550,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2019, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/RadioChoice" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session" }, "response": { - "bodySize": 650, + "bodySize": 176, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 650, - "text": "{\"_id\":\"RadioChoice\",\"_rev\":\"947126104\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[]\"},\"entryNodeId\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"innerTreeOnly\":false,\"nodes\":{\"5d6cd20e-5074-43de-8832-fddd95fb078e\":{\"connections\":{\"one\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"three\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"two\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":260,\"y\":409.015625}},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":500,\"y\":50},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":744,\"y\":327},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 176, + "text": "{\"_id\":\"\",\"_rev\":\"-548141557\",\"dynamic\":{\"maxIdleTime\":30,\"maxSessionTime\":120,\"quotaLimit\":2,\"maxCachingTime\":3},\"_type\":{\"_id\":\"session\",\"name\":\"Session\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35183,7 +48599,7 @@ }, { "name": "etag", - "value": "\"947126104\"" + "value": "\"-548141557\"" }, { "name": "expires", @@ -35199,15 +48615,15 @@ }, { "name": "content-length", - "value": "650" + "value": "176" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35226,14 +48642,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.387Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:13.464Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -35241,11 +48657,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 84 } }, { - "_id": "00f0ab1c559f441eb9691ebc7c4763e6", + "_id": "b616cbb332784de37b63e08eddb36a7a", "_order": 0, "cache": {}, "request": { @@ -35266,11 +48682,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35285,18 +48701,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2008, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/5d6cd20e-5074-43de-8832-fddd95fb078e" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/session?_action=nextdescendents" }, "response": { - "bodySize": 516, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 516, - "text": "{\"_id\":\"5d6cd20e-5074-43de-8832-fddd95fb078e\",\"_rev\":\"-450923473\",\"nodes\":[{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"nodeType\":\"ChoiceCollectorNode\",\"displayName\":\"Choice Collector\"}],\"pageDescription\":{},\"stage\":\"{\\\"ChoiceCallback\\\":[{\\\"id\\\":\\\"a566e474-99f3-46e4-9e70-682402bfaa84\\\",\\\"displayType\\\":\\\"radio\\\"}]}\",\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -35332,10 +48753,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-450923473\"" - }, { "name": "expires", "value": "0" @@ -35350,15 +48767,15 @@ }, { "name": "content-length", - "value": "516" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35377,14 +48794,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.460Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:13.465Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -35392,11 +48809,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 76 } }, { - "_id": "23de842fe257416bd82dea1b681259b5", + "_id": "887c82329026ac2e059fd02a3332aa14", "_order": 0, "cache": {}, "request": { @@ -35417,11 +48834,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35436,18 +48853,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2064, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ChoiceCollectorNode/a566e474-99f3-46e4-9e70-682402bfaa84" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email" }, "response": { - "bodySize": 338, + "bodySize": 365, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 338, - "text": "{\"_id\":\"a566e474-99f3-46e4-9e70-682402bfaa84\",\"_rev\":\"-514175851\",\"defaultChoice\":\"one\",\"choices\":[\"one\",\"two\",\"three\"],\"prompt\":\"Choice?\",\"_type\":{\"_id\":\"ChoiceCollectorNode\",\"name\":\"Choice Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"one\",\"displayName\":\"one\"},{\"id\":\"two\",\"displayName\":\"two\"},{\"id\":\"three\",\"displayName\":\"three\"}]}" + "size": 365, + "text": "{\"_id\":\"\",\"_rev\":\"-439720564\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"message\":\"Test Message\",\"subject\":\"Test Subject\",\"sslState\":\"SSL\",\"from\":\"vscheuber@gmail.com\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35485,7 +48902,7 @@ }, { "name": "etag", - "value": "\"-514175851\"" + "value": "\"-439720564\"" }, { "name": "expires", @@ -35501,15 +48918,15 @@ }, { "name": "content-length", - "value": "338" + "value": "365" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35534,8 +48951,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.536Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:13.466Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -35543,11 +48960,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 75 } }, { - "_id": "7ddcc2b82c4a157177a5917c9a16b2e8", + "_id": "52ae24f6c29871e39dfc419a68492bc8", "_order": 0, "cache": {}, "request": { @@ -35568,11 +48985,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35587,169 +49004,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/Registration" - }, - "response": { - "bodySize": 1239, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1239, - "text": "{\"_id\":\"Registration\",\"_rev\":\"-340494482\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"466f8b54-07fb-4e31-a11d-a6842618cc37\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":484,\"y\":267.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":861,\"y\":221},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":717,\"y\":283}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1085,\"y\":248},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":921,\"y\":370},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-340494482\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1239" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, + "headersSize": 2006, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:16.599Z", - "time": 70, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 70 - } - }, - { - "_id": "d3bd13cf2c05905fa1ca40d9c36f4e57", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2061, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/466f8b54-07fb-4e31-a11d-a6842618cc37" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 436, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"466f8b54-07fb-4e31-a11d-a6842618cc37\",\"_rev\":\"1064387237\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 256, + "text": "{\"result\":[{\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"username\":\"vscheuber@gmail.com\",\"sslState\":\"SSL\",\"hostname\":\"smtp.gmail.com\",\"_id\":\"gmail\",\"_type\":{\"_id\":\"smtpTransports\",\"name\":\"SMTP\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -35785,10 +49056,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1064387237\"" - }, { "name": "expires", "value": "0" @@ -35803,15 +49070,15 @@ }, { "name": "content-length", - "value": "436" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35830,14 +49097,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.675Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:13.466Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -35845,11 +49112,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 78 } }, { - "_id": "9e8c469a59a9a045428ebb32cffe0e39", + "_id": "0336fc6ba91110f3e276bf8a288b981f", "_order": 0, "cache": {}, "request": { @@ -35870,11 +49137,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -35889,18 +49156,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1985, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard" }, "response": { - "bodySize": 1092, + "bodySize": 116, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1092, - "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"-30816295\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"stage\":\"{\\\"ValidatedCreatePasswordCallback\\\":[{\\\"id\\\":\\\"3d8709a1-f09f-4d1f-8094-2850e472c1db\\\",\\\"confirmPassword\\\":true,\\\"policyDisplayCheckmark\\\":true}]}\",\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 116, + "text": "{\"_id\":\"\",\"_rev\":\"6506753\",\"assignedDashboard\":[],\"_type\":{\"_id\":\"dashboard\",\"name\":\"Dashboard\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -35938,7 +49205,7 @@ }, { "name": "etag", - "value": "\"-30816295\"" + "value": "\"6506753\"" }, { "name": "expires", @@ -35954,15 +49221,15 @@ }, { "name": "content-length", - "value": "1092" + "value": "116" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -35981,14 +49248,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 783, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.675Z", - "time": 69, + "startedDateTime": "2024-11-05T21:22:13.467Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -35996,11 +49263,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 77 } }, { - "_id": "20d5e3297b927ca274b6eb25363ac24c", + "_id": "a40075bb0ef119b2ce419f243f66c32e", "_order": 0, "cache": {}, "request": { @@ -36021,11 +49288,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36040,18 +49307,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1995, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 277, + "bodySize": 837, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 277, - "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"-612221945\",\"identityResource\":\"managed/alpha_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 837, + "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36089,7 +49356,7 @@ }, { "name": "etag", - "value": "\"-612221945\"" + "value": "\"-1504612008\"" }, { "name": "expires", @@ -36105,15 +49372,15 @@ }, { "name": "content-length", - "value": "277" + "value": "837" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36132,14 +49399,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.676Z", - "time": 59, + "startedDateTime": "2024-11-05T21:22:13.468Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -36147,11 +49414,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 68 } }, { - "_id": "2d3bdeba8c45a258964597a30549a138", + "_id": "383887ff55b9d3e93c4f48578c466099", "_order": 0, "cache": {}, "request": { @@ -36172,11 +49439,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36191,169 +49458,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" - }, - "response": { - "bodySize": 243, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-841385771\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "243" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, + "headersSize": 2010, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:16.676Z", - "time": 66, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 66 - } - }, - { - "_id": "4b85e6f316361f022106bd44058700fa", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2067, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/dashboard?_action=nextdescendents" }, "response": { - "bodySize": 373, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36389,10 +49510,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1158802257\"" - }, { "name": "expires", "value": "0" @@ -36407,15 +49524,15 @@ }, { "name": "content-length", - "value": "373" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36434,14 +49551,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.749Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:13.468Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -36449,11 +49566,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 77 } }, { - "_id": "93d2e07beb6012897283c4a95970ef06", + "_id": "a9f1d3fc495909d075260ee04e3ca64e", "_order": 0, "cache": {}, "request": { @@ -36474,11 +49591,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36493,18 +49610,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2020, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 258, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36540,10 +49662,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1966656034\"" - }, { "name": "expires", "value": "0" @@ -36558,15 +49676,15 @@ }, { "name": "content-length", - "value": "258" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36585,14 +49703,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.749Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:13.469Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -36600,11 +49718,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 86 } }, { - "_id": "188824f8c0922f65b2cb19e3b9cb2515", + "_id": "f4d9d124d04a427d9d2de2764e6510be", "_order": 0, "cache": {}, "request": { @@ -36625,11 +49743,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36644,18 +49762,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 259, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 279, + "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36693,7 +49811,7 @@ }, { "name": "etag", - "value": "\"-1470058997\"" + "value": "\"-948959244\"" }, { "name": "expires", @@ -36709,15 +49827,15 @@ }, { "name": "content-length", - "value": "259" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36736,14 +49854,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.750Z", - "time": 77, + "startedDateTime": "2024-11-05T21:22:13.470Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -36751,11 +49869,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 68 } }, { - "_id": "7b8b9ba1265400f4cc8e2c9ccf76f679", + "_id": "612f52313bf9113c27e4f24671b03c02", "_order": 0, "cache": {}, "request": { @@ -36776,11 +49894,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36795,18 +49913,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 272, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 272, - "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -36842,10 +49965,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-8134977\"" - }, { "name": "expires", "value": "0" @@ -36860,15 +49979,15 @@ }, { "name": "content-length", - "value": "272" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -36887,14 +50006,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.750Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:13.471Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -36902,11 +50021,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 84 } }, { - "_id": "85c3bfe52f9900e35685594eded4cee0", + "_id": "f3f6a254e1c6a207b4a25b1228841a6e", "_order": 0, "cache": {}, "request": { @@ -36927,11 +50046,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -36946,18 +50065,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 1999, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 223, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -36995,7 +50114,7 @@ }, { "name": "etag", - "value": "\"1508860909\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -37011,15 +50130,15 @@ }, { "name": "content-length", - "value": "223" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37044,8 +50163,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.751Z", - "time": 96, + "startedDateTime": "2024-11-05T21:22:13.471Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -37053,11 +50172,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 137 } }, { - "_id": "4a3c66df9fc375ae45849605f558c01f", + "_id": "ad5b89c263fdb9ea6316cbdb6faab3da", "_order": 0, "cache": {}, "request": { @@ -37078,11 +50197,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37097,169 +50216,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/ResetPassword" - }, - "response": { - "bodySize": 1435, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1435, - "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-501795106\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-501795106\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1435" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:16.851Z", - "time": 69, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 69 - } - }, - { - "_id": "7590e3052d2dd66ef963a210ac10709c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "method": "POST", + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2061, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 433, + "bodySize": 10076, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 10076, + "text": "{\"result\":[{\"clientId\":\"297338177925-mho17cgnm540s2gre8h27feb6sbs1msd.apps.googleusercontent.com\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://accounts.google.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://accounts.google.com/o/oauth2/v2/auth\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://accounts.google.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"Google\",\"buttonImage\":\"images/g-logo.png\",\"iconBackground\":\"#4184f3\",\"iconClass\":\"fa-google\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"userInfoEndpoint\":\"https://www.googleapis.com/oauth2/v3/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://www.googleapis.com/oauth2/v4/token\",\"_id\":\"google\",\"_type\":{\"_id\":\"googleConfig\",\"name\":\"Client configuration for Google.\",\"collection\":true}},{\"clientId\":\"bdae6d141d4dcf95a630\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://github.com/login/oauth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"user\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonCustomStyle\":\"background-color: #fff; color: #757575; border-color: #ddd;\",\"buttonCustomStyleHover\":\"color: #6d6d6d; background-color: #eee; border-color: #ccc;\",\"buttonDisplayName\":\"GitHub\",\"buttonImage\":\"https://cdn-icons-png.flaticon.com/512/25/25231.png\",\"iconBackground\":\"#4184f3\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"userInfoEndpoint\":\"https://ig.mytestrun.com/user\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://ig.mytestrun.com/login/oauth/access_token\",\"_id\":\"github\",\"_type\":{\"_id\":\"oauth2Config\",\"name\":\"Client configuration for providers that implement the OAuth2 specification.\",\"collection\":true}},{\"clientId\":\"CHANGE ME\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://openam-volker-dev.forgeblocks.com/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":false,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://openam-volker-dev.forgeblocks.com/am/oauth2/alpha/client/form_post/apple-stoyan\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple-stoyan\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"io.scheuber.idc.signinWithApple.service\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://appleid.apple.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://appleid.apple.com/auth/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"name\",\"email\"],\"issuer\":\"https://appleid.apple.com\",\"redirectAfterFormPostURI\":\"https://idc.scheuber.io/login\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://appleid.apple.com/auth/keys\",\"encryptedIdTokens\":false,\"requestNativeAppForUserInfo\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonCustomStyleHover\":\"background-color: #000000; color: #ffffff; border-color: #000000;\",\"buttonDisplayName\":\"Apple\",\"buttonImage\":\"/login/images/apple-logo.png\",\"iconBackground\":\"#000000\",\"iconClass\":\"fa-apple\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/am/oauth2/client/form_post/apple_web\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"FORM_POST\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://appleid.apple.com/auth/token\",\"_id\":\"apple_web\",\"_type\":{\"_id\":\"appleConfig\",\"name\":\"Client configuration for Apple.\",\"collection\":true}},{\"clientId\":\"0oa13r2cp29Rynmyw697\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://trial-5735851.okta.com/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://trial-5735851.okta.com\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonDisplayName\":\"Okta\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"userInfoEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/userinfo\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://trial-5735851.okta.com/oauth2/v1/token\",\"_id\":\"okta-trial-5735851\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"aa9a179e-cdba-4db8-8477-3d1069d5ec04\",\"pkceMethod\":\"S256\",\"wellKnownEndpoint\":\"https://adfs.mytestrun.com/adfs/.well-known/openid-configuration\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"encryptJwtRequestParameter\":false,\"scopeDelimiter\":\" \",\"scopes\":[\"openid\",\"profile\",\"email\"],\"issuer\":\"https://adfs.mytestrun.com/adfs\",\"userInfoResponseType\":\"JSON\",\"acrValues\":[],\"jwksUriEndpoint\":\"https://adfs.mytestrun.com/adfs/discovery/keys\",\"encryptedIdTokens\":false,\"enabled\":true,\"jwtRequestParameterOption\":\"NONE\",\"authenticationIdKey\":\"sub\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft ADFS\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"enableNativeNonce\":true,\"transform\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"jwtSigningAlgorithm\":\"RS256\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://adfs.mytestrun.com/adfs/oauth2/token\",\"_id\":\"adfs\",\"_type\":{\"_id\":\"oidcConfig\",\"name\":\"Client configuration for providers that implement the OpenID Connect specification.\",\"collection\":true}},{\"clientId\":\"c42a3dc8-f276-496b-a722-269f131cc21c\",\"pkceMethod\":\"S256\",\"jwtEncryptionMethod\":\"NONE\",\"authorizationEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/authorize\",\"jwtEncryptionAlgorithm\":\"NONE\",\"issuerComparisonCheckType\":\"EXACT\",\"scopeDelimiter\":\" \",\"scopes\":[\"User.Read\",\"openid\"],\"enabled\":true,\"authenticationIdKey\":\"id\",\"uiConfig\":{\"buttonClass\":\"\",\"buttonCustomStyle\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonCustomStyleHover\":\"background-color: #fff; border-color: #8b8b8b; color: #8b8b8b;\",\"buttonDisplayName\":\"Microsoft Azure\",\"buttonImage\":\"/login/images/microsoft-logo.png\",\"iconBackground\":\"#0078d7\",\"iconClass\":\"fa-windows\",\"iconFontColor\":\"white\"},\"privateKeyJwtExpTime\":600,\"revocationCheckOptions\":[],\"transform\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"userInfoEndpoint\":\"https://graph.microsoft.com/v1.0/me\",\"jwtSigningAlgorithm\":\"NONE\",\"redirectURI\":\"https://idc.scheuber.io/login\",\"clientAuthenticationMethod\":\"CLIENT_SECRET_POST\",\"responseMode\":\"DEFAULT\",\"useCustomTrustStore\":false,\"tokenEndpoint\":\"https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/oauth2/v2.0/token\",\"_id\":\"azure\",\"_type\":{\"_id\":\"microsoftConfig\",\"name\":\"Client configuration for Microsoft.\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -37295,10 +50268,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1138066714\"" - }, { "name": "expires", "value": "0" @@ -37311,17 +50280,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "433" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37338,16 +50303,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.926Z", - "time": 76, + "startedDateTime": "2024-11-05T21:22:13.473Z", + "time": 165, "timings": { "blocked": -1, "connect": -1, @@ -37355,11 +50324,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 165 } }, { - "_id": "361169982eadc2849f9a635d70f0ec84", + "_id": "333a2d53709afae6dd06db50fd306b33", "_order": 0, "cache": {}, "request": { @@ -37380,11 +50349,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37399,18 +50368,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 295, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -37446,10 +50420,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"402776485\"" - }, { "name": "expires", "value": "0" @@ -37464,15 +50434,15 @@ }, { "name": "content-length", - "value": "295" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37491,14 +50461,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.927Z", - "time": 75, + "startedDateTime": "2024-11-05T21:22:13.475Z", + "time": 152, "timings": { "blocked": -1, "connect": -1, @@ -37506,11 +50476,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 152 } }, { - "_id": "1b23fbc14f2647a4ba3009a1131885cf", + "_id": "22bbc7fa51ae11fc12551f293689b75c", "_order": 0, "cache": {}, "request": { @@ -37531,11 +50501,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37550,88 +50520,36 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1991, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories" }, "response": { - "bodySize": 444, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 444, - "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"86486605\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" + "value": "private, no-store" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "444" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "via", @@ -37640,16 +50558,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 784, + "headersSize": 292, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:16.928Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:13.476Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -37657,11 +50579,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 93 } }, { - "_id": "cc85b555d920cb57ea39666194165b14", + "_id": "05894705a21149f7f6a8a9ade2f4fb06", "_order": 0, "cache": {}, "request": { @@ -37682,11 +50604,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37701,88 +50623,41 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2016, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/id-repositories?_action=nextdescendents" }, "response": { - "bodySize": 342, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 342, - "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"555551070\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, { "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"555551070\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", "value": "no-cache" }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "342" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "via", @@ -37791,16 +50666,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 785, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:16.928Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:13.478Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -37808,11 +50687,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 92 } }, { - "_id": "2b5e08dacdc3abd63008ccdf93339c6a", + "_id": "255a10eae87b0b9a83474b491fe6fa9e", "_order": 0, "cache": {}, "request": { @@ -37833,11 +50712,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -37852,18 +50731,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1996, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 391, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 391, - "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -37901,7 +50780,7 @@ }, { "name": "etag", - "value": "\"1593283676\"" + "value": "\"-945038405\"" }, { "name": "expires", @@ -37917,15 +50796,15 @@ }, { "name": "content-length", - "value": "391" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:16 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -37950,8 +50829,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:16.929Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:13.479Z", + "time": 133, "timings": { "blocked": -1, "connect": -1, @@ -37959,11 +50838,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 133 } }, { - "_id": "6db700cc0b02b6597c541c9803c1d6dc", + "_id": "8360d3092f5d10ac3ed1f279d93a8d72", "_order": 0, "cache": {}, "request": { @@ -37984,11 +50863,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38003,18 +50882,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2021, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 257, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -38050,10 +50934,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"519412822\"" - }, { "name": "expires", "value": "0" @@ -38068,15 +50948,15 @@ }, { "name": "content-length", - "value": "257" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38095,14 +50975,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.015Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:13.480Z", + "time": 140, "timings": { "blocked": -1, "connect": -1, @@ -38110,11 +50990,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 140 } }, { - "_id": "21e351eb59f50bfb7962aab70fe392cb", + "_id": "06a173e8dc91053221929bcf661f6245", "_order": 0, "cache": {}, "request": { @@ -38135,11 +51015,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38154,18 +51034,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl" }, "response": { - "bodySize": 307, + "bodySize": 178, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 178, + "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -38203,7 +51083,7 @@ }, { "name": "etag", - "value": "\"-1256358519\"" + "value": "\"-1889820858\"" }, { "name": "expires", @@ -38219,15 +51099,15 @@ }, { "name": "content-length", - "value": "307" + "value": "178" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38252,8 +51132,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.015Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:13.482Z", + "time": 133, "timings": { "blocked": -1, "connect": -1, @@ -38261,11 +51141,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 133 } }, { - "_id": "9cb764434e3ce3012b63cabaf9ea86cb", + "_id": "a7ffcf2fdd14bf4cdd5448b61131a795", "_order": 0, "cache": {}, "request": { @@ -38286,11 +51166,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38305,18 +51185,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 2008, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/test" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/baseurl?_action=nextdescendents" }, "response": { - "bodySize": 360, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 360, - "text": "{\"_id\":\"test\",\"_rev\":\"279923916\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{},\"entryNodeId\":\"d26176be-ea6f-4f2a-81cd-3d41dd6cee4d\",\"innerTreeOnly\":false,\"nodes\":{},\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":50,\"y\":117},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":152,\"y\":25},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -38352,10 +51237,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"279923916\"" - }, { "name": "expires", "value": "0" @@ -38370,15 +51251,15 @@ }, { "name": "content-length", - "value": "360" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38397,14 +51278,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.084Z", - "time": 57, + "startedDateTime": "2024-11-05T21:22:13.483Z", + "time": 143, "timings": { "blocked": -1, "connect": -1, @@ -38412,11 +51293,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 143 } }, { - "_id": "4f9807e42f46045d0a16b4829be70f91", + "_id": "997d804b9cfd50ea780496dde25ac43d", "_order": 0, "cache": {}, "request": { @@ -38437,11 +51318,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38456,18 +51337,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2022, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/trees/UpdatePassword" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation" }, "response": { - "bodySize": 1888, + "bodySize": 175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1888, - "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"-1067190791\",\"identityResource\":\"managed/alpha_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 175, + "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -38505,7 +51386,7 @@ }, { "name": "etag", - "value": "\"-1067190791\"" + "value": "\"896681690\"" }, { "name": "expires", @@ -38521,15 +51402,15 @@ }, { "name": "content-length", - "value": "1888" + "value": "175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38548,14 +51429,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.146Z", - "time": 57, + "startedDateTime": "2024-11-05T21:22:13.484Z", + "time": 146, "timings": { "blocked": -1, "connect": -1, @@ -38563,11 +51444,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 146 } }, { - "_id": "fceb7a73a0db73b69c1439ea2fe64b49", + "_id": "ef704793f963746022895744e772ed2c", "_order": 0, "cache": {}, "request": { @@ -38588,11 +51469,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38607,18 +51488,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 315, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -38654,10 +51540,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1218497043\"" - }, { "name": "expires", "value": "0" @@ -38672,15 +51554,15 @@ }, { "name": "content-length", - "value": "315" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -38699,14 +51581,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.209Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:13.485Z", + "time": 134, "timings": { "blocked": -1, "connect": -1, @@ -38714,11 +51596,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 134 } }, { - "_id": "6ae2a4988b528efc83fbd1fb07ec6e64", + "_id": "a3edc3199d9a982b9137685a3b351139", "_order": 0, "cache": {}, "request": { @@ -38739,11 +51621,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -38758,88 +51640,144 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService" }, "response": { - "bodySize": 357, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 357, - "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-212483341\",\"identityResource\":\"managed/alpha_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "cache-control", + "value": "private, no-store" }, { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "cache-control", - "value": "private" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { - "name": "content-api-version", - "value": "resource=2.0" + "name": "via", + "value": "1.1 google" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { - "name": "cross-origin-opener-policy", - "value": "same-origin" + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 292, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 403, + "statusText": "Forbidden" + }, + "startedDateTime": "2024-11-05T21:22:13.486Z", + "time": 82, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 82 + } + }, + { + "_id": "e1f511d66a8b66a7c7aec47c63713084", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" }, { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "content-type", + "value": "application/json" }, { - "name": "etag", - "value": "\"-212483341\"" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "expires", - "value": "0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { - "name": "pragma", - "value": "no-cache" + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "authorization", + "value": "Bearer " }, { - "name": "content-length", - "value": "357" + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/services/DataStoreService?_action=nextdescendents" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "via", @@ -38848,16 +51786,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 786, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:17.210Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:13.487Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -38865,11 +51807,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 84 } }, { - "_id": "97a7f46b21ceac60cabf4c1b6977bf75", + "_id": "915d5d0046dde202ae632fcbead646f9", "_order": 0, "cache": {}, "request": { @@ -38890,7 +51832,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -38909,18 +51851,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2008, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 408, + "bodySize": 1375, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 408, - "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1375, + "text": "{\"result\":[{\"_id\":\"rfc7523-client1-issuer\",\"_rev\":\"2135824550\",\"allowedSubjects\":[],\"jwksCacheTimeout\":3600000,\"jwkSet\":\"{\\n \\\"keys\\\": [\\n {\\n \\\"alg\\\": \\\"RS256\\\",\\n \\\"e\\\": \\\"AQAB\\\",\\n \\\"kid\\\": \\\"F8XFabIUlF3EDIJNX7YXdmK5uanwbON7CRbaL1MEFqs\\\",\\n \\\"kty\\\": \\\"RSA\\\",\\n \\\"n\\\": \\\"nuFbAmaHuTnH5yMkEU8b0SiL7pfQtfJz1p50QMeN_ZRxd3rEMPkP95sEjd5d4CjzkGIlgF_vX3oLm1GreAqp97okjM-KCAlYI8rIqptDfMFRRJV-ydw0zeDFjNdIo1FFquat1rz_mgys6oBBgYyc1x2MSfuCL82lJK__E0KULdqgZ-93eEfS9UgxguPsHCYnrdUrLQbk7j0OWy0awaGgjw_GBeW6VriVMPNm7q0Ist4XoXpTHqfuDhrchdOadSw5wULJQLqkK2iOzKfE1JrunIVMcsN_FhyxMGhJ2f6j1_8txMac5ISW6AugGoW6yeeRL-H_y_Pc1MPHNPYPOAvzAyviomajaVSQImSCTIrrtYX1WUSdrVkEFwk0H379xwlfwux7-6DjgwbJKrbtHlKw28CGNanHs2j1eJNuWkPXF_1F5koqKr05jIC6h96g1vl_EKddN7Vy9j6yRYdfS1A5co5nW4UtuVo1VujQWVtOnDEpDOQFYriAxRrghk250FGW82jyxEstI2HmLznHgPYUw_xS6qEmboCJ2r9zfVMVTTcaE9KWaetEhSTZzVTLddQs2-1vp-7A_VmVU0OmUXIyFpAv0uE94nX1mW24yOf0tYUrEfmktfNNMxHh3fncSJu93q90yaj6e3m4Ibgc2JZnp4m_hDFjyuTAruclisN4u4M\\\"\\n }\\n ]\\n}\",\"consentedScopesClaim\":\"scope\",\"issuer\":\"https://my-issuer.com/issuer\",\"jwkStoreCacheMissCacheTime\":60000,\"jwksUri\":null,\"resourceOwnerIdentityClaim\":\"sub\",\"_type\":{\"_id\":\"TrustedJwtIssuer\",\"name\":\"OAuth2 Trusted JWT Issuer\",\"collection\":true}}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -38942,7 +51889,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -38956,10 +51903,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1965792723\"" - }, { "name": "expires", "value": "0" @@ -38974,15 +51917,15 @@ }, { "name": "content-length", - "value": "408" + "value": "1375" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39001,14 +51944,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.210Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:13.731Z", + "time": 66, "timings": { "blocked": -1, "connect": -1, @@ -39016,11 +51959,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 66 } }, { - "_id": "c07df926620986b6c7142a8f9170f9a2", + "_id": "ec8aee31a2ac84861e7932b14146fcfb", "_order": 0, "cache": {}, "request": { @@ -39041,11 +51984,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "authorization", @@ -39060,18 +52003,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1990, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/saml2?_queryFilter=true" }, "response": { - "bodySize": 485, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39093,7 +52041,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=1.0" }, { "name": "content-security-policy", @@ -39107,10 +52055,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1059437256\"" - }, { "name": "expires", "value": "0" @@ -39125,15 +52069,15 @@ }, { "name": "content-length", - "value": "485" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39152,14 +52096,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.211Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:13.803Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -39167,11 +52111,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 60 } }, { - "_id": "1f89ce13cc80637c9011c92f38cabd40", + "_id": "a6da490906ad095dd3c6c369c6f06ac2", "_order": 0, "cache": {}, "request": { @@ -39192,7 +52136,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39211,18 +52155,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2010, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/circlesoftrust?_queryFilter=true" }, "response": { - "bodySize": 238, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39258,10 +52207,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"869693667\"" - }, { "name": "expires", "value": "0" @@ -39276,15 +52221,15 @@ }, { "name": "content-length", - "value": "238" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39303,14 +52248,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.211Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:13.868Z", + "time": 65, "timings": { "blocked": -1, "connect": -1, @@ -39318,15 +52263,15 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 65 } }, { - "_id": "267bc3b0973288f87c9db890cc611bd2", + "_id": "9caf147512f04ec021de6f7001a04d40", "_order": 0, "cache": {}, "request": { - "bodySize": 0, + "bodySize": 2, "cookies": [], "headers": [ { @@ -39343,7 +52288,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39353,6 +52298,10 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "content-length", + "value": "2" + }, { "name": "accept-encoding", "value": "gzip, compress, deflate, br" @@ -39362,169 +52311,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" - }, - "response": { - "bodySize": 256, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-716667889\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "256" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:17.212Z", - "time": 72, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 72 - } - }, - { - "_id": "ec4a524211626352dd8d28d774aa7dde", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, + "queryString": [ { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_action", + "value": "nextdescendents" } ], - "headersSize": 2053, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/groups?_action=nextdescendents" }, "response": { - "bodySize": 396, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 396, - "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -39560,10 +52368,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1359533036\"" - }, { "name": "expires", "value": "0" @@ -39578,15 +52382,15 @@ }, { "name": "content-length", - "value": "396" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39605,14 +52409,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.212Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:13.938Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -39620,11 +52424,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 97 } }, { - "_id": "806220cad255afb8f02cf9ac74828371", + "_id": "fcd20ab90e4e3bd683aa4a9efb6d04ba", "_order": 0, "cache": {}, "request": { @@ -39645,7 +52449,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39664,18 +52468,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2001, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/2.2_Agent?_queryFilter=true" }, "response": { - "bodySize": 258, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39711,10 +52520,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"875005143\"" - }, { "name": "expires", "value": "0" @@ -39729,15 +52534,15 @@ }, { "name": "content-length", - "value": "258" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39756,14 +52561,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.300Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:14.043Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -39771,11 +52576,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 89 } }, { - "_id": "4f146a167caec4cdd94f43a9c735e9ae", + "_id": "667497560bfe52f2d1992aa0d34d5b5f", "_order": 0, "cache": {}, "request": { @@ -39796,7 +52601,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -39815,18 +52620,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2012, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -39862,10 +52672,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"688403743\"" - }, { "name": "expires", "value": "0" @@ -39880,15 +52686,15 @@ }, { "name": "content-length", - "value": "257" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -39907,14 +52713,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.301Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:14.044Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -39922,11 +52728,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 90 } }, { - "_id": "ec8aee31a2ac84861e7932b14146fcfb", + "_id": "2d5b74b142b052cc5fbc77d3f06dd1ca", "_order": 0, "cache": {}, "request": { @@ -39947,11 +52753,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -39966,7 +52772,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1990, + "headersSize": 2001, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -39975,7 +52781,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/saml2?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/J2EEAgent?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40004,7 +52810,7 @@ }, { "name": "content-api-version", - "value": "resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -40036,11 +52842,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40065,8 +52871,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.380Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:14.045Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -40074,11 +52880,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 101 } }, { - "_id": "a6da490906ad095dd3c6c369c6f06ac2", + "_id": "cd69bf2369672e98496f93cf70225fbf", "_order": 0, "cache": {}, "request": { @@ -40099,7 +52905,159 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2003, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/OAuth2Thing?_queryFilter=true" + }, + "response": { + "bodySize": 87, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 87, + "text": "{\"code\":501,\"reason\":\"Not Implemented\",\"message\":\"OAuth 2.0 for Things is not enabled\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "87" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 765, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 501, + "statusText": "Not Implemented" + }, + "startedDateTime": "2024-11-05T21:22:14.046Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + }, + { + "_id": "9e5f64fb6b1f3661d1c69d97ee1a6afb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40127,14 +53085,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/federation/circlesoftrust?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/RemoteConsentAgent?_queryFilter=true" }, "response": { "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -40188,11 +53146,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40217,8 +53175,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.448Z", - "time": 61, + "startedDateTime": "2024-11-05T21:22:14.046Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -40226,11 +53184,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 61 + "wait": 92 } }, { - "_id": "667497560bfe52f2d1992aa0d34d5b5f", + "_id": "fa0aec20d768f5ca69c9770f07faff1a", "_order": 0, "cache": {}, "request": { @@ -40251,7 +53209,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40270,7 +53228,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2012, + "headersSize": 2003, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40279,7 +53237,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/IdentityGatewayAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/SharedAgent?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40340,11 +53298,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40369,8 +53327,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.514Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:14.047Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -40378,11 +53336,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 86 } }, { - "_id": "2d5b74b142b052cc5fbc77d3f06dd1ca", + "_id": "24d35cbc6a2aa382b654c7d65b47a423", "_order": 0, "cache": {}, "request": { @@ -40403,7 +53361,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40422,7 +53380,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2001, + "headersSize": 2000, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40431,7 +53389,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/J2EEAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/WebAgent?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40492,11 +53450,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40521,8 +53479,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.515Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:14.048Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -40530,11 +53488,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 97 } }, { - "_id": "24d35cbc6a2aa382b654c7d65b47a423", + "_id": "95ceefd7cbb18a2c9de4b7c0085fe94a", "_order": 0, "cache": {}, "request": { @@ -40555,7 +53513,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40574,7 +53532,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2009, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -40583,7 +53541,7 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/WebAgent?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/SoftwarePublisher?_queryFilter=true" }, "response": { "bodySize": 138, @@ -40644,11 +53602,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40673,8 +53631,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.515Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:14.048Z", + "time": 99, "timings": { "blocked": -1, "connect": -1, @@ -40682,7 +53640,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 99 } }, { @@ -40707,7 +53665,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40791,11 +53749,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40824,8 +53782,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.592Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:14.152Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -40833,7 +53791,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 62 } }, { @@ -40858,7 +53816,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -40889,11 +53847,11 @@ "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/OAuth2Client?_queryFilter=true" }, "response": { - "bodySize": 11602, + "bodySize": 11630, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 11602, - "text": "{\"result\":[{\"_id\":\"RCSClient\",\"_rev\":\"104376878\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"123296491\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"-714932155\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test App\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + "size": 11630, + "text": "{\"result\":[{\"_id\":\"RCSClient\",\"_rev\":\"104376878\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"SCRIPTED\",\"providerOverridesEnabled\":true,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":true,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":true,\"accessTokenModificationScript\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"client_credentials\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":\"http://am.fr-platform:80/am/oauth2/connect/jwk_uri\",\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"fr:idm:*\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testclient\",\"_rev\":\"123296491\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"accessTokenModifierClass\":null,\"customLoginUrlTemplate\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"sectorIdentifierUri\":null,\"tosURI\":[],\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"isConsentImplied\":false,\"refreshTokenGracePeriod\":0,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"mTLSCertificateBoundAccessTokens\":false,\"userinfoResponseFormat\":\"JSON\",\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreOAuth2ClientConfig\":{\"status\":\"Active\",\"clientName\":[],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[\"email\",\"openid\",\"profile\"],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}},{\"_id\":\"testapp\",\"_rev\":\"810281592\",\"overrideOAuth2ClientConfig\":{\"issueRefreshToken\":true,\"validateScopePluginType\":\"PROVIDER\",\"tokenEncryptionEnabled\":false,\"evaluateScopePluginType\":\"PROVIDER\",\"oidcMayActScript\":\"[Empty]\",\"oidcClaimsScript\":\"[Empty]\",\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenModificationPluginType\":\"PROVIDER\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider\",\"useForceAuthnForMaxAge\":false,\"oidcClaimsPluginType\":\"PROVIDER\",\"providerOverridesEnabled\":false,\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"statelessTokensEnabled\":false,\"authorizeEndpointDataProviderPluginType\":\"PROVIDER\",\"oidcClaimsClass\":null,\"remoteConsentServiceId\":null,\"enableRemoteConsent\":false,\"validateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator\",\"customLoginUrlTemplate\":null,\"accessTokenModifierClass\":null,\"usePolicyEngineForScope\":false,\"evaluateScopeClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator\",\"overrideableOIDCClaims\":[],\"accessTokenMayActScript\":\"[Empty]\",\"evaluateScopeScript\":\"[Empty]\",\"clientsCanSkipConsent\":false,\"accessTokenModificationScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true,\"validateScopeScript\":\"[Empty]\"},\"advancedOAuth2ClientConfig\":{\"logoUri\":[],\"subjectType\":\"public\",\"clientUri\":[],\"tokenExchangeAuthLevel\":0,\"responseTypes\":[\"code\",\"token\",\"id_token\",\"code token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"device_code\",\"device_code id_token\"],\"mixUpMitigation\":false,\"customProperties\":[],\"javascriptOrigins\":[],\"policyUri\":[],\"softwareVersion\":null,\"tosURI\":[],\"sectorIdentifierUri\":null,\"tokenEndpointAuthMethod\":\"client_secret_basic\",\"refreshTokenGracePeriod\":0,\"isConsentImplied\":false,\"softwareIdentity\":null,\"grantTypes\":[\"authorization_code\"],\"require_pushed_authorization_requests\":false,\"descriptions\":[\"Test App\"],\"requestUris\":[],\"name\":[],\"contacts\":[],\"updateAccessToken\":null},\"signEncOAuth2ClientConfig\":{\"tokenEndpointAuthSigningAlgorithm\":\"RS256\",\"idTokenEncryptionEnabled\":false,\"tokenIntrospectionEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\",\"requestParameterSignedAlg\":null,\"authorizationResponseSigningAlgorithm\":\"RS256\",\"clientJwtPublicKey\":null,\"idTokenPublicEncryptionKey\":null,\"mTLSSubjectDN\":null,\"jwkStoreCacheMissCacheTime\":60000,\"jwkSet\":null,\"idTokenEncryptionMethod\":\"A128CBC-HS256\",\"jwksUri\":null,\"tokenIntrospectionEncryptedResponseAlg\":\"RSA-OAEP-256\",\"authorizationResponseEncryptionMethod\":null,\"userinfoResponseFormat\":\"JSON\",\"mTLSCertificateBoundAccessTokens\":false,\"publicKeyLocation\":\"jwks_uri\",\"tokenIntrospectionResponseFormat\":\"JSON\",\"requestParameterEncryptedEncryptionAlgorithm\":\"A128CBC-HS256\",\"userinfoSignedResponseAlg\":null,\"idTokenEncryptionAlgorithm\":\"RSA-OAEP-256\",\"requestParameterEncryptedAlg\":null,\"authorizationResponseEncryptionAlgorithm\":null,\"mTLSTrustedCert\":null,\"jwksCacheTimeout\":3600000,\"userinfoEncryptedResponseAlg\":null,\"idTokenSignedResponseAlg\":\"RS256\",\"tokenIntrospectionSignedResponseAlg\":\"RS256\",\"userinfoEncryptedResponseEncryptionAlgorithm\":\"A128CBC-HS256\"},\"coreOAuth2ClientConfig\":{\"secretLabelIdentifier\":null,\"status\":\"Active\",\"clientName\":[\"testapp\"],\"clientType\":\"Confidential\",\"loopbackInterfaceRedirection\":false,\"defaultScopes\":[],\"agentgroup\":null,\"refreshTokenLifetime\":0,\"scopes\":[],\"accessTokenLifetime\":0,\"redirectionUris\":[],\"authorizationCodeLifetime\":0},\"coreOpenIDClientConfig\":{\"claims\":[],\"backchannel_logout_uri\":null,\"defaultAcrValues\":[],\"jwtTokenLifetime\":0,\"defaultMaxAgeEnabled\":false,\"clientSessionUri\":null,\"defaultMaxAge\":600,\"postLogoutRedirectUri\":[],\"backchannel_logout_session_required\":false},\"coreUmaClientConfig\":{\"claimsRedirectionUris\":[]},\"_type\":{\"_id\":\"OAuth2Client\",\"name\":\"OAuth2 Clients\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -40943,11 +53901,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -40976,8 +53934,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.667Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:14.219Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -40985,7 +53943,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 70 } }, { @@ -41010,7 +53968,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -41098,11 +54056,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41127,8 +54085,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.744Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:14.294Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -41136,7 +54094,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 56 } }, { @@ -41161,7 +54119,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -41259,11 +54217,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41288,160 +54246,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.833Z", - "time": 72, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 72 - } - }, - { - "_id": "644daac1d3ee4232d51939812bd81166", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2083, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - }, - { - "name": "_pageSize", - "value": "1000" - }, - { - "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/bravo_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" - }, - "response": { - "bodySize": 138, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 138, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:17 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "138" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 664, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:17.910Z", - "time": 59, + "startedDateTime": "2024-11-05T21:22:14.355Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -41449,11 +54255,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 67 } }, { - "_id": "268fbe92035d46acffcf776bd02460bc", + "_id": "9f21611e1c7c6f6e811959b3f62b7a1c", "_order": 0, "cache": {}, "request": { @@ -41474,11 +54280,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41493,7 +54299,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1967, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -41502,14 +54308,14 @@ "value": "true" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/policies?_queryFilter=true" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" }, "response": { - "bodySize": 137, + "bodySize": 21463, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 137, - "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 21463, + "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":10,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -41531,7 +54337,7 @@ }, { "name": "content-api-version", - "value": "resource=2.1" + "value": "protocol=2.1,resource=2.0, resource=2.0" }, { "name": "content-security-policy", @@ -41557,17 +54363,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "137" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41584,16 +54386,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 766, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:17.975Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:14.427Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -41601,11 +54407,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 71 } }, { - "_id": "769334af37e886da6d33ca9c48963b76", + "_id": "5f45f78b60ce44d4436c9b8234d928ae", "_order": 0, "cache": {}, "request": { @@ -41626,11 +54432,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=2.1" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41645,27 +54451,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2057, + "headersSize": 2025, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!sunAMDelegationService$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" }, "response": { - "bodySize": 1070, + "bodySize": 1288, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1070, - "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915520061,\"saveIndex\":null,\"searchIndex\":null,\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"editable\":true,\"applicationType\":\"iPlanetAMWebAgentService\",\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 1288, + "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -41687,7 +54484,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=2.1, resource=2.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -41701,6 +54498,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"161495250\"" + }, { "name": "expires", "value": "0" @@ -41715,15 +54516,15 @@ }, { "name": "content-length", - "value": "1070" + "value": "1288" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41742,14 +54543,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.041Z", - "time": 60, + "startedDateTime": "2024-11-05T21:22:14.503Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -41757,11 +54558,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 60 + "wait": 58 } }, { - "_id": "b6389f9d631cf6fc607a6d3b6f941607", + "_id": "f262441de8c2c1440f98108bc9c88620", "_order": 0, "cache": {}, "request": { @@ -41782,11 +54583,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=1.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41801,27 +54602,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_sortKeys", - "value": "name" - }, - { - "name": "_queryFilter", - "value": "name eq \"^(?!Delegation Service$).*\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" }, "response": { - "bodySize": 1019, + "bodySize": 451, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1019, - "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915518398},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915519107}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 451, + "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -41843,7 +54635,7 @@ }, { "name": "content-api-version", - "value": "protocol=1.0,resource=1.0, resource=1.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -41857,6 +54649,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-1421046051\"" + }, { "name": "expires", "value": "0" @@ -41871,15 +54667,15 @@ }, { "name": "content-length", - "value": "1019" + "value": "451" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -41898,14 +54694,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.107Z", - "time": 59, + "startedDateTime": "2024-11-05T21:22:14.566Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -41913,11 +54709,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 59 + "wait": 74 } }, { - "_id": "4b12f5b80ca674782cd53806efb4ddb1", + "_id": "2510fc93828c554328992ec9e3853f5e", "_order": 0, "cache": {}, "request": { @@ -41938,11 +54734,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -41957,23 +54753,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1979, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/scripts?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" }, "response": { - "bodySize": 427109, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 427109, - "text": "{\"result\":[{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fa53dc0e-b558-49ab-bc5a-609c0b4d1286\",\"name\":\"Debug\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2sKKTsKCm91dGNvbWUgPSAidHJ1ZSI7Cgp3aXRoIChmcikgewogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICB2YXIgc2VwZXJhdG9yQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICB2YXIgc2hhcmVkU3RhdGVDQiA9IG5ldyBUZXh0T3V0cHV0Q2FsbGJhY2soVGV4dE91dHB1dENhbGxiYWNrLklORk9STUFUSU9OLCAic2hhcmVkU3RhdGU6ICIgKyBzaGFyZWRTdGF0ZS50b1N0cmluZygpKTsKICAgIHZhciB0cmFuc2llbnRTdGF0ZUNCID0gbmV3IFRleHRPdXRwdXRDYWxsYmFjayhUZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sICJ0cmFuc2llbnRTdGF0ZTogIiArIHRyYW5zaWVudFN0YXRlLnRvU3RyaW5nKCkpOwogICAgdmFyIHJlcXVlc3RIZWFkZXJzQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgInJlcXVlc3RIZWFkZXJzOiAiICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSk7CiAgICB2YXIgdGhlQ2FsbGJhY2tzID0gW3NoYXJlZFN0YXRlQ0IsIHNlcGVyYXRvckNCLCB0cmFuc2llbnRTdGF0ZUNCLCBzZXBlcmF0b3JDQiwgcmVxdWVzdEhlYWRlcnNDQl07CiAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCh0aGVDYWxsYmFja3MpLmJ1aWxkKCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IEFjdGlvbi5nb1RvKCJ0cnVlIikuYnVpbGQoKTsKICB9Cn0K\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"name\":\"Selfie Authentication Results\",\"description\":\"Show selfie authentication results\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug - imported (1)\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"name\":\"Full Verification Results\",\"description\":\"Show full identity verification results\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"name\":\"Bravo OIDC Claims Script\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"name\":\"Prepare Account Update\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"name\":\"Load Reference Selfie\",\"description\":\"Load reference selfie into shared state\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"name\":\"Prepare Account Creation\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"name\":\"Check Resolved Username\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"name\":\"Check Resolved Username - imported (1)\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":58,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 256, + "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -41995,7 +54786,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -42009,6 +54800,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1389809903\"" + }, { "name": "expires", "value": "0" @@ -42021,13 +54816,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "256" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42044,20 +54843,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.171Z", - "time": 141, + "startedDateTime": "2024-11-05T21:22:14.567Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -42065,11 +54860,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 141 + "wait": 74 } }, { - "_id": "f08c9b1bfb91a7ac9948a0779d52beb2", + "_id": "c7826c825c1a79ac128cbbe5606c9afd", "_order": 0, "cache": {}, "request": { @@ -42090,11 +54885,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42109,23 +54904,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2000, + "headersSize": 2069, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" }, "response": { - "bodySize": 186180, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 186180, - "text": "{\"result\":[{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"enable\":true,\"_id\":\"TNTPPingOneService\",\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Creation\",\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username\",\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show full identity verification results\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Full Verification Results\",\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show selfie authentication results\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Selfie Authentication Results\",\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Update\",\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2sKKTsKCm91dGNvbWUgPSAidHJ1ZSI7Cgp3aXRoIChmcikgewogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICB2YXIgc2VwZXJhdG9yQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICB2YXIgc2hhcmVkU3RhdGVDQiA9IG5ldyBUZXh0T3V0cHV0Q2FsbGJhY2soVGV4dE91dHB1dENhbGxiYWNrLklORk9STUFUSU9OLCAic2hhcmVkU3RhdGU6ICIgKyBzaGFyZWRTdGF0ZS50b1N0cmluZygpKTsKICAgIHZhciB0cmFuc2llbnRTdGF0ZUNCID0gbmV3IFRleHRPdXRwdXRDYWxsYmFjayhUZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sICJ0cmFuc2llbnRTdGF0ZTogIiArIHRyYW5zaWVudFN0YXRlLnRvU3RyaW5nKCkpOwogICAgdmFyIHJlcXVlc3RIZWFkZXJzQ0IgPSBuZXcgVGV4dE91dHB1dENhbGxiYWNrKFRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwgInJlcXVlc3RIZWFkZXJzOiAiICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSk7CiAgICB2YXIgdGhlQ2FsbGJhY2tzID0gW3NoYXJlZFN0YXRlQ0IsIHNlcGVyYXRvckNCLCB0cmFuc2llbnRTdGF0ZUNCLCBzZXBlcmF0b3JDQiwgcmVxdWVzdEhlYWRlcnNDQl07CiAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCh0aGVDYWxsYmFja3MpLmJ1aWxkKCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IEFjdGlvbi5nb1RvKCJ0cnVlIikuYnVpbGQoKTsKICB9Cn0K\",\"description\":\"null\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Debug\",\"_id\":\"fa53dc0e-b558-49ab-bc5a-609c0b4d1286\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username - imported (1)\",\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script\",\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug - imported (1)\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Load reference selfie into shared state\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Load Reference Selfie\",\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" + "size": 296, + "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42161,6 +54951,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-626658673\"" + }, { "name": "expires", "value": "0" @@ -42173,13 +54967,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "296" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42196,20 +54994,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 773, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.318Z", - "time": 120, + "startedDateTime": "2024-11-05T21:22:14.568Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -42217,11 +55011,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 72 } }, { - "_id": "e09460740281fbbb56e0ba1d82c45356", + "_id": "2b5d6115e32c25a45b27aaa145b097fa", "_order": 0, "cache": {}, "request": { @@ -42242,11 +55036,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42261,18 +55055,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1981, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" }, "response": { - "bodySize": 286, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 286, - "text": "{\"_id\":\"\",\"_rev\":\"1248750872\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" + "size": 436, + "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42310,7 +55104,7 @@ }, { "name": "etag", - "value": "\"1248750872\"" + "value": "\"2035832000\"" }, { "name": "expires", @@ -42326,15 +55120,15 @@ }, { "name": "content-length", - "value": "286" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42359,8 +55153,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.448Z", - "time": 78, + "startedDateTime": "2024-11-05T21:22:14.568Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -42368,11 +55162,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 73 } }, { - "_id": "49cd3e56007bb581f457f78f77d0db7e", + "_id": "54789755913e7c6284a740902b328cda", "_order": 0, "cache": {}, "request": { @@ -42393,11 +55187,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42412,23 +55206,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2006, + "headersSize": 2067, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + }, + "response": { + "bodySize": 307, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 307, + "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1331445210\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email?_action=nextdescendents" + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:14.645Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "15baa18d8229344031514911b378e9a0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2030, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/FullVerificationResult" }, "response": { - "bodySize": 13, + "bodySize": 1312, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 1312, + "text": "{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -42464,6 +55404,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-2082210208\"" + }, { "name": "expires", "value": "0" @@ -42478,15 +55422,15 @@ }, { "name": "content-length", - "value": "13" + "value": "1312" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42505,14 +55449,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.448Z", - "time": 101, + "startedDateTime": "2024-11-05T21:22:14.707Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -42520,11 +55464,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 57 } }, { - "_id": "a676125b13d746ef911be6d0ae3a036f", + "_id": "8515d2e6e18eb2a6527421421be03ddf", "_order": 0, "cache": {}, "request": { @@ -42545,11 +55489,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42564,18 +55508,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1994, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/43bd2a51-06e5-4f77-a239-0ae14d0f903e" }, "response": { - "bodySize": 125, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 125, - "text": "{\"_id\":\"\",\"_rev\":\"1688843526\",\"enable\":true,\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}}" + "size": 295, + "text": "{\"_id\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"_rev\":\"956270392\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -42613,7 +55557,7 @@ }, { "name": "etag", - "value": "\"1688843526\"" + "value": "\"956270392\"" }, { "name": "expires", @@ -42629,15 +55573,15 @@ }, { "name": "content-length", - "value": "125" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42656,14 +55600,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.449Z", - "time": 105, + "startedDateTime": "2024-11-05T21:22:14.771Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -42671,11 +55615,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 105 + "wait": 70 } }, { - "_id": "c56f9e67b3250bdfea892eadb98b469e", + "_id": "9954f40fb7172b6029dfed9b077be771", "_order": 0, "cache": {}, "request": { @@ -42696,11 +55640,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42715,23 +55659,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2019, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/75cd0cc5-dae5-4289-b160-bae08c5f24af" }, "response": { - "bodySize": 645, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 645, - "text": "{\"result\":[{\"clientIdWorkerSecret\":\"MYeArFcBVz_koayPMhz8dSmkKN9P1SjEA3CApwzWTfKuGvhS3XERxRpR1zTYg0ZT\",\"clientIdWorkerApp\":\"9e4b8778-8d02-4533-b11f-407c15e5519e\",\"environmentId\":\"183aa418-cdd3-4075-b20d-1ed89c8ca36e\",\"environmentRegion\":\"NA\",\"_id\":\"p1-volker-dev\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}},{\"clientIdWorkerSecret\":\"PYT2yEkgv73IAXf7W-Gxo32SdANddMPdRPHuo8btgIR~qoU_KBmP3NfGpVxxGCK-\",\"clientIdWorkerApp\":\"bc700ab9-b18d-4d75-9c10-0ddfd7a2fcf6\",\"environmentId\":\"77826556-ad2a-4cb9-86fc-41f53fd35d4d\",\"environmentRegion\":\"NA\",\"_id\":\"JC\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}}]}" + "size": 337, + "text": "{\"_id\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\",\"_rev\":\"-382647302\",\"nodes\":[{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -42767,6 +55706,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-382647302\"" + }, { "name": "expires", "value": "0" @@ -42781,15 +55724,15 @@ }, { "name": "content-length", - "value": "645" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42808,14 +55751,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 766, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.449Z", - "time": 134, + "startedDateTime": "2024-11-05T21:22:14.772Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -42823,11 +55766,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 134 + "wait": 67 } }, { - "_id": "765ef82693538218803204da06f18c64", + "_id": "c7da59a43f728c9001e488dceb55dc3c", "_order": 0, "cache": {}, "request": { @@ -42848,11 +55791,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -42867,18 +55810,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1995, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbce5b49-d75d-440a-92e1-6d76290046bf" }, "response": { - "bodySize": 837, + "bodySize": 352, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 837, - "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" + "size": 352, + "text": "{\"_id\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"_rev\":\"-783727962\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -42916,7 +55859,7 @@ }, { "name": "etag", - "value": "\"-1504612008\"" + "value": "\"-783727962\"" }, { "name": "expires", @@ -42932,15 +55875,15 @@ }, { "name": "content-length", - "value": "837" + "value": "352" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -42959,14 +55902,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.450Z", - "time": 117, + "startedDateTime": "2024-11-05T21:22:14.773Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -42974,11 +55917,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 117 + "wait": 67 } }, { - "_id": "483ca721c05100b646e50c58ff8b5d8c", + "_id": "51ba58d709843b5b1891aab68484ac2d", "_order": 0, "cache": {}, "request": { @@ -42999,11 +55942,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43018,23 +55961,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d" + }, + "response": { + "bodySize": 477, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 477, + "text": "{\"_id\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\",\"_rev\":\"1289082510\",\"nodes\":[{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Result\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ { - "name": "_action", - "value": "nextdescendents" + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1289082510\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "477" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration?_action=nextdescendents" + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:14.773Z", + "time": 70, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 70 + } + }, + { + "_id": "c37481ac34aa4c80dd734638608f3574", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2067, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/da8218d8-0226-432c-abe5-d4518e06fce8" }, "response": { - "bodySize": 13, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 309, + "text": "{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"_rev\":\"1425567817\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -43070,6 +56159,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1425567817\"" + }, { "name": "expires", "value": "0" @@ -43084,15 +56177,15 @@ }, { "name": "content-length", - "value": "13" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43111,14 +56204,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.450Z", - "time": 118, + "startedDateTime": "2024-11-05T21:22:14.848Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -43126,11 +56219,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 118 + "wait": 60 } }, { - "_id": "54e9e274b63b64e32662ed40c91d88b7", + "_id": "514767662773eaba8458665cab6e5c62", "_order": 0, "cache": {}, "request": { @@ -43151,11 +56244,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43170,18 +56263,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5d32ece5-bf1d-4b3a-a0e5-e47867334112" }, "response": { - "bodySize": 279, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" + "size": 299, + "text": "{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"_rev\":\"-1880025452\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43219,7 +56312,7 @@ }, { "name": "etag", - "value": "\"-948959244\"" + "value": "\"-1880025452\"" }, { "name": "expires", @@ -43235,15 +56328,15 @@ }, { "name": "content-length", - "value": "279" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43262,14 +56355,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.451Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:14.849Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -43277,11 +56370,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 59 } }, { - "_id": "864db2aced2e25acf21b709449360ad3", + "_id": "80671685456133cd7078a14c298afabb", "_order": 0, "cache": {}, "request": { @@ -43302,11 +56395,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43321,23 +56414,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2017, + "headersSize": 2065, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c1f34309-1be3-4fd8-8c7d-8f027a91bb46" }, "response": { - "bodySize": 13, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 297, + "text": "{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"_rev\":\"108853207\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43373,6 +56461,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"108853207\"" + }, { "name": "expires", "value": "0" @@ -43387,15 +56479,15 @@ }, { "name": "content-length", - "value": "13" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43414,14 +56506,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.451Z", - "time": 138, + "startedDateTime": "2024-11-05T21:22:14.849Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -43429,11 +56521,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 138 + "wait": 61 } }, { - "_id": "9c24c392d5ec59518b53b6c98a036372", + "_id": "94d452e8f0783c9e043ed417622c1728", "_order": 0, "cache": {}, "request": { @@ -43454,11 +56546,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43473,23 +56565,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2024, + "headersSize": 2035, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeFullVerification" }, "response": { - "bodySize": 13, + "bodySize": 4793, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 4793, + "text": "{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -43525,6 +56612,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1102600689\"" + }, { "name": "expires", "value": "0" @@ -43539,15 +56630,15 @@ }, { "name": "content-length", - "value": "13" + "value": "4793" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:14 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43566,14 +56657,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.452Z", - "time": 96, + "startedDateTime": "2024-11-05T21:22:14.914Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -43581,11 +56672,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 60 } }, { - "_id": "d784eac328f02a92f02b8daab73886c8", + "_id": "0c54817a265f73a2e1a17fef6f8e179f", "_order": 0, "cache": {}, "request": { @@ -43606,11 +56697,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43625,18 +56716,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1999, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a" }, "response": { - "bodySize": 148, + "bodySize": 481, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 148, - "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" + "size": 481, + "text": "{\"_id\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"_rev\":\"1411874953\",\"nodes\":[{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Successful\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -43674,7 +56765,7 @@ }, { "name": "etag", - "value": "\"1077208638\"" + "value": "\"1411874953\"" }, { "name": "expires", @@ -43690,15 +56781,15 @@ }, { "name": "content-length", - "value": "148" + "value": "481" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43723,8 +56814,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.452Z", - "time": 139, + "startedDateTime": "2024-11-05T21:22:14.984Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -43732,11 +56823,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 139 + "wait": 71 } }, { - "_id": "ef998d020afb2e38925faf9edcac264b", + "_id": "8ae7e304b653b06b77b3af8fa20d37aa", "_order": 0, "cache": {}, "request": { @@ -43757,11 +56848,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -43776,23 +56867,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/oauth-oidc?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc" }, "response": { - "bodySize": 13, + "bodySize": 943, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 943, + "text": "{\"_id\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"_rev\":\"-325518769\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -43828,6 +56914,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-325518769\"" + }, { "name": "expires", "value": "0" @@ -43842,15 +56932,15 @@ }, { "name": "content-length", - "value": "13" + "value": "943" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -43869,117 +56959,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.454Z", - "time": 134, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 134 - } - }, - { - "_id": "5854232707369b3351cccfd047e0b48e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1991, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories" - }, - "response": { - "bodySize": 114, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "private, no-store" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 292, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 403, - "statusText": "Forbidden" - }, - "startedDateTime": "2024-10-22T22:47:18.455Z", - "time": 111, + "startedDateTime": "2024-11-05T21:22:14.984Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -43987,11 +56974,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 111 + "wait": 77 } }, { - "_id": "a51b239eab51fcc0dd0f8318612e0fe1", + "_id": "5178ae47b4eda93a298301bf06b772ad", "_order": 0, "cache": {}, "request": { @@ -44012,11 +56999,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44031,28 +57018,63 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2016, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c8fb336-8d51-466c-933b-635c5b00365a" }, "response": { - "bodySize": 114, + "bodySize": 374, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 374, + "text": "{\"_id\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"_rev\":\"-353702425\",\"nodes\":[{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, { "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-353702425\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", "value": "no-cache" }, { @@ -44060,12 +57082,24 @@ "value": "application/json;charset=UTF-8" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "content-length", + "value": "374" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -44074,20 +57108,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.456Z", - "time": 110, + "startedDateTime": "2024-11-05T21:22:14.985Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -44095,11 +57125,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 110 + "wait": 76 } }, { - "_id": "02de68169a4bfc9a868495c69693abec", + "_id": "a4006a132e49641008363b05cc6da44d", "_order": 0, "cache": {}, "request": { @@ -44120,11 +57150,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44139,18 +57169,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1996, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1" }, "response": { - "bodySize": 135, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 135, - "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\",\"_rev\":\"-231434689\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -44188,7 +57218,7 @@ }, { "name": "etag", - "value": "\"-945038405\"" + "value": "\"-231434689\"" }, { "name": "expires", @@ -44204,15 +57234,15 @@ }, { "name": "content-length", - "value": "135" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44237,8 +57267,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.458Z", - "time": 191, + "startedDateTime": "2024-11-05T21:22:14.985Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -44246,11 +57276,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 191 + "wait": 77 } }, { - "_id": "2953e2057e337bd2211699eea5ff1098", + "_id": "c11a76a33d630dace182c5826b9cc959", "_order": 0, "cache": {}, "request": { @@ -44271,11 +57301,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44290,23 +57320,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/2e801ab7-5412-4388-990b-84070f130994" }, "response": { - "bodySize": 13, + "bodySize": 764, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 764, + "text": "{\"_id\":\"2e801ab7-5412-4388-990b-84070f130994\",\"_rev\":\"407723514\",\"nodes\":[{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"nodeType\":\"PingOneVerifyProofing\",\"displayName\":\"PingOne Verify Proofing\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the document and selfie capturing step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -44342,6 +57367,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"407723514\"" + }, { "name": "expires", "value": "0" @@ -44356,15 +57385,15 @@ }, { "name": "content-length", - "value": "13" + "value": "764" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44383,14 +57412,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.459Z", - "time": 190, + "startedDateTime": "2024-11-05T21:22:14.986Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -44398,11 +57427,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 190 + "wait": 80 } }, { - "_id": "79f6bd8f783eaf4ca302e8cb4ef51612", + "_id": "7bee8e581e9bb17fcf1132c99075c9e8", "_order": 0, "cache": {}, "request": { @@ -44423,11 +57452,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44442,18 +57471,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1983, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b19c2c8-26be-4cc7-91f8-722d87142521" }, "response": { - "bodySize": 178, + "bodySize": 353, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 178, - "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" + "size": 353, + "text": "{\"_id\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"_rev\":\"-1499195584\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -44491,7 +57520,7 @@ }, { "name": "etag", - "value": "\"-1889820858\"" + "value": "\"-1499195584\"" }, { "name": "expires", @@ -44507,15 +57536,15 @@ }, { "name": "content-length", - "value": "178" + "value": "353" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44540,8 +57569,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.460Z", - "time": 185, + "startedDateTime": "2024-11-05T21:22:14.987Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -44549,11 +57578,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 185 + "wait": 85 } }, { - "_id": "8ed1b03474e06c05baf83c5ce1d75ab6", + "_id": "20e4f460db5d15afed5a133e1e1f35e2", "_order": 0, "cache": {}, "request": { @@ -44574,11 +57603,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44593,23 +57622,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2008, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/4885ef18-2a01-48bf-9b35-cda88b348e71" }, "response": { - "bodySize": 13, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 337, + "text": "{\"_id\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\",\"_rev\":\"-515721755\",\"nodes\":[{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -44645,6 +57669,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-515721755\"" + }, { "name": "expires", "value": "0" @@ -44659,15 +57687,15 @@ }, { "name": "content-length", - "value": "13" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44686,14 +57714,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.462Z", - "time": 180, + "startedDateTime": "2024-11-05T21:22:14.987Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -44701,11 +57729,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 180 + "wait": 86 } }, { - "_id": "37569ca7fa59cbe4a83adb2c86047fbd", + "_id": "23ddfc5236ba8dc585ae8d4f503b6d59", "_order": 0, "cache": {}, "request": { @@ -44726,11 +57754,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44745,18 +57773,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1986, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b4cc53a-4d3a-4fb4-9815-1b65d970efc3" }, "response": { - "bodySize": 175, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 175, - "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" + "size": 298, + "text": "{\"_id\":\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\",\"_rev\":\"1825168507\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -44794,7 +57822,7 @@ }, { "name": "etag", - "value": "\"896681690\"" + "value": "\"1825168507\"" }, { "name": "expires", @@ -44810,15 +57838,15 @@ }, { "name": "content-length", - "value": "175" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44837,14 +57865,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.463Z", - "time": 180, + "startedDateTime": "2024-11-05T21:22:14.988Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -44852,11 +57880,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 180 + "wait": 83 } }, { - "_id": "5ba208b28b7723a17eb51fee8c500317", + "_id": "ef146800237ee35317cfde4d2dcf1167", "_order": 0, "cache": {}, "request": { @@ -44877,11 +57905,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -44896,23 +57924,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2011, + "headersSize": 2053, "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation?_action=nextdescendents" + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/69e2fa6d-e18b-4661-86be-dbfefc311fc7" }, "response": { - "bodySize": 13, + "bodySize": 474, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 13, - "text": "{\"result\":[]}" + "size": 474, + "text": "{\"_id\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"_rev\":\"-882451986\",\"nodes\":[{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -44948,6 +57971,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"-882451986\"" + }, { "name": "expires", "value": "0" @@ -44962,15 +57989,15 @@ }, { "name": "content-length", - "value": "13" + "value": "474" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -44989,14 +58016,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 765, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.464Z", - "time": 152, + "startedDateTime": "2024-11-05T21:22:14.988Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -45004,11 +58031,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 152 + "wait": 87 } }, { - "_id": "ee48dfbbaf2f3eca24540288af8b91fb", + "_id": "0d192fd47150e769219c143d89cf298f", "_order": 0, "cache": {}, "request": { @@ -45029,11 +58056,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "value": "protocol=2.1,resource=2.0" }, { "name": "authorization", @@ -45048,144 +58075,88 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1992, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/737a2e1a-008a-45da-bb1a-176b7ccc5230" }, "response": { - "bodySize": 114, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + "size": 507, + "text": "{\"_id\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\",\"_rev\":\"1003698205\",\"nodes\":[{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"19eb6cc1-d604-4bc1-a368-9505776477ba\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ { - "name": "cache-control", - "value": "private, no-store" + "name": "x-frame-options", + "value": "SAMEORIGIN" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" }, { - "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "name": "cache-control", + "value": "private" }, { - "name": "via", - "value": "1.1 google" + "name": "content-api-version", + "value": "resource=2.0" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" }, { - "name": "transfer-encoding", - "value": "chunked" - } - ], - "headersSize": 292, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 403, - "statusText": "Forbidden" - }, - "startedDateTime": "2024-10-22T22:47:18.466Z", - "time": 100, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 100 - } - }, - { - "_id": "59a849d0d0f5b95d886adecc30f2c31a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" + "name": "cross-origin-opener-policy", + "value": "same-origin" }, { - "name": "content-type", - "value": "application/json" + "name": "cross-origin-resource-policy", + "value": "same-origin" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" + "name": "etag", + "value": "\"1003698205\"" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "expires", + "value": "0" }, { - "name": "accept-api-version", - "value": "protocol=2.0,resource=2.0" + "name": "pragma", + "value": "no-cache" }, { - "name": "authorization", - "value": "Bearer " + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "content-length", + "value": "507" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2017, - "httpVersion": "HTTP/1.1", - "method": "POST", - "queryString": [ - { - "name": "_action", - "value": "nextdescendents" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService?_action=nextdescendents" - }, - "response": { - "bodySize": 114, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 114, - "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" - }, - "cookies": [], - "headers": [ - { - "name": "cache-control", - "value": "no-cache" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", - "value": "max-age=31536000;includeSubDomains;preload" + "value": "max-age=31536000; includeSubDomains; preload;" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "name": "x-robots-tag", + "value": "none" }, { "name": "via", @@ -45194,19 +58165,15 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 283, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 403, - "statusText": "Forbidden" + "status": 200, + "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.468Z", + "startedDateTime": "2024-11-05T21:22:14.989Z", "time": 97, "timings": { "blocked": -1, @@ -45219,7 +58186,7 @@ } }, { - "_id": "9f21611e1c7c6f6e811959b3f62b7a1c", + "_id": "5896e237f77f1083d069c1c213e985a7", "_order": 0, "cache": {}, "request": { @@ -45240,7 +58207,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45259,23 +58226,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "true" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees?_queryFilter=true" + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/798d799c-2a12-4af1-a611-9ffa5f694303" }, "response": { - "bodySize": 21463, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 21463, - "text": "{\"result\":[{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true},{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}],\"resultCount\":10,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 296, + "text": "{\"_id\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"_rev\":\"1718219714\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -45297,7 +58259,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.1,resource=2.0, resource=2.0" + "value": "resource=2.0" }, { "name": "content-security-policy", @@ -45311,6 +58273,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"1718219714\"" + }, { "name": "expires", "value": "0" @@ -45323,13 +58289,17 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, + { + "name": "content-length", + "value": "296" + }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45346,20 +58316,16 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "transfer-encoding", - "value": "chunked" } ], - "headersSize": 800, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.750Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:14.989Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -45367,11 +58333,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 137 } }, { - "_id": "5f45f78b60ce44d4436c9b8234d928ae", + "_id": "0101d2b5ac7c86c15f82c8b7ee917743", "_order": 0, "cache": {}, "request": { @@ -45392,7 +58358,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45411,18 +58377,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2025, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ForgottenUsername" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7b3211a0-debc-465f-bc81-f530458127c8" }, "response": { - "bodySize": 1288, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1288, - "text": "{\"_id\":\"ForgottenUsername\",\"_rev\":\"161495250\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Username Reset\\\"]\"},\"entryNodeId\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"innerTreeOnly\":false,\"nodes\":{\"5e2a7c95-94af-4b23-8724-deb13853726a\":{\"connections\":{\"outcome\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":139,\"y\":146},\"b93ce36e-1976-4610-b24f-8d6760b5463b\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":767,\"y\":188},\"bf9ea8d5-9802-4f26-9664-a21840faac23\":{\"connections\":{\"false\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"true\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":324,\"y\":152},\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\":{\"connections\":{\"outcome\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":563,\"y\":193}},\"description\":\"Forgotten Username Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":149},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":982,\"y\":252},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 507, + "text": "{\"_id\":\"7b3211a0-debc-465f-bc81-f530458127c8\",\"_rev\":\"-139391661\",\"nodes\":[{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -45460,7 +58426,7 @@ }, { "name": "etag", - "value": "\"161495250\"" + "value": "\"-139391661\"" }, { "name": "expires", @@ -45476,15 +58442,15 @@ }, { "name": "content-length", - "value": "1288" + "value": "507" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45509,8 +58475,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.818Z", - "time": 57, + "startedDateTime": "2024-11-05T21:22:14.990Z", + "time": 133, "timings": { "blocked": -1, "connect": -1, @@ -45518,11 +58484,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 133 } }, { - "_id": "f262441de8c2c1440f98108bc9c88620", + "_id": "7962139f43f20c3cb3d09f646a2de68b", "_order": 0, "cache": {}, "request": { @@ -45543,7 +58509,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45566,14 +58532,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/5e2a7c95-94af-4b23-8724-deb13853726a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/859c73ff-f04e-42e5-91f5-9ca908c289bb" }, "response": { - "bodySize": 451, + "bodySize": 477, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 451, - "text": "{\"_id\":\"5e2a7c95-94af-4b23-8724-deb13853726a\",\"_rev\":\"-1421046051\",\"nodes\":[{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Forgotten Username\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 477, + "text": "{\"_id\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"_rev\":\"1456509175\",\"nodes\":[{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -45611,7 +58577,7 @@ }, { "name": "etag", - "value": "\"-1421046051\"" + "value": "\"1456509175\"" }, { "name": "expires", @@ -45627,15 +58593,15 @@ }, { "name": "content-length", - "value": "451" + "value": "477" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45654,14 +58620,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.879Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:14.991Z", + "time": 142, "timings": { "blocked": -1, "connect": -1, @@ -45669,11 +58635,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 142 } }, { - "_id": "2510fc93828c554328992ec9e3853f5e", + "_id": "73ad47e5fbe18e6be07409a454e28a50", "_order": 0, "cache": {}, "request": { @@ -45694,7 +58660,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45713,18 +58679,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b93ce36e-1976-4610-b24f-8d6760b5463b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/8b6a4da7-d6eb-47cb-bb65-84757cdb1888" }, "response": { - "bodySize": 256, + "bodySize": 363, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"b93ce36e-1976-4610-b24f-8d6760b5463b\",\"_rev\":\"1389809903\",\"tree\":\"Login\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 363, + "text": "{\"_id\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\",\"_rev\":\"-1709084984\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -45762,7 +58728,7 @@ }, { "name": "etag", - "value": "\"1389809903\"" + "value": "\"-1709084984\"" }, { "name": "expires", @@ -45778,15 +58744,15 @@ }, { "name": "content-length", - "value": "256" + "value": "363" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45805,14 +58771,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.880Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:14.992Z", + "time": 127, "timings": { "blocked": -1, "connect": -1, @@ -45820,11 +58786,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 127 } }, { - "_id": "2b5d6115e32c25a45b27aaa145b097fa", + "_id": "95151ef1eff0faf48f460e9874b833ce", "_order": 0, "cache": {}, "request": { @@ -45845,7 +58811,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -45864,18 +58830,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/d9a79f01-2ce3-4be2-a28a-975f35c3c8ca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/986e0137-fe9f-4e2a-b37f-21bd13fbe6ce" }, "response": { - "bodySize": 436, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"d9a79f01-2ce3-4be2-a28a-975f35c3c8ca\",\"_rev\":\"2035832000\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"forgottenUsername\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 297, + "text": "{\"_id\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"_rev\":\"613737713\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -45913,7 +58879,7 @@ }, { "name": "etag", - "value": "\"2035832000\"" + "value": "\"613737713\"" }, { "name": "expires", @@ -45929,15 +58895,15 @@ }, { "name": "content-length", - "value": "436" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -45956,14 +58922,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.881Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:14.993Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -45971,11 +58937,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 137 } }, { - "_id": "c7826c825c1a79ac128cbbe5606c9afd", + "_id": "3b5d2f57835c8509ac372ea48326d0be", "_order": 0, "cache": {}, "request": { @@ -45996,7 +58962,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46015,18 +58981,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/bf9ea8d5-9802-4f26-9664-a21840faac23" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/bbd56ddb-17de-4e73-b61c-856301637712" }, "response": { - "bodySize": 296, + "bodySize": 362, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"bf9ea8d5-9802-4f26-9664-a21840faac23\",\"_rev\":\"-626658673\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 362, + "text": "{\"_id\":\"bbd56ddb-17de-4e73-b61c-856301637712\",\"_rev\":\"-868580812\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -46064,7 +59030,7 @@ }, { "name": "etag", - "value": "\"-626658673\"" + "value": "\"-868580812\"" }, { "name": "expires", @@ -46080,15 +59046,15 @@ }, { "name": "content-length", - "value": "296" + "value": "362" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:18 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46113,8 +59079,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.881Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:14.994Z", + "time": 138, "timings": { "blocked": -1, "connect": -1, @@ -46122,11 +59088,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 138 } }, { - "_id": "54789755913e7c6284a740902b328cda", + "_id": "84524259a85fbfbd1dead0491adb8de5", "_order": 0, "cache": {}, "request": { @@ -46147,7 +59113,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46166,18 +59132,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/9f1e8d94-4922-481b-9e14-212b66548900" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bf42cd1b-23e2-4f0d-9370-3299b2f39086" }, "response": { - "bodySize": 307, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"9f1e8d94-4922-481b-9e14-212b66548900\",\"_rev\":\"-1331445210\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"_rev\":\"-910008898\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46215,7 +59181,7 @@ }, { "name": "etag", - "value": "\"-1331445210\"" + "value": "\"-910008898\"" }, { "name": "expires", @@ -46231,15 +59197,166 @@ }, { "name": "content-length", - "value": "307" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:14.995Z", + "time": 130, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 130 + } + }, + { + "_id": "dfc61c063b9e6f32d1ace3d4e87ce3c8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c37589da-c897-417f-8afa-74a3b130042a" + }, + "response": { + "bodySize": 344, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 344, + "text": "{\"_id\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"_rev\":\"-1051164446\",\"script\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"outcomes\":[\"true\",\"false\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"},{\"id\":\"false\",\"displayName\":\"false\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1051164446\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "344" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46264,8 +59381,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:18.977Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:14.996Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -46273,11 +59390,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 118 } }, { - "_id": "15baa18d8229344031514911b378e9a0", + "_id": "a43abb2ddcb3aece1a8a74749e314981", "_order": 0, "cache": {}, "request": { @@ -46298,7 +59415,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46317,18 +59434,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2030, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/FullVerificationResult" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/e8efdd39-8cb8-4bff-a2bf-c9decd805252" }, "response": { - "bodySize": 1312, + "bodySize": 944, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1312, - "text": "{\"_id\":\"FullVerificationResult\",\"_rev\":\"-2082210208\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"innerTreeOnly\":false,\"nodes\":{\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":645,\"y\":133.015625},\"75cd0cc5-dae5-4289-b160-bae08c5f24af\":{\"connections\":{\"outcome\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\"},\"displayName\":\"Email\",\"nodeType\":\"PageNode\",\"x\":411,\"y\":312.015625},\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Result Dialog\",\"nodeType\":\"PageNode\",\"x\":886,\"y\":100.015625},\"cbce5b49-d75d-440a-92e1-6d76290046bf\":{\"connections\":{\"known\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"unknown\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":177,\"y\":231.015625}},\"description\":\"Display full verification result.\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":148},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1111,\"y\":307},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 944, + "text": "{\"_id\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"_rev\":\"-1670882767\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -46366,7 +59483,7 @@ }, { "name": "etag", - "value": "\"-2082210208\"" + "value": "\"-1670882767\"" }, { "name": "expires", @@ -46382,15 +59499,15 @@ }, { "name": "content-length", - "value": "1312" + "value": "944" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46409,14 +59526,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.046Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:14.998Z", + "time": 135, "timings": { "blocked": -1, "connect": -1, @@ -46424,11 +59541,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 135 } }, { - "_id": "8515d2e6e18eb2a6527421421be03ddf", + "_id": "7daece8f74c75ac116c4ef18b91eace3", "_order": 0, "cache": {}, "request": { @@ -46449,7 +59566,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46468,18 +59585,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/43bd2a51-06e5-4f77-a239-0ae14d0f903e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/41df2127-ff5d-4ff2-9971-04ff669145b5" }, "response": { - "bodySize": 295, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"43bd2a51-06e5-4f77-a239-0ae14d0f903e\",\"_rev\":\"956270392\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"_rev\":\"1760160013\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46517,7 +59634,7 @@ }, { "name": "etag", - "value": "\"956270392\"" + "value": "\"1760160013\"" }, { "name": "expires", @@ -46533,15 +59650,15 @@ }, { "name": "content-length", - "value": "295" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46560,14 +59677,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.115Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:15.140Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -46575,11 +59692,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 81 } }, { - "_id": "9954f40fb7172b6029dfed9b077be771", + "_id": "55f800830ab2bb24a323f29b994feb8f", "_order": 0, "cache": {}, "request": { @@ -46600,7 +59717,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46619,18 +59736,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/75cd0cc5-dae5-4289-b160-bae08c5f24af" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f764adf0-e71b-4780-990b-fe2906d6994a" }, "response": { - "bodySize": 337, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"75cd0cc5-dae5-4289-b160-bae08c5f24af\",\"_rev\":\"-382647302\",\"nodes\":[{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 298, + "text": "{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"_rev\":\"1882961856\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46668,7 +59785,7 @@ }, { "name": "etag", - "value": "\"-382647302\"" + "value": "\"1882961856\"" }, { "name": "expires", @@ -46684,15 +59801,15 @@ }, { "name": "content-length", - "value": "337" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46717,8 +59834,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.116Z", - "time": 82, + "startedDateTime": "2024-11-05T21:22:15.140Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -46726,11 +59843,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 97 } }, { - "_id": "c7da59a43f728c9001e488dceb55dc3c", + "_id": "58dd3b71e7f612fbbf0f4dfffef279ae", "_order": 0, "cache": {}, "request": { @@ -46751,7 +59868,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46774,14 +59891,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbce5b49-d75d-440a-92e1-6d76290046bf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d81c68ab-f20d-4372-8f48-70766093e237" }, "response": { - "bodySize": 352, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 352, - "text": "{\"_id\":\"cbce5b49-d75d-440a-92e1-6d76290046bf\",\"_rev\":\"-783727962\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 299, + "text": "{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"_rev\":\"-1760749617\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -46819,7 +59936,7 @@ }, { "name": "etag", - "value": "\"-783727962\"" + "value": "\"-1760749617\"" }, { "name": "expires", @@ -46835,15 +59952,15 @@ }, { "name": "content-length", - "value": "352" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -46862,14 +59979,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.117Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:15.141Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -46877,11 +59994,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 101 } }, { - "_id": "51ba58d709843b5b1891aab68484ac2d", + "_id": "de5cd3a1f43f5b0a9391d9b8589e56d1", "_order": 0, "cache": {}, "request": { @@ -46902,7 +60019,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -46921,18 +60038,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/04547a28-07b1-4b22-9bcd-234fc327038a" }, "response": { - "bodySize": 477, + "bodySize": 308, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 477, - "text": "{\"_id\":\"a668ff0a-12cc-4b0f-8e34-1ef75a70cc7d\",\"_rev\":\"1289082510\",\"nodes\":[{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Result\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 308, + "text": "{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"_rev\":\"482232792\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -46970,7 +60087,7 @@ }, { "name": "etag", - "value": "\"1289082510\"" + "value": "\"482232792\"" }, { "name": "expires", @@ -46986,15 +60103,15 @@ }, { "name": "content-length", - "value": "477" + "value": "308" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47013,14 +60130,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.117Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:15.142Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -47028,11 +60145,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 85 } }, { - "_id": "c37481ac34aa4c80dd734638608f3574", + "_id": "1db9920dd6a4d7ec270497477e111a3d", "_order": 0, "cache": {}, "request": { @@ -47053,7 +60170,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47072,18 +60189,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/da8218d8-0226-432c-abe5-d4518e06fce8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyProofing/1895ec19-f7ca-45b4-ae9b-20946e7183ef" }, "response": { - "bodySize": 309, + "bodySize": 1208, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"da8218d8-0226-432c-abe5-d4518e06fce8\",\"_rev\":\"1425567817\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1208, + "text": "{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"_rev\":\"51506803\",\"saveMetadata\":true,\"tsTransactionId\":true,\"userNotification\":\"QR\",\"tsAccessToken\":true,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"saveVerifiedClaims\":true,\"verifyPolicyId\":\"c005fa90-a658-44f8-b9dc-854c11f1f235\",\"redirectMessage\":\"Redirecting back to PingOne AIC.\",\"fuzzyMatchingConfiguration\":{\"givenName\":\"MEDIUM\",\"sn\":\"MEDIUM\"},\"failExpired\":false,\"govId\":\"ANY\",\"userIdAttribute\":\"fr-attr-istr1\",\"attributeMappingConfiguration\":{\"custom_verifiedFirstName\":\"firstName\",\"custom_verifiedLastName\":\"lastName\"},\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"dobVerification\":16,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyProofing\",\"name\":\"PingOne Verify Proofing\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -47121,7 +60238,7 @@ }, { "name": "etag", - "value": "\"1425567817\"" + "value": "\"51506803\"" }, { "name": "expires", @@ -47137,15 +60254,15 @@ }, { "name": "content-length", - "value": "309" + "value": "1208" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47164,14 +60281,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.203Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:15.142Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -47179,11 +60296,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 94 } }, { - "_id": "514767662773eaba8458665cab6e5c62", + "_id": "3aa6e52f887a00969dc110a50fa10e75", "_order": 0, "cache": {}, "request": { @@ -47204,7 +60321,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47227,14 +60344,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5d32ece5-bf1d-4b3a-a0e5-e47867334112" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/24ea2978-9aa2-4be2-ae68-69ba1c60bdbf" }, "response": { - "bodySize": 299, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"5d32ece5-bf1d-4b3a-a0e5-e47867334112\",\"_rev\":\"-1880025452\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 298, + "text": "{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"_rev\":\"1833018919\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47272,7 +60389,7 @@ }, { "name": "etag", - "value": "\"-1880025452\"" + "value": "\"1833018919\"" }, { "name": "expires", @@ -47288,15 +60405,15 @@ }, { "name": "content-length", - "value": "299" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47315,14 +60432,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.203Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:15.143Z", + "time": 97, "timings": { "blocked": -1, "connect": -1, @@ -47330,11 +60447,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 97 } }, { - "_id": "80671685456133cd7078a14c298afabb", + "_id": "84e116ac4a09568c9c14c31f0fff5318", "_order": 0, "cache": {}, "request": { @@ -47355,7 +60472,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47378,14 +60495,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c1f34309-1be3-4fd8-8c7d-8f027a91bb46" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5fb1aa6-15fb-4251-93af-e9f86d99ac78" }, "response": { "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", "size": 297, - "text": "{\"_id\":\"c1f34309-1be3-4fd8-8c7d-8f027a91bb46\",\"_rev\":\"108853207\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"_rev\":\"830648995\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47423,7 +60540,7 @@ }, { "name": "etag", - "value": "\"108853207\"" + "value": "\"830648995\"" }, { "name": "expires", @@ -47443,11 +60560,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47472,8 +60589,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.204Z", - "time": 64, + "startedDateTime": "2024-11-05T21:22:15.143Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -47481,11 +60598,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 108 } }, { - "_id": "94d452e8f0783c9e043ed417622c1728", + "_id": "f8467fc963333ec73d15e05b7e2c50a5", "_order": 0, "cache": {}, "request": { @@ -47506,7 +60623,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47525,18 +60642,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2035, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeFullVerification" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/19eb6cc1-d604-4bc1-a368-9505776477ba" }, "response": { - "bodySize": 4793, + "bodySize": 409, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4793, - "text": "{\"_id\":\"IntervieweeFullVerification\",\"_rev\":\"1102600689\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"innerTreeOnly\":false,\"nodes\":{\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\":{\"connections\":{\"200\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":812,\"y\":396.015625},\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1479,\"y\":53.015625},\"1c8fb336-8d51-466c-933b-635c5b00365a\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":244.015625},\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\":{\"connections\":{\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1258,\"y\":244.015625},\"2e801ab7-5412-4388-990b-84070f130994\":{\"connections\":{\"CANCEL\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"FAIL\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"FAILPATCH\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"SUCCESPATCH\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"SUCCESS\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\"},\"displayName\":\"ID Proof Interviewee\",\"nodeType\":\"PageNode\",\"x\":554,\"y\":151.015625},\"4885ef18-2a01-48bf-9b35-cda88b348e71\":{\"connections\":{\"outcome\":\"798d799c-2a12-4af1-a611-9ffa5f694303\"},\"displayName\":\"DEMO ONLY!!!\",\"nodeType\":\"PageNode\",\"x\":165,\"y\":527.015625},\"4b19c2c8-26be-4cc7-91f8-722d87142521\":{\"connections\":{\"known\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"unknown\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\"},\"displayName\":\"Check Username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":165,\"y\":229.015625},\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\":{\"connections\":{\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Debug\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1273,\"y\":601.015625},\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1480,\"y\":573.015625},\"737a2e1a-008a-45da-bb1a-176b7ccc5230\":{\"connections\":{\"false\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"true\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1248,\"y\":54.015625},\"798d799c-2a12-4af1-a611-9ffa5f694303\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":492,\"y\":531.015625},\"7b3211a0-debc-465f-bc81-f530458127c8\":{\"connections\":{\"false\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"true\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1250,\"y\":381.015625},\"859c73ff-f04e-42e5-91f5-9ca908c289bb\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failure Dialog\",\"nodeType\":\"PageNode\",\"x\":1477,\"y\":379.015625},\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1040,\"y\":124.015625},\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\":{\"connections\":{\"true\":\"bbd56ddb-17de-4e73-b61c-856301637712\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1037,\"y\":370.015625},\"bbd56ddb-17de-4e73-b61c-856301637712\":{\"connections\":{\"FAILURE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"PATCHED\":\"7b3211a0-debc-465f-bc81-f530458127c8\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1038,\"y\":451.015625},\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\":{\"connections\":{\"true\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\"},\"displayName\":\"Prepare Update\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1039,\"y\":42.015625},\"c37589da-c897-417f-8afa-74a3b130042a\":{\"connections\":{\"false\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"true\":\"2e801ab7-5412-4388-990b-84070f130994\"},\"displayName\":\"Username resolved?\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":355,\"y\":231.015625},\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\":{\"connections\":{\"200\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"ERROR\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"NOMATCHRESPONSE\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\"},\"displayName\":\"Get Verify Data\",\"nodeType\":\"RESTNode\",\"x\":807,\"y\":69.015625}},\"description\":\"Interviewee full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1735,\"y\":36},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1741,\"y\":642},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 409, + "text": "{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"_rev\":\"-1446348543\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47574,7 +60691,7 @@ }, { "name": "etag", - "value": "\"1102600689\"" + "value": "\"-1446348543\"" }, { "name": "expires", @@ -47590,15 +60707,15 @@ }, { "name": "content-length", - "value": "4793" + "value": "409" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47623,8 +60740,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.275Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:15.144Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -47632,11 +60749,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 89 } }, { - "_id": "8ae7e304b653b06b77b3af8fa20d37aa", + "_id": "9e2b1514dd6fc8ec2b2cfc54dc3c14df", "_order": 0, "cache": {}, "request": { @@ -47657,7 +60774,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47676,18 +60793,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/e6bf6cf7-62d2-4498-9db9-727762eb9e81" }, "response": { - "bodySize": 943, + "bodySize": 407, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 943, - "text": "{\"_id\":\"12f631e5-4a0f-41bd-9eea-ddbdfc4ceefc\",\"_rev\":\"-325518769\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 407, + "text": "{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"_rev\":\"104729500\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -47725,7 +60842,7 @@ }, { "name": "etag", - "value": "\"-325518769\"" + "value": "\"104729500\"" }, { "name": "expires", @@ -47741,15 +60858,15 @@ }, { "name": "content-length", - "value": "943" + "value": "407" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47768,14 +60885,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.346Z", - "time": 93, + "startedDateTime": "2024-11-05T21:22:15.145Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -47783,11 +60900,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 86 } }, { - "_id": "0c54817a265f73a2e1a17fef6f8e179f", + "_id": "62f04904c8b10ed6efe66ec13de56fbb", "_order": 0, "cache": {}, "request": { @@ -47808,7 +60925,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47827,18 +60944,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/936c098d-bd54-4f05-827c-ed36559518ac" }, "response": { - "bodySize": 481, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 481, - "text": "{\"_id\":\"1c08a0f6-d9bb-4bb9-970f-c5941d6c8d9a\",\"_rev\":\"1411874953\",\"nodes\":[{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Successful\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"_rev\":\"-1217331790\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -47876,7 +60993,7 @@ }, { "name": "etag", - "value": "\"1411874953\"" + "value": "\"-1217331790\"" }, { "name": "expires", @@ -47892,15 +61009,15 @@ }, { "name": "content-length", - "value": "481" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -47919,14 +61036,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.347Z", - "time": 162, + "startedDateTime": "2024-11-05T21:22:15.145Z", + "time": 98, "timings": { "blocked": -1, "connect": -1, @@ -47934,11 +61051,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 162 + "wait": 98 } }, { - "_id": "5178ae47b4eda93a298301bf06b772ad", + "_id": "86f91c9474f0ad101642cab732b0aec9", "_order": 0, "cache": {}, "request": { @@ -47959,7 +61076,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -47978,18 +61095,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1c8fb336-8d51-466c-933b-635c5b00365a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/eed23b6a-4f3f-46e1-99fe-9b62de1ac27d" }, "response": { - "bodySize": 374, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 374, - "text": "{\"_id\":\"1c8fb336-8d51-466c-933b-635c5b00365a\",\"_rev\":\"-353702425\",\"nodes\":[{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 298, + "text": "{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"_rev\":\"-865724007\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -48027,7 +61144,7 @@ }, { "name": "etag", - "value": "\"-353702425\"" + "value": "\"-865724007\"" }, { "name": "expires", @@ -48043,15 +61160,15 @@ }, { "name": "content-length", - "value": "374" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48076,8 +61193,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.348Z", - "time": 118, + "startedDateTime": "2024-11-05T21:22:15.146Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -48085,11 +61202,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 118 + "wait": 108 } }, { - "_id": "a4006a132e49641008363b05cc6da44d", + "_id": "73becb9c72c02f852f10a9cbeb6d0e83", "_order": 0, "cache": {}, "request": { @@ -48110,7 +61227,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48129,18 +61246,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2031, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeRegistration" }, "response": { - "bodySize": 298, + "bodySize": 3139, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"25c5fa53-3369-441a-bbc8-4fe8c0f2c2a1\",\"_rev\":\"-231434689\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 3139, + "text": "{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -48178,7 +61295,7 @@ }, { "name": "etag", - "value": "\"-231434689\"" + "value": "\"-1875023946\"" }, { "name": "expires", @@ -48194,15 +61311,15 @@ }, { "name": "content-length", - "value": "298" + "value": "3139" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48221,14 +61338,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.349Z", - "time": 204, + "startedDateTime": "2024-11-05T21:22:15.258Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -48236,11 +61353,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 204 + "wait": 61 } }, { - "_id": "20e4f460db5d15afed5a133e1e1f35e2", + "_id": "3dc610d9cef04383cf1e07f09349d84e", "_order": 0, "cache": {}, "request": { @@ -48261,7 +61378,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48284,14 +61401,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/4885ef18-2a01-48bf-9b35-cda88b348e71" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/029c508c-2c37-47b5-842d-6a914106995b" }, "response": { - "bodySize": 337, + "bodySize": 511, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"4885ef18-2a01-48bf-9b35-cda88b348e71\",\"_rev\":\"-515721755\",\"nodes\":[{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 511, + "text": "{\"_id\":\"029c508c-2c37-47b5-842d-6a914106995b\",\"_rev\":\"60444018\",\"nodes\":[{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"nodeType\":\"MessageNode\",\"displayName\":\"Verify or authenticate?\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Applicant Already Verified\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48329,7 +61446,7 @@ }, { "name": "etag", - "value": "\"-515721755\"" + "value": "\"60444018\"" }, { "name": "expires", @@ -48345,15 +61462,15 @@ }, { "name": "content-length", - "value": "337" + "value": "511" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48372,14 +61489,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.350Z", - "time": 156, + "startedDateTime": "2024-11-05T21:22:15.326Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -48387,11 +61504,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 156 + "wait": 78 } }, { - "_id": "c11a76a33d630dace182c5826b9cc959", + "_id": "1e14edd32aba8863e90a3c9a158ccb7f", "_order": 0, "cache": {}, "request": { @@ -48412,7 +61529,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48431,18 +61548,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/2e801ab7-5412-4388-990b-84070f130994" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/139d3499-ebe9-48aa-8230-a7ee11165f60" }, "response": { - "bodySize": 764, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 764, - "text": "{\"_id\":\"2e801ab7-5412-4388-990b-84070f130994\",\"_rev\":\"407723514\",\"nodes\":[{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"nodeType\":\"PingOneVerifyProofing\",\"displayName\":\"PingOne Verify Proofing\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the document and selfie capturing step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 296, + "text": "{\"_id\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\",\"_rev\":\"1606441275\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48480,7 +61597,7 @@ }, { "name": "etag", - "value": "\"407723514\"" + "value": "\"1606441275\"" }, { "name": "expires", @@ -48496,15 +61613,15 @@ }, { "name": "content-length", - "value": "764" + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48523,14 +61640,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.350Z", - "time": 184, + "startedDateTime": "2024-11-05T21:22:15.327Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -48538,11 +61655,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 184 + "wait": 70 } }, { - "_id": "23ddfc5236ba8dc585ae8d4f503b6d59", + "_id": "8d69460c75cf004fd52def670402497c", "_order": 0, "cache": {}, "request": { @@ -48563,7 +61680,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48582,18 +61699,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b4cc53a-4d3a-4fb4-9815-1b65d970efc3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1e4264ea-7329-4ab6-b536-2990ba2ff6c0" }, "response": { - "bodySize": 298, + "bodySize": 460, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"4b4cc53a-4d3a-4fb4-9815-1b65d970efc3\",\"_rev\":\"1825168507\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 460, + "text": "{\"_id\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\",\"_rev\":\"-848074132\",\"nodes\":[{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"There was an error registering the applicant. Please contact your system administrator.\"},\"pageHeader\":{\"en\":\"Error Creating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -48631,7 +61748,7 @@ }, { "name": "etag", - "value": "\"1825168507\"" + "value": "\"-848074132\"" }, { "name": "expires", @@ -48647,15 +61764,15 @@ }, { "name": "content-length", - "value": "298" + "value": "460" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48680,8 +61797,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.351Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:15.327Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -48689,11 +61806,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 82 } }, { - "_id": "7bee8e581e9bb17fcf1132c99075c9e8", + "_id": "2500ecf3ffa8a3c7c8a4092828be41e8", "_order": 0, "cache": {}, "request": { @@ -48714,7 +61831,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48733,18 +61850,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/4b19c2c8-26be-4cc7-91f8-722d87142521" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/2295c6bc-6eb5-4822-978e-640312c34ea0" }, "response": { - "bodySize": 353, + "bodySize": 282, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 353, - "text": "{\"_id\":\"4b19c2c8-26be-4cc7-91f8-722d87142521\",\"_rev\":\"-1499195584\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 282, + "text": "{\"_id\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"_rev\":\"-790301059\",\"tree\":\"IntervieweeSelfieAuthentication\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -48782,7 +61899,7 @@ }, { "name": "etag", - "value": "\"-1499195584\"" + "value": "\"-790301059\"" }, { "name": "expires", @@ -48798,15 +61915,15 @@ }, { "name": "content-length", - "value": "353" + "value": "282" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48825,14 +61942,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.351Z", - "time": 120, + "startedDateTime": "2024-11-05T21:22:15.328Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -48840,11 +61957,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 120 + "wait": 71 } }, { - "_id": "0d192fd47150e769219c143d89cf298f", + "_id": "07c360cc287fd6d043725b3ef0067fae", "_order": 0, "cache": {}, "request": { @@ -48865,7 +61982,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -48888,14 +62005,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/737a2e1a-008a-45da-bb1a-176b7ccc5230" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1f503e47-5b59-4ff3-950b-d86f75daedd9" }, "response": { - "bodySize": 507, + "bodySize": 520, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"737a2e1a-008a-45da-bb1a-176b7ccc5230\",\"_rev\":\"1003698205\",\"nodes\":[{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"19eb6cc1-d604-4bc1-a368-9505776477ba\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 520, + "text": "{\"_id\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"_rev\":\"-1823189144\",\"nodes\":[{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attributes\"}],\"pageDescription\":{\"en\":\"Please provide the applicant/interviewee's first name, last name, private email address, and mobile phone number to start the process\"},\"pageHeader\":{\"en\":\"Register Applicant/Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -48933,7 +62050,7 @@ }, { "name": "etag", - "value": "\"1003698205\"" + "value": "\"-1823189144\"" }, { "name": "expires", @@ -48949,15 +62066,15 @@ }, { "name": "content-length", - "value": "507" + "value": "520" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -48976,14 +62093,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.352Z", - "time": 139, + "startedDateTime": "2024-11-05T21:22:15.328Z", + "time": 84, "timings": { "blocked": -1, "connect": -1, @@ -48991,11 +62108,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 139 + "wait": 84 } }, { - "_id": "ef146800237ee35317cfde4d2dcf1167", + "_id": "615e3ff2fccfe52fdbe2c6264c2b01af", "_order": 0, "cache": {}, "request": { @@ -49016,7 +62133,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49035,18 +62152,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/69e2fa6d-e18b-4661-86be-dbfefc311fc7" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5a52a154-9bc9-461a-aee2-85e9cfb34fd9" }, "response": { - "bodySize": 474, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 474, - "text": "{\"_id\":\"69e2fa6d-e18b-4661-86be-dbfefc311fc7\",\"_rev\":\"-882451986\",\"nodes\":[{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"_rev\":\"-1913029374\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49084,7 +62201,7 @@ }, { "name": "etag", - "value": "\"-882451986\"" + "value": "\"-1913029374\"" }, { "name": "expires", @@ -49100,15 +62217,15 @@ }, { "name": "content-length", - "value": "474" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49127,14 +62244,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.352Z", - "time": 144, + "startedDateTime": "2024-11-05T21:22:15.329Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -49142,11 +62259,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 144 + "wait": 85 } }, { - "_id": "5896e237f77f1083d069c1c213e985a7", + "_id": "a20e30af6e61bdf1a5964d71314e2ac1", "_order": 0, "cache": {}, "request": { @@ -49167,7 +62284,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49186,18 +62303,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/798d799c-2a12-4af1-a611-9ffa5f694303" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/5214b99f-fd80-4f25-8798-4530eea5e3cb" }, "response": { - "bodySize": 296, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"798d799c-2a12-4af1-a611-9ffa5f694303\",\"_rev\":\"1718219714\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 278, + "text": "{\"_id\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\",\"_rev\":\"-1759589056\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -49235,7 +62352,7 @@ }, { "name": "etag", - "value": "\"1718219714\"" + "value": "\"-1759589056\"" }, { "name": "expires", @@ -49251,15 +62368,15 @@ }, { "name": "content-length", - "value": "296" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49278,14 +62395,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.353Z", - "time": 182, + "startedDateTime": "2024-11-05T21:22:15.329Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -49293,11 +62410,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 182 + "wait": 90 } }, { - "_id": "0101d2b5ac7c86c15f82c8b7ee917743", + "_id": "ef6b9ee63112aa5e91b2143e20607b39", "_order": 0, "cache": {}, "request": { @@ -49318,7 +62435,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49337,18 +62454,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7b3211a0-debc-465f-bc81-f530458127c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ae3b66b6-f4b1-4b40-ad90-f478a9c766a2" }, "response": { - "bodySize": 507, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"7b3211a0-debc-465f-bc81-f530458127c8\",\"_rev\":\"-139391661\",\"nodes\":[{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"_rev\":\"1000446242\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49386,7 +62503,7 @@ }, { "name": "etag", - "value": "\"-139391661\"" + "value": "\"1000446242\"" }, { "name": "expires", @@ -49402,15 +62519,15 @@ }, { "name": "content-length", - "value": "507" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49435,8 +62552,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.354Z", - "time": 189, + "startedDateTime": "2024-11-05T21:22:15.330Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -49444,11 +62561,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 189 + "wait": 87 } }, { - "_id": "7962139f43f20c3cb3d09f646a2de68b", + "_id": "a34959304691127535b0e9d328ad2a85", "_order": 0, "cache": {}, "request": { @@ -49469,7 +62586,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49488,18 +62605,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2071, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/859c73ff-f04e-42e5-91f5-9ca908c289bb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeValueDecisionNode/af9a8a68-571a-4434-9b3d-bc84e4ec6fb6" }, "response": { - "bodySize": 477, + "bodySize": 398, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 477, - "text": "{\"_id\":\"859c73ff-f04e-42e5-91f5-9ca908c289bb\",\"_rev\":\"1456509175\",\"nodes\":[{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Identity Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 398, + "text": "{\"_id\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\",\"_rev\":\"-1500957064\",\"comparisonValue\":\"Successfully verified\",\"comparisonOperation\":\"EQUALS\",\"identityAttribute\":\"userName\",\"comparisonAttribute\":\"custom_verifyStatus\",\"_type\":{\"_id\":\"AttributeValueDecisionNode\",\"name\":\"Attribute Value Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -49537,7 +62654,7 @@ }, { "name": "etag", - "value": "\"1456509175\"" + "value": "\"-1500957064\"" }, { "name": "expires", @@ -49553,15 +62670,15 @@ }, { "name": "content-length", - "value": "477" + "value": "398" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49580,14 +62697,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.355Z", - "time": 228, + "startedDateTime": "2024-11-05T21:22:15.330Z", + "time": 89, "timings": { "blocked": -1, "connect": -1, @@ -49595,11 +62712,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 228 + "wait": 89 } }, { - "_id": "73ad47e5fbe18e6be07409a454e28a50", + "_id": "a070e2f242233bec4cbca1c0a06484a5", "_order": 0, "cache": {}, "request": { @@ -49620,7 +62737,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49639,18 +62756,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/8b6a4da7-d6eb-47cb-bb65-84757cdb1888" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b5ca1e74-ee28-45ef-95ee-bf53e1ead142" }, "response": { - "bodySize": 363, + "bodySize": 278, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 363, - "text": "{\"_id\":\"8b6a4da7-d6eb-47cb-bb65-84757cdb1888\",\"_rev\":\"-1709084984\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 278, + "text": "{\"_id\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"_rev\":\"1358720253\",\"tree\":\"IntervieweeFullVerification\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -49688,7 +62805,7 @@ }, { "name": "etag", - "value": "\"-1709084984\"" + "value": "\"1358720253\"" }, { "name": "expires", @@ -49704,15 +62821,15 @@ }, { "name": "content-length", - "value": "363" + "value": "278" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49731,14 +62848,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.356Z", - "time": 188, + "startedDateTime": "2024-11-05T21:22:15.331Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -49746,11 +62863,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 188 + "wait": 75 } }, { - "_id": "95151ef1eff0faf48f460e9874b833ce", + "_id": "3915bc58d77b250cf5552904468b4544", "_order": 0, "cache": {}, "request": { @@ -49771,7 +62888,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49790,18 +62907,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/986e0137-fe9f-4e2a-b37f-21bd13fbe6ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d31ee3a0-9b8d-4f72-9037-deb2eb27268a" }, "response": { - "bodySize": 297, + "bodySize": 346, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"986e0137-fe9f-4e2a-b37f-21bd13fbe6ce\",\"_rev\":\"613737713\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 346, + "text": "{\"_id\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\",\"_rev\":\"283483699\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -49839,7 +62956,7 @@ }, { "name": "etag", - "value": "\"613737713\"" + "value": "\"283483699\"" }, { "name": "expires", @@ -49855,15 +62972,15 @@ }, { "name": "content-length", - "value": "297" + "value": "346" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -49888,8 +63005,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.357Z", - "time": 217, + "startedDateTime": "2024-11-05T21:22:15.334Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -49897,11 +63014,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 217 + "wait": 108 } }, { - "_id": "3b5d2f57835c8509ac372ea48326d0be", + "_id": "7cbed60d62324a0d6a8dcfe9529a5bc2", "_order": 0, "cache": {}, "request": { @@ -49922,7 +63039,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -49941,18 +63058,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/bbd56ddb-17de-4e73-b61c-856301637712" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/ed269417-887d-4e6a-9569-ca3cae6f0424" }, "response": { - "bodySize": 362, + "bodySize": 514, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 362, - "text": "{\"_id\":\"bbd56ddb-17de-4e73-b61c-856301637712\",\"_rev\":\"-868580812\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"fr-attr-istr1\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 514, + "text": "{\"_id\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"_rev\":\"238119602\",\"nodes\":[{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"An error occurred updating the account.\"},\"pageHeader\":{\"en\":\"Error Updating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -49990,7 +63107,7 @@ }, { "name": "etag", - "value": "\"-868580812\"" + "value": "\"238119602\"" }, { "name": "expires", @@ -50006,15 +63123,15 @@ }, { "name": "content-length", - "value": "362" + "value": "514" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50033,14 +63150,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.358Z", - "time": 218, + "startedDateTime": "2024-11-05T21:22:15.335Z", + "time": 107, "timings": { "blocked": -1, "connect": -1, @@ -50048,11 +63165,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 218 + "wait": 107 } }, { - "_id": "84524259a85fbfbd1dead0491adb8de5", + "_id": "48ceef8ee7a8cef6e223ed8e5e9db697", "_order": 0, "cache": {}, "request": { @@ -50073,7 +63190,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50092,18 +63209,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/bf42cd1b-23e2-4f0d-9370-3299b2f39086" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/b3cb17c3-1066-4daa-87b8-e8902f84c650" }, "response": { - "bodySize": 298, + "bodySize": 375, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"bf42cd1b-23e2-4f0d-9370-3299b2f39086\",\"_rev\":\"-910008898\",\"script\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 375, + "text": "{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"_rev\":\"1747003890\",\"messageYes\":{\"en\":\"Verify again\"},\"message\":{\"en\":\"This applicant has already been successfully verified.\"},\"messageNo\":{\"et\":\"Authenticate applicant\"},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -50141,7 +63258,7 @@ }, { "name": "etag", - "value": "\"-910008898\"" + "value": "\"1747003890\"" }, { "name": "expires", @@ -50157,15 +63274,15 @@ }, { "name": "content-length", - "value": "298" + "value": "375" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50190,8 +63307,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.359Z", - "time": 225, + "startedDateTime": "2024-11-05T21:22:15.448Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -50199,11 +63316,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 225 + "wait": 72 } }, { - "_id": "dfc61c063b9e6f32d1ace3d4e87ce3c8", + "_id": "c98ee7116f63679c137fb0efc4761c6b", "_order": 0, "cache": {}, "request": { @@ -50224,7 +63341,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50247,14 +63364,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c37589da-c897-417f-8afa-74a3b130042a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/efa28d41-24b0-405d-8add-ae6baba145e4" }, "response": { - "bodySize": 344, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 344, - "text": "{\"_id\":\"c37589da-c897-417f-8afa-74a3b130042a\",\"_rev\":\"-1051164446\",\"script\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"outcomes\":[\"true\",\"false\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"},{\"id\":\"false\",\"displayName\":\"false\"}]}" + "size": 297, + "text": "{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"_rev\":\"174471277\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50292,7 +63409,7 @@ }, { "name": "etag", - "value": "\"-1051164446\"" + "value": "\"174471277\"" }, { "name": "expires", @@ -50308,15 +63425,15 @@ }, { "name": "content-length", - "value": "344" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50335,14 +63452,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.360Z", - "time": 225, + "startedDateTime": "2024-11-05T21:22:15.448Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -50350,11 +63467,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 225 + "wait": 83 } }, { - "_id": "a43abb2ddcb3aece1a8a74749e314981", + "_id": "5ed91472058d958b788e63525a1a6d32", "_order": 0, "cache": {}, "request": { @@ -50375,7 +63492,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50394,18 +63511,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RESTNode/e8efdd39-8cb8-4bff-a2bf-c9decd805252" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1" }, "response": { - "bodySize": 944, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 944, - "text": "{\"_id\":\"e8efdd39-8cb8-4bff-a2bf-c9decd805252\",\"_rev\":\"-1670882767\",\"restURL\":\"${VerifyMetadataResult.$._links.verifyTransaction.href}/verifiedData\",\"statusCodeReturn\":\"getSelfieStatus\",\"bodyType\":\"JSON\",\"queryParamsMap\":{\"type\":\"SELFIE,CROPPED_PORTRAIT\"},\"basicAuthn\":false,\"privateKey\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\",\"jpToSSMapper\":{\"croppedPortraitBase64\":\"$._embedded.verifiedData[1].data.IMAGE\",\"selfieBase64\":\"$._embedded.verifiedData[0].data.IMAGE\"},\"requestMode\":\"GET\",\"disableCertChecks\":false,\"usemTLS\":false,\"headersMap\":{\"Authorization\":\"Bearer ${VerifyAT}\"},\"jpToOutcomeMapper\":{},\"publicCert\":\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\",\"timeout\":30,\"responseCodes\":[\"200\"],\"_type\":{\"_id\":\"RESTNode\",\"name\":\"HTTP Client\",\"collection\":true},\"_outcomes\":[{\"id\":\"200\",\"displayName\":\"200\"},{\"id\":\"NOMATCHRESPONSE\",\"displayName\":\"Default Response\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 299, + "text": "{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"_rev\":\"-1174532609\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50443,7 +63560,7 @@ }, { "name": "etag", - "value": "\"-1670882767\"" + "value": "\"-1174532609\"" }, { "name": "expires", @@ -50459,15 +63576,15 @@ }, { "name": "content-length", - "value": "944" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50492,8 +63609,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.361Z", - "time": 223, + "startedDateTime": "2024-11-05T21:22:15.449Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -50501,11 +63618,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 223 + "wait": 67 } }, { - "_id": "55f800830ab2bb24a323f29b994feb8f", + "_id": "65c074793fa0fa147989ddb5ed076706", "_order": 0, "cache": {}, "request": { @@ -50526,7 +63643,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50545,18 +63662,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/f764adf0-e71b-4780-990b-fe2906d6994a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d1513615-96e6-483a-b169-f465fbea4acc" }, "response": { - "bodySize": 298, + "bodySize": 344, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"f764adf0-e71b-4780-990b-fe2906d6994a\",\"_rev\":\"1882961856\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 344, + "text": "{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"_rev\":\"-646604869\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"telephoneNumber\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -50594,7 +63711,7 @@ }, { "name": "etag", - "value": "\"1882961856\"" + "value": "\"-646604869\"" }, { "name": "expires", @@ -50610,15 +63727,15 @@ }, { "name": "content-length", - "value": "298" + "value": "344" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50643,8 +63760,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.593Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:15.449Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -50652,11 +63769,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 81 } }, { - "_id": "7daece8f74c75ac116c4ef18b91eace3", + "_id": "bbbbd2fe5d2ff5fda6141f175d5e113f", "_order": 0, "cache": {}, "request": { @@ -50677,7 +63794,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50700,14 +63817,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/41df2127-ff5d-4ff2-9971-04ff669145b5" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c8376489-5929-476e-bb5a-5b3b7a24084b" }, "response": { "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", "size": 298, - "text": "{\"_id\":\"41df2127-ff5d-4ff2-9971-04ff669145b5\",\"_rev\":\"1760160013\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "text": "{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"_rev\":\"1155028337\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50745,7 +63862,7 @@ }, { "name": "etag", - "value": "\"1760160013\"" + "value": "\"1155028337\"" }, { "name": "expires", @@ -50765,11 +63882,11 @@ }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50794,8 +63911,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.593Z", - "time": 96, + "startedDateTime": "2024-11-05T21:22:15.450Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -50803,11 +63920,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 78 } }, { - "_id": "1db9920dd6a4d7ec270497477e111a3d", + "_id": "e830279b72c892c359a8ae5e1b97cc41", "_order": 0, "cache": {}, "request": { @@ -50828,7 +63945,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50847,18 +63964,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyProofing/1895ec19-f7ca-45b4-ae9b-20946e7183ef" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/7a17bd74-d6b0-4f33-993d-1ec9e9700cc4" }, "response": { - "bodySize": 1157, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1157, - "text": "{\"_id\":\"1895ec19-f7ca-45b4-ae9b-20946e7183ef\",\"_rev\":\"-689125243\",\"saveMetadata\":true,\"tsTransactionId\":true,\"userNotification\":\"QR\",\"tsAccessToken\":true,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"saveVerifiedClaims\":true,\"verifyPolicyId\":\"c005fa90-a658-44f8-b9dc-854c11f1f235\",\"fuzzyMatchingConfiguration\":{\"givenName\":\"MEDIUM\",\"sn\":\"MEDIUM\"},\"failExpired\":false,\"govId\":\"ANY\",\"userIdAttribute\":\"fr-attr-istr1\",\"attributeMappingConfiguration\":{\"custom_verifiedFirstName\":\"firstName\",\"custom_verifiedLastName\":\"lastName\"},\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"dobVerification\":16,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyProofing\",\"name\":\"PingOne Verify Proofing\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 298, + "text": "{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"_rev\":\"-900243412\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -50896,7 +64013,7 @@ }, { "name": "etag", - "value": "\"-689125243\"" + "value": "\"-900243412\"" }, { "name": "expires", @@ -50912,15 +64029,15 @@ }, { "name": "content-length", - "value": "1157" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -50939,14 +64056,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.594Z", - "time": 98, + "startedDateTime": "2024-11-05T21:22:15.450Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -50954,11 +64071,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 81 } }, { - "_id": "58dd3b71e7f612fbbf0f4dfffef279ae", + "_id": "2cc535855c355eb5c21c0252d8509b15", "_order": 0, "cache": {}, "request": { @@ -50979,7 +64096,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -50998,18 +64115,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2039, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/d81c68ab-f20d-4372-8f48-70766093e237" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeSelfieAuthentication" }, "response": { - "bodySize": 299, + "bodySize": 2985, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"d81c68ab-f20d-4372-8f48-70766093e237\",\"_rev\":\"-1760749617\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 2985, + "text": "{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -51047,7 +64164,7 @@ }, { "name": "etag", - "value": "\"-1760749617\"" + "value": "\"458768360\"" }, { "name": "expires", @@ -51063,15 +64180,15 @@ }, { "name": "content-length", - "value": "299" + "value": "2985" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51090,14 +64207,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.594Z", - "time": 104, + "startedDateTime": "2024-11-05T21:22:15.536Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -51105,11 +64222,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 104 + "wait": 68 } }, { - "_id": "de5cd3a1f43f5b0a9391d9b8589e56d1", + "_id": "a968e7c07f8d3c0aaa4d885f72363cf8", "_order": 0, "cache": {}, "request": { @@ -51130,7 +64247,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51149,18 +64266,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/04547a28-07b1-4b22-9bcd-234fc327038a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/290f65ae-de1a-40be-9c3c-c0174decb0a2" }, "response": { - "bodySize": 308, + "bodySize": 296, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 308, - "text": "{\"_id\":\"04547a28-07b1-4b22-9bcd-234fc327038a\",\"_rev\":\"482232792\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 296, + "text": "{\"_id\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"_rev\":\"1417349727\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -51198,7 +64315,7 @@ }, { "name": "etag", - "value": "\"482232792\"" + "value": "\"1417349727\"" }, { "name": "expires", @@ -51214,15 +64331,15 @@ }, { "name": "content-length", - "value": "308" + "value": "296" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51241,14 +64358,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.595Z", - "time": 77, + "startedDateTime": "2024-11-05T21:22:15.610Z", + "time": 92, "timings": { "blocked": -1, "connect": -1, @@ -51256,11 +64373,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 92 } }, { - "_id": "3aa6e52f887a00969dc110a50fa10e75", + "_id": "bdf0e3944340bd77e6b6ef22573a5e7f", "_order": 0, "cache": {}, "request": { @@ -51281,7 +64398,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51300,18 +64417,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/24ea2978-9aa2-4be2-ae68-69ba1c60bdbf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/67f33640-a333-4172-8339-2346d873627c" }, "response": { - "bodySize": 298, + "bodySize": 385, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"24ea2978-9aa2-4be2-ae68-69ba1c60bdbf\",\"_rev\":\"1833018919\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 385, + "text": "{\"_id\":\"67f33640-a333-4172-8339-2346d873627c\",\"_rev\":\"1200634581\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"mail\",\"fr-attr-istr1\",\"fr-attr-istr2\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -51349,7 +64466,7 @@ }, { "name": "etag", - "value": "\"1833018919\"" + "value": "\"1200634581\"" }, { "name": "expires", @@ -51365,15 +64482,15 @@ }, { "name": "content-length", - "value": "298" + "value": "385" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51398,8 +64515,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.596Z", - "time": 102, + "startedDateTime": "2024-11-05T21:22:15.611Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -51407,11 +64524,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 102 + "wait": 60 } }, { - "_id": "84e116ac4a09568c9c14c31f0fff5318", + "_id": "a534efcec2889ae654e65898df86b86e", "_order": 0, "cache": {}, "request": { @@ -51432,7 +64549,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51451,18 +64568,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5fb1aa6-15fb-4251-93af-e9f86d99ac78" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/6b761fcb-3f19-489d-8273-0c2e6b49faca" }, "response": { - "bodySize": 297, + "bodySize": 373, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"a5fb1aa6-15fb-4251-93af-e9f86d99ac78\",\"_rev\":\"830648995\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 373, + "text": "{\"_id\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"_rev\":\"-1599400493\",\"nodes\":[{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51500,7 +64617,7 @@ }, { "name": "etag", - "value": "\"830648995\"" + "value": "\"-1599400493\"" }, { "name": "expires", @@ -51516,15 +64633,15 @@ }, { "name": "content-length", - "value": "297" + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51543,14 +64660,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.596Z", - "time": 106, + "startedDateTime": "2024-11-05T21:22:15.611Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -51558,11 +64675,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 106 + "wait": 100 } }, { - "_id": "f8467fc963333ec73d15e05b7e2c50a5", + "_id": "aaa5ad4e99f054a0efd78bec510f4ea7", "_order": 0, "cache": {}, "request": { @@ -51583,7 +64700,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51602,18 +64719,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/19eb6cc1-d604-4bc1-a368-9505776477ba" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7f0f546b-4d92-4450-9e0d-fc07830ea3db" }, "response": { - "bodySize": 409, + "bodySize": 478, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 409, - "text": "{\"_id\":\"19eb6cc1-d604-4bc1-a368-9505776477ba\",\"_rev\":\"-1446348543\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 478, + "text": "{\"_id\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"_rev\":\"1947303660\",\"nodes\":[{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Authentication Success\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51651,7 +64768,7 @@ }, { "name": "etag", - "value": "\"-1446348543\"" + "value": "\"1947303660\"" }, { "name": "expires", @@ -51667,15 +64784,15 @@ }, { "name": "content-length", - "value": "409" + "value": "478" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51694,14 +64811,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.598Z", - "time": 97, + "startedDateTime": "2024-11-05T21:22:15.612Z", + "time": 94, "timings": { "blocked": -1, "connect": -1, @@ -51709,11 +64826,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 94 } }, { - "_id": "9e2b1514dd6fc8ec2b2cfc54dc3c14df", + "_id": "0f68923d1fa41cd2672bed49d8130afe", "_order": 0, "cache": {}, "request": { @@ -51734,7 +64851,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51753,18 +64870,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/e6bf6cf7-62d2-4498-9db9-727762eb9e81" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/70f2653c-66e7-4787-96d1-6c56b0ffc9fd" }, "response": { - "bodySize": 407, + "bodySize": 472, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"e6bf6cf7-62d2-4498-9db9-727762eb9e81\",\"_rev\":\"104729500\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 472, + "text": "{\"_id\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"_rev\":\"-230051618\",\"nodes\":[{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -51802,7 +64919,7 @@ }, { "name": "etag", - "value": "\"104729500\"" + "value": "\"-230051618\"" }, { "name": "expires", @@ -51818,15 +64935,15 @@ }, { "name": "content-length", - "value": "407" + "value": "472" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51845,14 +64962,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.599Z", - "time": 84, + "startedDateTime": "2024-11-05T21:22:15.612Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -51860,11 +64977,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 104 } }, { - "_id": "62f04904c8b10ed6efe66ec13de56fbb", + "_id": "9bf3a4869b8bc668f8e9a3beae99c92f", "_order": 0, "cache": {}, "request": { @@ -51885,7 +65002,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -51904,18 +65021,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/936c098d-bd54-4f05-827c-ed36559518ac" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/91afb28b-6cb6-4bc4-b781-5802f7570da0" }, "response": { - "bodySize": 299, + "bodySize": 783, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"936c098d-bd54-4f05-827c-ed36559518ac\",\"_rev\":\"-1217331790\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 783, + "text": "{\"_id\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\",\"_rev\":\"1928103398\",\"nodes\":[{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"nodeType\":\"PingOneVerifyAuthentication\",\"displayName\":\"Selfie AuthN\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the selfie authentication step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{\"en\":\"Authenticate Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -51953,7 +65070,7 @@ }, { "name": "etag", - "value": "\"-1217331790\"" + "value": "\"1928103398\"" }, { "name": "expires", @@ -51969,15 +65086,15 @@ }, { "name": "content-length", - "value": "299" + "value": "783" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -51996,14 +65113,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.600Z", - "time": 102, + "startedDateTime": "2024-11-05T21:22:15.613Z", + "time": 86, "timings": { "blocked": -1, "connect": -1, @@ -52011,11 +65128,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 102 + "wait": 86 } }, { - "_id": "86f91c9474f0ad101642cab732b0aec9", + "_id": "f89674604ee65b0b09a627fdc592a0a5", "_order": 0, "cache": {}, "request": { @@ -52036,7 +65153,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52055,18 +65172,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/eed23b6a-4f3f-46e1-99fe-9b62de1ac27d" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/96e7155e-be3d-4f15-8c50-8a299e0d68ce" }, "response": { - "bodySize": 298, + "bodySize": 506, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"eed23b6a-4f3f-46e1-99fe-9b62de1ac27d\",\"_rev\":\"-865724007\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 506, + "text": "{\"_id\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"_rev\":\"290584646\",\"nodes\":[{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -52104,7 +65221,7 @@ }, { "name": "etag", - "value": "\"-865724007\"" + "value": "\"290584646\"" }, { "name": "expires", @@ -52120,15 +65237,15 @@ }, { "name": "content-length", - "value": "298" + "value": "506" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52147,14 +65264,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.600Z", - "time": 128, + "startedDateTime": "2024-11-05T21:22:15.614Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -52162,11 +65279,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 128 + "wait": 85 } }, { - "_id": "73becb9c72c02f852f10a9cbeb6d0e83", + "_id": "1d952a60d49d2daa024cc0522e36eb7b", "_order": 0, "cache": {}, "request": { @@ -52187,7 +65304,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52206,18 +65323,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2031, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeRegistration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/98b783bd-e27d-4343-90bb-dc6cb6433347" }, "response": { - "bodySize": 3139, + "bodySize": 507, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 3139, - "text": "{\"_id\":\"IntervieweeRegistration\",\"_rev\":\"-1875023946\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"innerTreeOnly\":false,\"nodes\":{\"029c508c-2c37-47b5-842d-6a914106995b\":{\"connections\":{\"false\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"true\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\"},\"displayName\":\"Already verified\",\"nodeType\":\"PageNode\",\"x\":853,\"y\":292.015625},\"139d3499-ebe9-48aa-8230-a7ee11165f60\":{\"connections\":{\"false\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"true\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\"},\"displayName\":\"Lookup Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":386,\"y\":232.015625},\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Creating Account\",\"nodeType\":\"PageNode\",\"x\":1552,\"y\":253.015625},\"1f503e47-5b59-4ff3-950b-d86f75daedd9\":{\"connections\":{\"outcome\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\"},\"displayName\":\"Register Interviewee\",\"nodeType\":\"PageNode\",\"x\":164,\"y\":230.015625},\"2295c6bc-6eb5-4822-978e-640312c34ea0\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Selfie Authenticate\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1550,\"y\":387.015625},\"5214b99f-fd80-4f25-8798-4530eea5e3cb\":{\"connections\":{\"CREATED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"FAILURE\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\"},\"displayName\":\"Create Account\",\"nodeType\":\"CreateObjectNode\",\"x\":1317,\"y\":179.015625},\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\":{\"connections\":{\"true\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1098,\"y\":546.015625},\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\":{\"connections\":{\"true\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\"},\"displayName\":\"Prepare Account\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":1094,\"y\":196.015625},\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\":{\"connections\":{\"false\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"true\":\"029c508c-2c37-47b5-842d-6a914106995b\"},\"displayName\":\"Already verified?\",\"nodeType\":\"AttributeValueDecisionNode\",\"x\":627.15625,\"y\":344.015625},\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Verify Applicant\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":1553,\"y\":125.015625},\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\":{\"connections\":{\"FAILURE\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"PATCHED\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1321,\"y\":530.015625},\"ed269417-887d-4e6a-9569-ca3cae6f0424\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Updating Account\",\"nodeType\":\"PageNode\",\"x\":1551,\"y\":522.015625}},\"description\":\"Interviewee registration journey with full identity verification\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":54,\"y\":140},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1838,\"y\":351},\"startNode\":{\"x\":50,\"y\":250}},\"mustRun\":false,\"enabled\":true}" + "size": 507, + "text": "{\"_id\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\",\"_rev\":\"-107768725\",\"nodes\":[{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"574800d6-a41f-42a3-b8d6-2d47eb57af90\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -52255,7 +65372,7 @@ }, { "name": "etag", - "value": "\"-1875023946\"" + "value": "\"-107768725\"" }, { "name": "expires", @@ -52271,15 +65388,15 @@ }, { "name": "content-length", - "value": "3139" + "value": "507" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52298,14 +65415,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.733Z", - "time": 58, + "startedDateTime": "2024-11-05T21:22:15.615Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -52313,11 +65430,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 81 } }, { - "_id": "3dc610d9cef04383cf1e07f09349d84e", + "_id": "0453563e0e8d1f2c0f4c54d2870433c5", "_order": 0, "cache": {}, "request": { @@ -52338,7 +65455,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52357,18 +65474,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/029c508c-2c37-47b5-842d-6a914106995b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5ad6592-b37a-43fb-9202-117f6ef7b1c2" }, "response": { - "bodySize": 511, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 511, - "text": "{\"_id\":\"029c508c-2c37-47b5-842d-6a914106995b\",\"_rev\":\"60444018\",\"nodes\":[{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"nodeType\":\"MessageNode\",\"displayName\":\"Verify or authenticate?\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Applicant Already Verified\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 351, + "text": "{\"_id\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"_rev\":\"696883284\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" }, "cookies": [], "headers": [ @@ -52406,7 +65523,7 @@ }, { "name": "etag", - "value": "\"60444018\"" + "value": "\"696883284\"" }, { "name": "expires", @@ -52422,15 +65539,15 @@ }, { "name": "content-length", - "value": "511" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52449,14 +65566,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.798Z", - "time": 92, + "startedDateTime": "2024-11-05T21:22:15.615Z", + "time": 95, "timings": { "blocked": -1, "connect": -1, @@ -52464,11 +65581,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 95 } }, { - "_id": "1e14edd32aba8863e90a3c9a158ccb7f", + "_id": "18de85895c9360d52e43c28fcc0a0cf8", "_order": 0, "cache": {}, "request": { @@ -52489,7 +65606,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52508,18 +65625,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/139d3499-ebe9-48aa-8230-a7ee11165f60" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/bb782509-821a-4dfb-ae28-52c3cf0ba52e" }, "response": { - "bodySize": 296, + "bodySize": 337, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"139d3499-ebe9-48aa-8230-a7ee11165f60\",\"_rev\":\"1606441275\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 337, + "text": "{\"_id\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\",\"_rev\":\"1266401107\",\"nodes\":[{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -52557,7 +65674,7 @@ }, { "name": "etag", - "value": "\"1606441275\"" + "value": "\"1266401107\"" }, { "name": "expires", @@ -52573,15 +65690,15 @@ }, { "name": "content-length", - "value": "296" + "value": "337" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52606,8 +65723,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.799Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:15.616Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -52615,11 +65732,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 91 } }, { - "_id": "07c360cc287fd6d043725b3ef0067fae", + "_id": "ce638f15249eca08af716bf39df79734", "_order": 0, "cache": {}, "request": { @@ -52640,7 +65757,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52663,14 +65780,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1f503e47-5b59-4ff3-950b-d86f75daedd9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d801bc95-03d6-4733-ae64-6270d56cd1ff" }, "response": { - "bodySize": 520, + "bodySize": 476, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 520, - "text": "{\"_id\":\"1f503e47-5b59-4ff3-950b-d86f75daedd9\",\"_rev\":\"-1823189144\",\"nodes\":[{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attributes\"}],\"pageDescription\":{\"en\":\"Please provide the applicant/interviewee's first name, last name, private email address, and mobile phone number to start the process\"},\"pageHeader\":{\"en\":\"Register Applicant/Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 476, + "text": "{\"_id\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"_rev\":\"-1567547517\",\"nodes\":[{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -52708,7 +65825,7 @@ }, { "name": "etag", - "value": "\"-1823189144\"" + "value": "\"-1567547517\"" }, { "name": "expires", @@ -52724,15 +65841,15 @@ }, { "name": "content-length", - "value": "520" + "value": "476" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52757,8 +65874,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.800Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:15.616Z", + "time": 107, "timings": { "blocked": -1, "connect": -1, @@ -52766,11 +65883,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 107 } }, { - "_id": "2500ecf3ffa8a3c7c8a4092828be41e8", + "_id": "7c5befe301d962a595ed3a0cb774271e", "_order": 0, "cache": {}, "request": { @@ -52791,7 +65908,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52810,18 +65927,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/2295c6bc-6eb5-4822-978e-640312c34ea0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1ecaf904-20be-401a-90bc-84b84fa3dfbf" }, "response": { - "bodySize": 282, + "bodySize": 298, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 282, - "text": "{\"_id\":\"2295c6bc-6eb5-4822-978e-640312c34ea0\",\"_rev\":\"-790301059\",\"tree\":\"IntervieweeSelfieAuthentication\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 298, + "text": "{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"_rev\":\"-698499331\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -52859,7 +65976,7 @@ }, { "name": "etag", - "value": "\"-790301059\"" + "value": "\"-698499331\"" }, { "name": "expires", @@ -52875,15 +65992,15 @@ }, { "name": "content-length", - "value": "282" + "value": "298" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -52908,8 +66025,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.800Z", - "time": 90, + "startedDateTime": "2024-11-05T21:22:15.731Z", + "time": 105, "timings": { "blocked": -1, "connect": -1, @@ -52917,11 +66034,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 105 } }, { - "_id": "8d69460c75cf004fd52def670402497c", + "_id": "12e67e53901cb01b31379b38162306a7", "_order": 0, "cache": {}, "request": { @@ -52942,7 +66059,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -52961,18 +66078,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/1e4264ea-7329-4ab6-b536-2990ba2ff6c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbfe448f-b242-4c96-9191-9140d8d13f14" }, "response": { - "bodySize": 460, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 460, - "text": "{\"_id\":\"1e4264ea-7329-4ab6-b536-2990ba2ff6c0\",\"_rev\":\"-848074132\",\"nodes\":[{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"There was an error registering the applicant. Please contact your system administrator.\"},\"pageHeader\":{\"en\":\"Error Creating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"_rev\":\"490200773\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53010,7 +66127,7 @@ }, { "name": "etag", - "value": "\"-848074132\"" + "value": "\"490200773\"" }, { "name": "expires", @@ -53026,15 +66143,166 @@ }, { "name": "content-length", - "value": "460" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:15.732Z", + "time": 97, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 97 + } + }, + { + "_id": "156ed0376f255d79b1a0ff36432239d4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2065, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/81523af4-3a82-4df7-9d9c-e45fc1e3d5f3" + }, + "response": { + "bodySize": 298, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 298, + "text": "{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"_rev\":\"1725318053\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1725318053\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "298" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53059,8 +66327,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.800Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:15.732Z", + "time": 100, "timings": { "blocked": -1, "connect": -1, @@ -53068,11 +66336,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 100 } }, { - "_id": "615e3ff2fccfe52fdbe2c6264c2b01af", + "_id": "6d1d04949c9ce9ec12c55d66c4c7b43e", "_order": 0, "cache": {}, "request": { @@ -53093,7 +66361,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53116,14 +66384,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/5a52a154-9bc9-461a-aee2-85e9cfb34fd9" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/178ad9e5-7825-40bb-a426-ae991d0ffcea" }, "response": { - "bodySize": 299, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"5a52a154-9bc9-461a-aee2-85e9cfb34fd9\",\"_rev\":\"-1913029374\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"_rev\":\"962194756\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53161,7 +66429,7 @@ }, { "name": "etag", - "value": "\"-1913029374\"" + "value": "\"962194756\"" }, { "name": "expires", @@ -53177,15 +66445,15 @@ }, { "name": "content-length", - "value": "299" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53204,14 +66472,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.801Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:15.733Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -53219,11 +66487,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 91 } }, { - "_id": "a20e30af6e61bdf1a5964d71314e2ac1", + "_id": "d41e34b5495be81d7bf4fad9b32c9584", "_order": 0, "cache": {}, "request": { @@ -53244,7 +66512,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53263,18 +66531,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2072, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/5214b99f-fd80-4f25-8798-4530eea5e3cb" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyAuthentication/e08c5232-2b8c-4d40-958b-2cb5a261d5e6" }, "response": { - "bodySize": 278, + "bodySize": 948, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"5214b99f-fd80-4f25-8798-4530eea5e3cb\",\"_rev\":\"-1759589056\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 948, + "text": "{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"_rev\":\"859385059\",\"saveMetadata\":false,\"tsTransactionId\":false,\"userNotification\":\"QR\",\"pictureAttribute\":\"fr-attr-str1\",\"tsAccessToken\":false,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"verifyPolicyId\":\"b10955bd-bf7d-46ba-89ce-f2be16dd1533\",\"userIdAttribute\":\"fr-attr-istr1\",\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyAuthentication\",\"name\":\"PingOne Verify Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" }, "cookies": [], "headers": [ @@ -53312,7 +66580,7 @@ }, { "name": "etag", - "value": "\"-1759589056\"" + "value": "\"859385059\"" }, { "name": "expires", @@ -53328,15 +66596,15 @@ }, { "name": "content-length", - "value": "278" + "value": "948" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53355,13 +66623,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.801Z", + "startedDateTime": "2024-11-05T21:22:15.734Z", "time": 90, "timings": { "blocked": -1, @@ -53374,7 +66642,7 @@ } }, { - "_id": "ef6b9ee63112aa5e91b2143e20607b39", + "_id": "69ec96f871c29f256ebeec7d9b4193c1", "_order": 0, "cache": {}, "request": { @@ -53395,7 +66663,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53418,14 +66686,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/ae3b66b6-f4b1-4b40-ad90-f478a9c766a2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/03eae59a-d184-482e-82a7-ad0a99d5ee6e" }, "response": { - "bodySize": 298, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"ae3b66b6-f4b1-4b40-ad90-f478a9c766a2\",\"_rev\":\"1000446242\",\"script\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 297, + "text": "{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"_rev\":\"863390414\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53463,7 +66731,7 @@ }, { "name": "etag", - "value": "\"1000446242\"" + "value": "\"863390414\"" }, { "name": "expires", @@ -53479,15 +66747,15 @@ }, { "name": "content-length", - "value": "298" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53506,14 +66774,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.802Z", - "time": 76, + "startedDateTime": "2024-11-05T21:22:15.734Z", + "time": 112, "timings": { "blocked": -1, "connect": -1, @@ -53521,11 +66789,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 112 } }, { - "_id": "a34959304691127535b0e9d328ad2a85", + "_id": "d6a9ae78c973d5fcf954161565bcb7cd", "_order": 0, "cache": {}, "request": { @@ -53546,7 +66814,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53565,18 +66833,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2071, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeValueDecisionNode/af9a8a68-571a-4434-9b3d-bc84e4ec6fb6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/574800d6-a41f-42a3-b8d6-2d47eb57af90" }, "response": { - "bodySize": 398, + "bodySize": 406, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 398, - "text": "{\"_id\":\"af9a8a68-571a-4434-9b3d-bc84e4ec6fb6\",\"_rev\":\"-1500957064\",\"comparisonValue\":\"Successfully verified\",\"comparisonOperation\":\"EQUALS\",\"identityAttribute\":\"userName\",\"comparisonAttribute\":\"custom_verifyStatus\",\"_type\":{\"_id\":\"AttributeValueDecisionNode\",\"name\":\"Attribute Value Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 406, + "text": "{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"_rev\":\"71466281\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -53614,7 +66882,7 @@ }, { "name": "etag", - "value": "\"-1500957064\"" + "value": "\"71466281\"" }, { "name": "expires", @@ -53630,15 +66898,15 @@ }, { "name": "content-length", - "value": "398" + "value": "406" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53657,14 +66925,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.802Z", - "time": 80, + "startedDateTime": "2024-11-05T21:22:15.735Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -53672,11 +66940,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 104 } }, { - "_id": "a070e2f242233bec4cbca1c0a06484a5", + "_id": "d3c09b159eaa5e34a233574eb2a3b643", "_order": 0, "cache": {}, "request": { @@ -53697,7 +66965,158 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2056, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/7d73a04b-47bc-4466-9ad4-950a78b63fd6" + }, + "response": { + "bodySize": 407, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 407, + "text": "{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"_rev\":\"-84977214\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-84977214\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "407" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:15.735Z", + "time": 109, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 109 + } + }, + { + "_id": "fbba904684c17ceed508c45d0caa911d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53720,14 +67139,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/b5ca1e74-ee28-45ef-95ee-bf53e1ead142" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d45a23ef-ac2f-49dc-a071-24ea69342c58" }, "response": { - "bodySize": 278, + "bodySize": 309, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 278, - "text": "{\"_id\":\"b5ca1e74-ee28-45ef-95ee-bf53e1ead142\",\"_rev\":\"1358720253\",\"tree\":\"IntervieweeFullVerification\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 309, + "text": "{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"_rev\":\"-914547284\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -53765,7 +67184,7 @@ }, { "name": "etag", - "value": "\"1358720253\"" + "value": "\"-914547284\"" }, { "name": "expires", @@ -53781,15 +67200,15 @@ }, { "name": "content-length", - "value": "278" + "value": "309" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53814,8 +67233,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.803Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:15.736Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -53823,11 +67242,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 93 } }, { - "_id": "3915bc58d77b250cf5552904468b4544", + "_id": "9acbb847e83730ad45d4010a9b68ccc7", "_order": 0, "cache": {}, "request": { @@ -53848,7 +67267,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -53867,18 +67286,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/d31ee3a0-9b8d-4f72-9037-deb2eb27268a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/19562a6f-aae4-4925-a5db-7785862d504b" }, "response": { - "bodySize": 346, + "bodySize": 297, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 346, - "text": "{\"_id\":\"d31ee3a0-9b8d-4f72-9037-deb2eb27268a\",\"_rev\":\"283483699\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 297, + "text": "{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"_rev\":\"201363834\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -53916,7 +67335,7 @@ }, { "name": "etag", - "value": "\"283483699\"" + "value": "\"201363834\"" }, { "name": "expires", @@ -53932,15 +67351,15 @@ }, { "name": "content-length", - "value": "346" + "value": "297" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -53965,8 +67384,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.803Z", - "time": 112, + "startedDateTime": "2024-11-05T21:22:15.737Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -53974,11 +67393,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 112 + "wait": 108 } }, { - "_id": "7cbed60d62324a0d6a8dcfe9529a5bc2", + "_id": "95bc75bbbb6a99ddc8439dadf2d0d1d7", "_order": 0, "cache": {}, "request": { @@ -53999,7 +67418,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54018,18 +67437,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2065, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/ed269417-887d-4e6a-9569-ca3cae6f0424" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2bb843f4-e864-49c4-a432-a6bfc020bf54" }, "response": { - "bodySize": 514, + "bodySize": 299, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 514, - "text": "{\"_id\":\"ed269417-887d-4e6a-9569-ca3cae6f0424\",\"_rev\":\"238119602\",\"nodes\":[{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{\"en\":\"An error occurred updating the account.\"},\"pageHeader\":{\"en\":\"Error Updating Account\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 299, + "text": "{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"_rev\":\"-1575742054\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" }, "cookies": [], "headers": [ @@ -54067,7 +67486,7 @@ }, { "name": "etag", - "value": "\"238119602\"" + "value": "\"-1575742054\"" }, { "name": "expires", @@ -54083,15 +67502,15 @@ }, { "name": "content-length", - "value": "514" + "value": "299" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54110,14 +67529,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.804Z", - "time": 114, + "startedDateTime": "2024-11-05T21:22:15.737Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -54125,11 +67544,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 114 + "wait": 110 } }, { - "_id": "48ceef8ee7a8cef6e223ed8e5e9db697", + "_id": "068ccca0c79d44d8cb3d1dd614b6f5f8", "_order": 0, "cache": {}, "request": { @@ -54150,7 +67569,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54169,18 +67588,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2013, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/b3cb17c3-1066-4daa-87b8-e8902f84c650" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Login" }, "response": { - "bodySize": 375, + "bodySize": 1882, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 375, - "text": "{\"_id\":\"b3cb17c3-1066-4daa-87b8-e8902f84c650\",\"_rev\":\"1747003890\",\"messageYes\":{\"en\":\"Verify again\"},\"message\":{\"en\":\"This applicant has already been successfully verified.\"},\"messageNo\":{\"et\":\"Authenticate applicant\"},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 1882, + "text": "{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -54218,7 +67637,7 @@ }, { "name": "etag", - "value": "\"1747003890\"" + "value": "\"-550824128\"" }, { "name": "expires", @@ -54234,15 +67653,15 @@ }, { "name": "content-length", - "value": "375" + "value": "1882" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54261,14 +67680,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.924Z", - "time": 85, + "startedDateTime": "2024-11-05T21:22:15.851Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -54276,11 +67695,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 58 } }, { - "_id": "c98ee7116f63679c137fb0efc4761c6b", + "_id": "28fe8a0e6eb1482b85cdbce70e0ca073", "_order": 0, "cache": {}, "request": { @@ -54301,7 +67720,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54320,18 +67739,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/efa28d41-24b0-405d-8add-ae6baba145e4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" }, "response": { - "bodySize": 297, + "bodySize": 270, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"efa28d41-24b0-405d-8add-ae6baba145e4\",\"_rev\":\"174471277\",\"script\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 270, + "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -54369,7 +67788,7 @@ }, { "name": "etag", - "value": "\"174471277\"" + "value": "\"-1405518667\"" }, { "name": "expires", @@ -54385,15 +67804,15 @@ }, { "name": "content-length", - "value": "297" + "value": "270" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54412,13 +67831,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.924Z", + "startedDateTime": "2024-11-05T21:22:15.914Z", "time": 86, "timings": { "blocked": -1, @@ -54431,7 +67850,7 @@ } }, { - "_id": "5ed91472058d958b788e63525a1a6d32", + "_id": "ffc1b8fc95e5fa202d119157e85b3c59", "_order": 0, "cache": {}, "request": { @@ -54452,7 +67871,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54471,18 +67890,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2063, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/76b5e15c-493c-47dc-b813-01cbc74c5a85" }, "response": { - "bodySize": 299, + "bodySize": 221, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"29f9b4a6-e9b1-4d82-a3de-1d5e06672ee1\",\"_rev\":\"-1174532609\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 221, + "text": "{\"_id\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"_rev\":\"1359876658\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54520,7 +67939,7 @@ }, { "name": "etag", - "value": "\"-1174532609\"" + "value": "\"1359876658\"" }, { "name": "expires", @@ -54536,166 +67955,15 @@ }, { "name": "content-length", - "value": "299" + "value": "221" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 787, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:19.925Z", - "time": 80, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 80 - } - }, - { - "_id": "65c074793fa0fa147989ddb5ed076706", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2067, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d1513615-96e6-483a-b169-f465fbea4acc" - }, - "response": { - "bodySize": 344, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 344, - "text": "{\"_id\":\"d1513615-96e6-483a-b169-f465fbea4acc\",\"_rev\":\"-646604869\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"telephoneNumber\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"-646604869\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "344" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54720,8 +67988,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.925Z", - "time": 84, + "startedDateTime": "2024-11-05T21:22:15.915Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -54729,11 +67997,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 81 } }, { - "_id": "bbbbd2fe5d2ff5fda6141f175d5e113f", + "_id": "e9bc69151386b556705aedeae4838a65", "_order": 0, "cache": {}, "request": { @@ -54754,7 +68022,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54773,18 +68041,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/c8376489-5929-476e-bb5a-5b3b7a24084b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" }, "response": { - "bodySize": 298, + "bodySize": 670, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"c8376489-5929-476e-bb5a-5b3b7a24084b\",\"_rev\":\"1155028337\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 670, + "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -54822,7 +68090,7 @@ }, { "name": "etag", - "value": "\"1155028337\"" + "value": "\"-1594114\"" }, { "name": "expires", @@ -54838,15 +68106,15 @@ }, { "name": "content-length", - "value": "298" + "value": "670" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -54865,14 +68133,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.926Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:15.916Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -54880,11 +68148,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 82 } }, { - "_id": "e830279b72c892c359a8ae5e1b97cc41", + "_id": "af8bde9335410501714a11109ad620ae", "_order": 0, "cache": {}, "request": { @@ -54905,7 +68173,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -54924,18 +68192,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2070, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/7a17bd74-d6b0-4f33-993d-1ec9e9700cc4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/a30b1258-4c35-4ebe-90f3-c11fced9b1e4" }, "response": { - "bodySize": 298, + "bodySize": 476, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"7a17bd74-d6b0-4f33-993d-1ec9e9700cc4\",\"_rev\":\"-900243412\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 476, + "text": "{\"_id\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\",\"_rev\":\"-1414527552\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" }, "cookies": [], "headers": [ @@ -54973,7 +68241,7 @@ }, { "name": "etag", - "value": "\"-900243412\"" + "value": "\"-1414527552\"" }, { "name": "expires", @@ -54989,15 +68257,15 @@ }, { "name": "content-length", - "value": "298" + "value": "476" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:19 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55016,14 +68284,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:19.926Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:15.917Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -55031,11 +68299,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 81 } }, { - "_id": "2cc535855c355eb5c21c0252d8509b15", + "_id": "956a8de08167e7464c4e05451421e5bd", "_order": 0, "cache": {}, "request": { @@ -55056,7 +68324,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55075,18 +68343,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2039, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/IntervieweeSelfieAuthentication" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" }, "response": { - "bodySize": 2985, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 2985, - "text": "{\"_id\":\"IntervieweeSelfieAuthentication\",\"_rev\":\"458768360\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"IDV\\\",\\\"P1 Verify\\\"]\"},\"entryNodeId\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"innerTreeOnly\":false,\"nodes\":{\"290f65ae-de1a-40be-9c3c-c0174decb0a2\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\"},\"displayName\":\"Find Interviewee\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":614,\"y\":189},\"67f33640-a333-4172-8339-2346d873627c\":{\"connections\":{\"FAILURE\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"PATCHED\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\"},\"displayName\":\"Update Account\",\"nodeType\":\"PatchObjectNode\",\"x\":1119,\"y\":151.015625},\"6b761fcb-3f19-489d-8273-0c2e6b49faca\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Cancel Dialog\",\"nodeType\":\"PageNode\",\"x\":1561,\"y\":292.015625},\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Error Dialog\",\"nodeType\":\"PageNode\",\"x\":1564,\"y\":653.015625},\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\":{\"connections\":{\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Success Dialog\",\"nodeType\":\"PageNode\",\"x\":1562,\"y\":84.015625},\"91afb28b-6cb6-4bc4-b781-5802f7570da0\":{\"connections\":{\"CANCEL\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"ERROR\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"FAIL\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"FAILPATCH\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"SUCCESPATCH\":\"67f33640-a333-4172-8339-2346d873627c\",\"SUCCESS\":\"67f33640-a333-4172-8339-2346d873627c\"},\"displayName\":\"AuthN Interviewee\",\"nodeType\":\"PageNode\",\"x\":842,\"y\":117.015625},\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\":{\"connections\":{\"false\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"true\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1344,\"y\":448.015625},\"98b783bd-e27d-4343-90bb-dc6cb6433347\":{\"connections\":{\"false\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"true\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\"},\"displayName\":\"Stop Screen Share\",\"nodeType\":\"PageNode\",\"x\":1336,\"y\":86.015625},\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\":{\"connections\":{\"known\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"unknown\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\"},\"displayName\":\"Check username\",\"nodeType\":\"ScriptedDecisionNode\",\"x\":183,\"y\":184.015625},\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\":{\"connections\":{\"outcome\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\"},\"displayName\":\"Select Interviewee\",\"nodeType\":\"PageNode\",\"x\":383,\"y\":295.015625},\"d801bc95-03d6-4733-ae64-6270d56cd1ff\":{\"connections\":{\"true\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Failed Dialog\",\"nodeType\":\"PageNode\",\"x\":1563,\"y\":447.015625}},\"description\":\"Interviewee selfie authentication\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1827,\"y\":47},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1830,\"y\":635},\"startNode\":{\"x\":60,\"y\":202}},\"mustRun\":false,\"enabled\":true}" + "size": 243, + "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55124,7 +68392,7 @@ }, { "name": "etag", - "value": "\"458768360\"" + "value": "\"2098371942\"" }, { "name": "expires", @@ -55140,15 +68408,15 @@ }, { "name": "content-length", - "value": "2985" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55173,8 +68441,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.017Z", - "time": 57, + "startedDateTime": "2024-11-05T21:22:15.917Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -55182,11 +68450,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 57 + "wait": 83 } }, { - "_id": "a968e7c07f8d3c0aaa4d885f72363cf8", + "_id": "26ac41a7684089009e0385ad4c03f286", "_order": 0, "cache": {}, "request": { @@ -55207,7 +68475,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55226,18 +68494,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/290f65ae-de1a-40be-9c3c-c0174decb0a2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/feecdfb1-386c-423f-b4a0-05cf6b05f783" }, "response": { - "bodySize": 296, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 296, - "text": "{\"_id\":\"290f65ae-de1a-40be-9c3c-c0174decb0a2\",\"_rev\":\"1417349727\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 300, + "text": "{\"_id\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"_rev\":\"-1192960910\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" }, "cookies": [], "headers": [ @@ -55275,7 +68543,7 @@ }, { "name": "etag", - "value": "\"1417349727\"" + "value": "\"-1192960910\"" }, { "name": "expires", @@ -55291,15 +68559,15 @@ }, { "name": "content-length", - "value": "296" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:15 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55318,14 +68586,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.081Z", - "time": 128, + "startedDateTime": "2024-11-05T21:22:15.918Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -55333,11 +68601,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 128 + "wait": 81 } }, { - "_id": "bdf0e3944340bd77e6b6ef22573a5e7f", + "_id": "ef08d5997740d7de0eb6229ab2d09402", "_order": 0, "cache": {}, "request": { @@ -55358,7 +68626,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55377,18 +68645,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/67f33640-a333-4172-8339-2346d873627c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" }, "response": { - "bodySize": 385, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 385, - "text": "{\"_id\":\"67f33640-a333-4172-8339-2346d873627c\",\"_rev\":\"1200634581\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"mail\",\"fr-attr-istr1\",\"fr-attr-istr2\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 260, + "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55426,7 +68694,7 @@ }, { "name": "etag", - "value": "\"1200634581\"" + "value": "\"-2064640544\"" }, { "name": "expires", @@ -55442,15 +68710,15 @@ }, { "name": "content-length", - "value": "385" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55469,14 +68737,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.082Z", - "time": 124, + "startedDateTime": "2024-11-05T21:22:16.004Z", + "time": 67, "timings": { "blocked": -1, "connect": -1, @@ -55484,11 +68752,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 124 + "wait": 67 } }, { - "_id": "a534efcec2889ae654e65898df86b86e", + "_id": "625171232a69b9ba0d9b733ac85fc964", "_order": 0, "cache": {}, "request": { @@ -55509,7 +68777,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55528,18 +68796,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/6b761fcb-3f19-489d-8273-0c2e6b49faca" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" }, "response": { - "bodySize": 373, + "bodySize": 260, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"6b761fcb-3f19-489d-8273-0c2e6b49faca\",\"_rev\":\"-1599400493\",\"nodes\":[{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Canceled\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 260, + "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -55577,7 +68845,7 @@ }, { "name": "etag", - "value": "\"-1599400493\"" + "value": "\"-1763423776\"" }, { "name": "expires", @@ -55593,15 +68861,15 @@ }, { "name": "content-length", - "value": "373" + "value": "260" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55626,8 +68894,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.082Z", - "time": 126, + "startedDateTime": "2024-11-05T21:22:16.005Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -55635,11 +68903,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 126 + "wait": 63 } }, { - "_id": "0f68923d1fa41cd2672bed49d8130afe", + "_id": "5e3713a08184faad025ec3756bb20c22", "_order": 0, "cache": {}, "request": { @@ -55660,7 +68928,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55679,18 +68947,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2026, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/70f2653c-66e7-4787-96d1-6c56b0ffc9fd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" }, "response": { - "bodySize": 472, + "bodySize": 1354, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 472, - "text": "{\"_id\":\"70f2653c-66e7-4787-96d1-6c56b0ffc9fd\",\"_rev\":\"-230051618\",\"nodes\":[{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Debug\"},{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Error\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 1354, + "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -55728,7 +68996,7 @@ }, { "name": "etag", - "value": "\"-230051618\"" + "value": "\"-1028934999\"" }, { "name": "expires", @@ -55744,15 +69012,15 @@ }, { "name": "content-length", - "value": "472" + "value": "1354" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55771,14 +69039,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.083Z", - "time": 101, + "startedDateTime": "2024-11-05T21:22:16.075Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -55786,11 +69054,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 58 } }, { - "_id": "aaa5ad4e99f054a0efd78bec510f4ea7", + "_id": "fc6663be597355a91aa944a1a91ad128", "_order": 0, "cache": {}, "request": { @@ -55811,7 +69079,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55830,18 +69098,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/7f0f546b-4d92-4450-9e0d-fc07830ea3db" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" }, "response": { - "bodySize": 478, + "bodySize": 347, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 478, - "text": "{\"_id\":\"7f0f546b-4d92-4450-9e0d-fc07830ea3db\",\"_rev\":\"1947303660\",\"nodes\":[{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Authentication Success\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 347, + "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"-253417055\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -55879,7 +69147,7 @@ }, { "name": "etag", - "value": "\"1947303660\"" + "value": "\"-253417055\"" }, { "name": "expires", @@ -55895,15 +69163,15 @@ }, { "name": "content-length", - "value": "478" + "value": "347" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -55928,8 +69196,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.083Z", - "time": 123, + "startedDateTime": "2024-11-05T21:22:16.139Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -55937,11 +69205,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 123 + "wait": 71 } }, { - "_id": "f89674604ee65b0b09a627fdc592a0a5", + "_id": "e54780e832feb2aef240f7f91b99ef0b", "_order": 0, "cache": {}, "request": { @@ -55962,7 +69230,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -55981,18 +69249,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/96e7155e-be3d-4f15-8c50-8a299e0d68ce" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" }, "response": { - "bodySize": 506, + "bodySize": 378, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 506, - "text": "{\"_id\":\"96e7155e-be3d-4f15-8c50-8a299e0d68ce\",\"_rev\":\"290584646\",\"nodes\":[{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 378, + "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -56030,7 +69298,7 @@ }, { "name": "etag", - "value": "\"290584646\"" + "value": "\"-1852493841\"" }, { "name": "expires", @@ -56046,15 +69314,15 @@ }, { "name": "content-length", - "value": "506" + "value": "378" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56073,14 +69341,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.084Z", - "time": 84, + "startedDateTime": "2024-11-05T21:22:16.141Z", + "time": 70, "timings": { "blocked": -1, "connect": -1, @@ -56088,11 +69356,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 70 } }, { - "_id": "9bf3a4869b8bc668f8e9a3beae99c92f", + "_id": "06de0395774c6d77438c16bd46c5b971", "_order": 0, "cache": {}, "request": { @@ -56113,7 +69381,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56132,18 +69400,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/91afb28b-6cb6-4bc4-b781-5802f7570da0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" }, "response": { - "bodySize": 783, + "bodySize": 300, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 783, - "text": "{\"_id\":\"91afb28b-6cb6-4bc4-b781-5802f7570da0\",\"_rev\":\"1928103398\",\"nodes\":[{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"nodeType\":\"PingOneVerifyAuthentication\",\"displayName\":\"Selfie AuthN\"}],\"pageDescription\":{\"en\":\"Please choose how to delegate the selfie authentication step to the interviewee. If you choose QR, share your screen via zoom and have the interviewee scan it, then stop sharing.\"},\"pageHeader\":{\"en\":\"Authenticate Interviewee\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 300, + "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -56181,7 +69449,7 @@ }, { "name": "etag", - "value": "\"1928103398\"" + "value": "\"-1679047423\"" }, { "name": "expires", @@ -56197,15 +69465,15 @@ }, { "name": "content-length", - "value": "783" + "value": "300" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56224,14 +69492,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.084Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:16.141Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -56239,11 +69507,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 72 } }, { - "_id": "0453563e0e8d1f2c0f4c54d2870433c5", + "_id": "eb866e91e5d9e1463b8e3e26f3001676", "_order": 0, "cache": {}, "request": { @@ -56264,7 +69532,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56283,18 +69551,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/a5ad6592-b37a-43fb-9202-117f6ef7b1c2" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" }, "response": { - "bodySize": 351, + "bodySize": 387, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"a5ad6592-b37a-43fb-9202-117f6ef7b1c2\",\"_rev\":\"696883284\",\"script\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"outcomes\":[\"known\",\"unknown\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"known\",\"displayName\":\"known\"},{\"id\":\"unknown\",\"displayName\":\"unknown\"}]}" + "size": 387, + "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56332,7 +69600,7 @@ }, { "name": "etag", - "value": "\"696883284\"" + "value": "\"380010937\"" }, { "name": "expires", @@ -56348,15 +69616,15 @@ }, { "name": "content-length", - "value": "351" + "value": "387" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56381,8 +69649,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.085Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:16.142Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -56390,11 +69658,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 72 } }, { - "_id": "1d952a60d49d2daa024cc0522e36eb7b", + "_id": "2d3d785d17fdb2276a0198975add657a", "_order": 0, "cache": {}, "request": { @@ -56415,7 +69683,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56434,18 +69702,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/98b783bd-e27d-4343-90bb-dc6cb6433347" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" }, "response": { - "bodySize": 507, + "bodySize": 351, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 507, - "text": "{\"_id\":\"98b783bd-e27d-4343-90bb-dc6cb6433347\",\"_rev\":\"-107768725\",\"nodes\":[{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"nodeType\":\"MessageNode\",\"displayName\":\"Proceed?\"}],\"pageDescription\":{},\"stage\":\"{\\\"ConfirmationCallback\\\":[{\\\"id\\\":\\\"574800d6-a41f-42a3-b8d6-2d47eb57af90\\\",\\\"showOnlyPositiveAnswer\\\":true}]}\",\"pageHeader\":{\"en\":\"Stop Screen Sharing\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 351, + "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56483,7 +69751,7 @@ }, { "name": "etag", - "value": "\"-107768725\"" + "value": "\"-1210529544\"" }, { "name": "expires", @@ -56499,15 +69767,15 @@ }, { "name": "content-length", - "value": "507" + "value": "351" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56526,14 +69794,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.085Z", - "time": 129, + "startedDateTime": "2024-11-05T21:22:16.218Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -56541,11 +69809,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 129 + "wait": 61 } }, { - "_id": "18de85895c9360d52e43c28fcc0a0cf8", + "_id": "15ec74a34e5fe348ef62f880925dc5a7", "_order": 0, "cache": {}, "request": { @@ -56566,7 +69834,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56585,18 +69853,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2020, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/bb782509-821a-4dfb-ae28-52c3cf0ba52e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Registration" }, "response": { - "bodySize": 337, + "bodySize": 1239, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 337, - "text": "{\"_id\":\"bb782509-821a-4dfb-ae28-52c3cf0ba52e\",\"_rev\":\"1266401107\",\"nodes\":[{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Email\"}],\"pageDescription\":{},\"pageHeader\":{},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1239, + "text": "{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -56634,7 +69902,7 @@ }, { "name": "etag", - "value": "\"1266401107\"" + "value": "\"1002362847\"" }, { "name": "expires", @@ -56650,15 +69918,15 @@ }, { "name": "content-length", - "value": "337" + "value": "1239" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56677,14 +69945,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.086Z", - "time": 97, + "startedDateTime": "2024-11-05T21:22:16.285Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -56692,11 +69960,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 97 + "wait": 60 } }, { - "_id": "ce638f15249eca08af716bf39df79734", + "_id": "ff914b33859f57859f3bc5bca71cb90d", "_order": 0, "cache": {}, "request": { @@ -56717,7 +69985,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56740,14 +70008,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d801bc95-03d6-4733-ae64-6270d56cd1ff" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" }, "response": { - "bodySize": 476, + "bodySize": 935, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 476, - "text": "{\"_id\":\"d801bc95-03d6-4733-ae64-6270d56cd1ff\",\"_rev\":\"-1567547517\",\"nodes\":[{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Results\"},{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"nodeType\":\"ScriptedDecisionNode\",\"displayName\":\"Remove Button\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Selfie Verification Failed\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 935, + "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"762531723\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56785,7 +70053,7 @@ }, { "name": "etag", - "value": "\"-1567547517\"" + "value": "\"762531723\"" }, { "name": "expires", @@ -56801,15 +70069,15 @@ }, { "name": "content-length", - "value": "476" + "value": "935" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56828,14 +70096,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.086Z", - "time": 115, + "startedDateTime": "2024-11-05T21:22:16.352Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -56843,11 +70111,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 72 } }, { - "_id": "7c5befe301d962a595ed3a0cb774271e", + "_id": "a88fc3fe56070852dfc8b510ce31e8a4", "_order": 0, "cache": {}, "request": { @@ -56868,7 +70136,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -56887,18 +70155,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/1ecaf904-20be-401a-90bc-84b84fa3dfbf" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/6b70de2f-a625-4957-93d9-37005e33e6e1" }, "response": { - "bodySize": 298, + "bodySize": 436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"1ecaf904-20be-401a-90bc-84b84fa3dfbf\",\"_rev\":\"-698499331\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 436, + "text": "{\"_id\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\",\"_rev\":\"-727001800\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -56936,7 +70204,7 @@ }, { "name": "etag", - "value": "\"-698499331\"" + "value": "\"-727001800\"" }, { "name": "expires", @@ -56952,15 +70220,15 @@ }, { "name": "content-length", - "value": "298" + "value": "436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -56985,8 +70253,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.220Z", - "time": 122, + "startedDateTime": "2024-11-05T21:22:16.353Z", + "time": 68, "timings": { "blocked": -1, "connect": -1, @@ -56994,11 +70262,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 122 + "wait": 68 } }, { - "_id": "12e67e53901cb01b31379b38162306a7", + "_id": "51c0095f0a8fcf4682569c152122c47b", "_order": 0, "cache": {}, "request": { @@ -57019,7 +70287,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57038,18 +70306,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/cbfe448f-b242-4c96-9191-9140d8d13f14" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" }, "response": { - "bodySize": 297, + "bodySize": 243, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"cbfe448f-b242-4c96-9191-9140d8d13f14\",\"_rev\":\"490200773\",\"script\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 243, + "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57087,7 +70355,7 @@ }, { "name": "etag", - "value": "\"490200773\"" + "value": "\"-841385771\"" }, { "name": "expires", @@ -57103,15 +70371,15 @@ }, { "name": "content-length", - "value": "297" + "value": "243" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57130,14 +70398,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.221Z", - "time": 90, + "startedDateTime": "2024-11-05T21:22:16.353Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -57145,11 +70413,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 90 + "wait": 78 } }, { - "_id": "6d1d04949c9ce9ec12c55d66c4c7b43e", + "_id": "2de680ea4e77e8317077be5718c39f5e", "_order": 0, "cache": {}, "request": { @@ -57170,7 +70438,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57189,18 +70457,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/178ad9e5-7825-40bb-a426-ae991d0ffcea" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" }, "response": { - "bodySize": 297, + "bodySize": 277, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"178ad9e5-7825-40bb-a426-ae991d0ffcea\",\"_rev\":\"962194756\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 277, + "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"2141109171\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -57238,7 +70506,7 @@ }, { "name": "etag", - "value": "\"962194756\"" + "value": "\"2141109171\"" }, { "name": "expires", @@ -57254,15 +70522,15 @@ }, { "name": "content-length", - "value": "297" + "value": "277" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57281,14 +70549,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.222Z", - "time": 94, + "startedDateTime": "2024-11-05T21:22:16.354Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -57296,11 +70564,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 94 + "wait": 71 } }, { - "_id": "156ed0376f255d79b1a0ff36432239d4", + "_id": "e5f47a9bcaa4cbbb003d008b5ebc8129", "_order": 0, "cache": {}, "request": { @@ -57321,7 +70589,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57340,18 +70608,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/81523af4-3a82-4df7-9d9c-e45fc1e3d5f3" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" }, "response": { - "bodySize": 298, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 298, - "text": "{\"_id\":\"81523af4-3a82-4df7-9d9c-e45fc1e3d5f3\",\"_rev\":\"1725318053\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 258, + "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57389,7 +70657,7 @@ }, { "name": "etag", - "value": "\"1725318053\"" + "value": "\"1966656034\"" }, { "name": "expires", @@ -57405,15 +70673,15 @@ }, { "name": "content-length", - "value": "298" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57438,159 +70706,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.222Z", - "time": 111, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 111 - } - }, - { - "_id": "69ec96f871c29f256ebeec7d9b4193c1", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2065, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/03eae59a-d184-482e-82a7-ad0a99d5ee6e" - }, - "response": { - "bodySize": 297, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"03eae59a-d184-482e-82a7-ad0a99d5ee6e\",\"_rev\":\"863390414\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"863390414\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "297" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 785, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:20.223Z", - "time": 75, + "startedDateTime": "2024-11-05T21:22:16.437Z", + "time": 72, "timings": { "blocked": -1, "connect": -1, @@ -57598,11 +70715,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 72 } }, { - "_id": "d41e34b5495be81d7bf4fad9b32c9584", + "_id": "5e811935176ed275afbc2cd1316332ee", "_order": 0, "cache": {}, "request": { @@ -57623,7 +70740,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57642,18 +70759,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2072, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PingOneVerifyAuthentication/e08c5232-2b8c-4d40-958b-2cb5a261d5e6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" }, "response": { - "bodySize": 948, + "bodySize": 373, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 948, - "text": "{\"_id\":\"e08c5232-2b8c-4d40-958b-2cb5a261d5e6\",\"_rev\":\"859385059\",\"saveMetadata\":false,\"tsTransactionId\":false,\"userNotification\":\"QR\",\"pictureAttribute\":\"fr-attr-str1\",\"tsAccessToken\":false,\"userNotificationChoiceMessage\":\"Invite interviewee via (must complete within 15mins):\",\"demoMode\":false,\"verifyPolicyId\":\"b10955bd-bf7d-46ba-89ce-f2be16dd1533\",\"userIdAttribute\":\"fr-attr-istr1\",\"pollWaitMessage\":\"Waiting for completion. Here is the code you will see on your device: %s\",\"userNotificationChoice\":true,\"timeOut\":270,\"tntpPingOneConfigName\":\"p1-volker-dev [/bravo]\",\"_type\":{\"_id\":\"PingOneVerifyAuthentication\",\"name\":\"PingOne Verify Authentication\",\"collection\":true},\"_outcomes\":[{\"id\":\"SUCCESS\",\"displayName\":\"Success\"},{\"id\":\"SUCCESPATCH\",\"displayName\":\"Success (Patch ID)\"},{\"id\":\"FAIL\",\"displayName\":\"Fail\"},{\"id\":\"FAILPATCH\",\"displayName\":\"Fail (Patch ID)\"},{\"id\":\"CANCEL\",\"displayName\":\"Cancel\"},{\"id\":\"ERROR\",\"displayName\":\"Error\"}]}" + "size": 373, + "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57691,7 +70808,7 @@ }, { "name": "etag", - "value": "\"859385059\"" + "value": "\"-1158802257\"" }, { "name": "expires", @@ -57707,15 +70824,15 @@ }, { "name": "content-length", - "value": "948" + "value": "373" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57734,14 +70851,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.223Z", - "time": 115, + "startedDateTime": "2024-11-05T21:22:16.438Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -57749,11 +70866,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 77 } }, { - "_id": "d6a9ae78c973d5fcf954161565bcb7cd", + "_id": "d33943dc353e60f14ed6ad191bc79bb9", "_order": 0, "cache": {}, "request": { @@ -57774,7 +70891,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57793,18 +70910,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/574800d6-a41f-42a3-b8d6-2d47eb57af90" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" }, "response": { - "bodySize": 406, + "bodySize": 259, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 406, - "text": "{\"_id\":\"574800d6-a41f-42a3-b8d6-2d47eb57af90\",\"_rev\":\"71466281\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 259, + "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57842,7 +70959,7 @@ }, { "name": "etag", - "value": "\"71466281\"" + "value": "\"-1470058997\"" }, { "name": "expires", @@ -57858,15 +70975,15 @@ }, { "name": "content-length", - "value": "406" + "value": "259" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -57885,14 +71002,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.224Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:16.438Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -57900,11 +71017,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 83 } }, { - "_id": "d3c09b159eaa5e34a233574eb2a3b643", + "_id": "e1a9a2495f60c6036bd9bf1719e46085", "_order": 0, "cache": {}, "request": { @@ -57925,7 +71042,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -57944,18 +71061,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2056, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/MessageNode/7d73a04b-47bc-4466-9ad4-950a78b63fd6" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" }, "response": { - "bodySize": 407, + "bodySize": 223, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 407, - "text": "{\"_id\":\"7d73a04b-47bc-4466-9ad4-950a78b63fd6\",\"_rev\":\"-84977214\",\"messageYes\":{\"en\":\"Proceed to results\"},\"message\":{\"en\":\"Before viewing the selfie authentication results, make sure you stop sharing your screen with the interviewee.\"},\"messageNo\":{},\"_type\":{\"_id\":\"MessageNode\",\"name\":\"Message Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 223, + "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -57993,7 +71110,7 @@ }, { "name": "etag", - "value": "\"-84977214\"" + "value": "\"1508860909\"" }, { "name": "expires", @@ -58009,15 +71126,15 @@ }, { "name": "content-length", - "value": "407" + "value": "223" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58036,14 +71153,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.224Z", - "time": 134, + "startedDateTime": "2024-11-05T21:22:16.439Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -58051,11 +71168,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 134 + "wait": 71 } }, { - "_id": "95bc75bbbb6a99ddc8439dadf2d0d1d7", + "_id": "103bd7d2b1b498a32dd3d684a6f0e87f", "_order": 0, "cache": {}, "request": { @@ -58076,7 +71193,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58095,18 +71212,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2058, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/2bb843f4-e864-49c4-a432-a6bfc020bf54" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" }, "response": { - "bodySize": 299, + "bodySize": 272, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 299, - "text": "{\"_id\":\"2bb843f4-e864-49c4-a432-a6bfc020bf54\",\"_rev\":\"-1575742054\",\"script\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 272, + "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58144,7 +71261,7 @@ }, { "name": "etag", - "value": "\"-1575742054\"" + "value": "\"-8134977\"" }, { "name": "expires", @@ -58160,15 +71277,15 @@ }, { "name": "content-length", - "value": "299" + "value": "272" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58187,14 +71304,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.225Z", - "time": 91, + "startedDateTime": "2024-11-05T21:22:16.439Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -58202,11 +71319,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 91 + "wait": 74 } }, { - "_id": "fbba904684c17ceed508c45d0caa911d", + "_id": "7d33552ed556d33d7a33d438ee0bc2ca", "_order": 0, "cache": {}, "request": { @@ -58227,7 +71344,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58246,18 +71363,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2021, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d45a23ef-ac2f-49dc-a071-24ea69342c58" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ResetPassword" }, "response": { - "bodySize": 309, + "bodySize": 1436, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 309, - "text": "{\"_id\":\"d45a23ef-ac2f-49dc-a071-24ea69342c58\",\"_rev\":\"-914547284\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1436, + "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -58295,7 +71412,7 @@ }, { "name": "etag", - "value": "\"-914547284\"" + "value": "\"-2043431286\"" }, { "name": "expires", @@ -58311,15 +71428,15 @@ }, { "name": "content-length", - "value": "309" + "value": "1436" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58338,14 +71455,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 788, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.225Z", - "time": 92, + "startedDateTime": "2024-11-05T21:22:16.526Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -58353,11 +71470,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 64 } }, { - "_id": "9acbb847e83730ad45d4010a9b68ccc7", + "_id": "5886ec22c2565c213eeec24bd416f042", "_order": 0, "cache": {}, "request": { @@ -58378,7 +71495,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58397,18 +71514,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2065, + "headersSize": 2069, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ScriptedDecisionNode/19562a6f-aae4-4925-a5db-7785862d504b" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" }, "response": { - "bodySize": 297, + "bodySize": 295, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 297, - "text": "{\"_id\":\"19562a6f-aae4-4925-a5db-7785862d504b\",\"_rev\":\"201363834\",\"script\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"outcomes\":[\"true\"],\"outputs\":[\"*\"],\"inputs\":[\"*\"],\"_type\":{\"_id\":\"ScriptedDecisionNode\",\"name\":\"Scripted Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"true\"}]}" + "size": 295, + "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -58446,7 +71563,7 @@ }, { "name": "etag", - "value": "\"201363834\"" + "value": "\"402776485\"" }, { "name": "expires", @@ -58462,15 +71579,15 @@ }, { "name": "content-length", - "value": "297" + "value": "295" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58495,8 +71612,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.226Z", - "time": 143, + "startedDateTime": "2024-11-05T21:22:16.598Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -58504,11 +71621,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 143 + "wait": 71 } }, { - "_id": "068ccca0c79d44d8cb3d1dd614b6f5f8", + "_id": "71b67696b90c8ffb0962981615f590c6", "_order": 0, "cache": {}, "request": { @@ -58529,7 +71646,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58548,18 +71665,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2013, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Login" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" }, "response": { - "bodySize": 1882, + "bodySize": 433, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1882, - "text": "{\"_id\":\"Login\",\"_rev\":\"-550824128\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Authentication\\\"]\"},\"entryNodeId\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"innerTreeOnly\":false,\"nodes\":{\"33b24514-3e50-4180-8f08-ab6f4e51b07e\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Inner Tree Evaluator\",\"nodeType\":\"InnerTreeEvaluatorNode\",\"x\":987,\"y\":117},\"76b5e15c-493c-47dc-b813-01cbc74c5a85\":{\"connections\":{\"outcome\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Account Lockout\",\"nodeType\":\"AccountLockoutNode\",\"x\":1035,\"y\":278.015625},\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\":{\"connections\":{\"outcome\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":136,\"y\":59},\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\":{\"connections\":{\"CANCELLED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"EXPIRED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"FALSE\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"LOCKED\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"TRUE\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\"},\"displayName\":\"Identity Store Decision\",\"nodeType\":\"IdentityStoreDecisionNode\",\"x\":409,\"y\":120.015625},\"bba3e0d8-8525-4e82-bf48-ac17f7988917\":{\"connections\":{\"outcome\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":690,\"y\":99},\"feecdfb1-386c-423f-b4a0-05cf6b05f783\":{\"connections\":{\"Reject\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"Retry\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\"},\"displayName\":\"Retry Limit Decision\",\"nodeType\":\"RetryLimitDecisionNode\",\"x\":739,\"y\":219.015625}},\"description\":\"Platform Login Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1239,\"y\":178},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":1198,\"y\":351},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 433, + "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58597,7 +71714,7 @@ }, { "name": "etag", - "value": "\"-550824128\"" + "value": "\"-1138066714\"" }, { "name": "expires", @@ -58613,15 +71730,15 @@ }, { "name": "content-length", - "value": "1882" + "value": "433" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58646,8 +71763,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.374Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:16.598Z", + "time": 73, "timings": { "blocked": -1, "connect": -1, @@ -58655,11 +71772,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 73 } }, { - "_id": "28fe8a0e6eb1482b85cdbce70e0ca073", + "_id": "42491f5a58a5654c29968d87e0796bdd", "_order": 0, "cache": {}, "request": { @@ -58680,7 +71797,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58699,18 +71816,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/InnerTreeEvaluatorNode/33b24514-3e50-4180-8f08-ab6f4e51b07e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" }, "response": { - "bodySize": 270, + "bodySize": 343, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 270, - "text": "{\"_id\":\"33b24514-3e50-4180-8f08-ab6f4e51b07e\",\"_rev\":\"-1405518667\",\"tree\":\"ProgressiveProfile\",\"_type\":{\"_id\":\"InnerTreeEvaluatorNode\",\"name\":\"Inner Tree Evaluator\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 343, + "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"-986085110\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -58748,7 +71865,7 @@ }, { "name": "etag", - "value": "\"-1405518667\"" + "value": "\"-986085110\"" }, { "name": "expires", @@ -58764,15 +71881,15 @@ }, { "name": "content-length", - "value": "270" + "value": "343" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58791,14 +71908,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.444Z", - "time": 89, + "startedDateTime": "2024-11-05T21:22:16.599Z", + "time": 74, "timings": { "blocked": -1, "connect": -1, @@ -58806,11 +71923,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 89 + "wait": 74 } }, { - "_id": "ffc1b8fc95e5fa202d119157e85b3c59", + "_id": "773116cf47edc2a7e7b3579baf8699cb", "_order": 0, "cache": {}, "request": { @@ -58831,7 +71948,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -58850,18 +71967,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2063, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AccountLockoutNode/76b5e15c-493c-47dc-b813-01cbc74c5a85" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" }, "response": { - "bodySize": 221, + "bodySize": 444, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 221, - "text": "{\"_id\":\"76b5e15c-493c-47dc-b813-01cbc74c5a85\",\"_rev\":\"1359876658\",\"lockAction\":\"LOCK\",\"_type\":{\"_id\":\"AccountLockoutNode\",\"name\":\"Account Lockout\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 444, + "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -58899,7 +72016,7 @@ }, { "name": "etag", - "value": "\"1359876658\"" + "value": "\"86486605\"" }, { "name": "expires", @@ -58915,15 +72032,15 @@ }, { "name": "content-length", - "value": "221" + "value": "444" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -58942,14 +72059,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 784, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.445Z", - "time": 87, + "startedDateTime": "2024-11-05T21:22:16.600Z", + "time": 75, "timings": { "blocked": -1, "connect": -1, @@ -58957,11 +72074,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 87 + "wait": 75 } }, { - "_id": "e9bc69151386b556705aedeae4838a65", + "_id": "a29b15509bfa143274bd3ea0b788b0b5", "_order": 0, "cache": {}, "request": { @@ -58982,7 +72099,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59005,14 +72122,14 @@ "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a12bc72f-ad97-4f1e-a789-a1fa3dd566c8" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" }, "response": { - "bodySize": 670, + "bodySize": 391, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 670, - "text": "{\"_id\":\"a12bc72f-ad97-4f1e-a789-a1fa3dd566c8\",\"_rev\":\"-1594114\",\"nodes\":[{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"New here? Create an account
Forgot username? Forgot password?\"},\"pageHeader\":{\"en\":\"Sign In\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 391, + "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59050,7 +72167,7 @@ }, { "name": "etag", - "value": "\"-1594114\"" + "value": "\"1593283676\"" }, { "name": "expires", @@ -59066,15 +72183,15 @@ }, { "name": "content-length", - "value": "670" + "value": "391" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59093,14 +72210,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.445Z", - "time": 95, + "startedDateTime": "2024-11-05T21:22:16.600Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -59108,11 +72225,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 95 + "wait": 76 } }, { - "_id": "af8bde9335410501714a11109ad620ae", + "_id": "70a45063a7cd06c293e9a6f5af3953d9", "_order": 0, "cache": {}, "request": { @@ -59133,7 +72250,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59152,18 +72269,169 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2070, + "headersSize": 2067, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentityStoreDecisionNode/a30b1258-4c35-4ebe-90f3-c11fced9b1e4" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" }, "response": { - "bodySize": 476, + "bodySize": 307, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 476, - "text": "{\"_id\":\"a30b1258-4c35-4ebe-90f3-c11fced9b1e4\",\"_rev\":\"-1414527552\",\"useUniversalIdForUsername\":false,\"minimumPasswordLength\":8,\"mixedCaseForPasswordChangeMessages\":false,\"_type\":{\"_id\":\"IdentityStoreDecisionNode\",\"name\":\"Identity Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"TRUE\",\"displayName\":\"True\"},{\"id\":\"FALSE\",\"displayName\":\"False\"},{\"id\":\"LOCKED\",\"displayName\":\"Locked\"},{\"id\":\"CANCELLED\",\"displayName\":\"Cancelled\"},{\"id\":\"EXPIRED\",\"displayName\":\"Expired\"}]}" + "size": 307, + "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-1256358519\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "307" + }, + { + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:16 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-05T21:22:16.680Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "f3f9337e10507effd4631d3de5c88e5e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=2.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2066, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59201,7 +72469,7 @@ }, { "name": "etag", - "value": "\"-1414527552\"" + "value": "\"519412822\"" }, { "name": "expires", @@ -59217,15 +72485,15 @@ }, { "name": "content-length", - "value": "476" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59244,14 +72512,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.446Z", - "time": 86, + "startedDateTime": "2024-11-05T21:22:16.681Z", + "time": 63, "timings": { "blocked": -1, "connect": -1, @@ -59259,11 +72527,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 63 } }, { - "_id": "26ac41a7684089009e0385ad4c03f286", + "_id": "ce27188d5e7080f58dbd99f0d1035fbe", "_order": 0, "cache": {}, "request": { @@ -59284,7 +72552,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59303,18 +72571,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2022, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/RetryLimitDecisionNode/feecdfb1-386c-423f-b4a0-05cf6b05f783" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/UpdatePassword" }, "response": { - "bodySize": 300, + "bodySize": 1887, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"feecdfb1-386c-423f-b4a0-05cf6b05f783\",\"_rev\":\"-1192960910\",\"incrementUserAttributeOnFailure\":true,\"retryLimit\":5,\"_type\":{\"_id\":\"RetryLimitDecisionNode\",\"name\":\"Retry Limit Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"Retry\",\"displayName\":\"Retry\"},{\"id\":\"Reject\",\"displayName\":\"Reject\"}]}" + "size": 1887, + "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" }, "cookies": [], "headers": [ @@ -59352,7 +72620,7 @@ }, { "name": "etag", - "value": "\"-1192960910\"" + "value": "\"1686140325\"" }, { "name": "expires", @@ -59368,15 +72636,15 @@ }, { "name": "content-length", - "value": "300" + "value": "1887" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59401,159 +72669,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.447Z", - "time": 102, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 102 - } - }, - { - "_id": "956a8de08167e7464c4e05451421e5bd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 2068, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/bba3e0d8-8525-4e82-bf48-ac17f7988917" - }, - "response": { - "bodySize": 243, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"bba3e0d8-8525-4e82-bf48-ac17f7988917\",\"_rev\":\"2098371942\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"2098371942\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "243" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:20.447Z", - "time": 103, + "startedDateTime": "2024-11-05T21:22:16.749Z", + "time": 57, "timings": { "blocked": -1, "connect": -1, @@ -59561,11 +72678,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 103 + "wait": 57 } }, { - "_id": "625171232a69b9ba0d9b733ac85fc964", + "_id": "52f4ddcf1db967208508a9995fd8e71e", "_order": 0, "cache": {}, "request": { @@ -59586,7 +72703,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59605,18 +72722,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2073, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/0c80c39b-4813-4e67-b4fb-5a0bba85f994" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" }, "response": { - "bodySize": 260, + "bodySize": 315, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"0c80c39b-4813-4e67-b4fb-5a0bba85f994\",\"_rev\":\"-1763423776\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 315, + "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -59654,7 +72771,7 @@ }, { "name": "etag", - "value": "\"-1763423776\"" + "value": "\"-1218497043\"" }, { "name": "expires", @@ -59670,15 +72787,15 @@ }, { "name": "content-length", - "value": "260" + "value": "315" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59703,8 +72820,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.554Z", - "time": 63, + "startedDateTime": "2024-11-05T21:22:16.811Z", + "time": 82, "timings": { "blocked": -1, "connect": -1, @@ -59712,11 +72829,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 82 } }, { - "_id": "ef08d5997740d7de0eb6229ab2d09402", + "_id": "b4ab166fd09bdea0c7e62076a533fecc", "_order": 0, "cache": {}, "request": { @@ -59737,7 +72854,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59756,18 +72873,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7354982f-57b6-4b04-9ddc-f1dd1e1e07d0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" }, "response": { - "bodySize": 260, + "bodySize": 408, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 260, - "text": "{\"_id\":\"7354982f-57b6-4b04-9ddc-f1dd1e1e07d0\",\"_rev\":\"-2064640544\",\"usernameAttribute\":\"userName\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 408, + "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -59805,7 +72922,7 @@ }, { "name": "etag", - "value": "\"-2064640544\"" + "value": "\"1965792723\"" }, { "name": "expires", @@ -59821,15 +72938,15 @@ }, { "name": "content-length", - "value": "260" + "value": "408" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59848,14 +72965,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.554Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:16.812Z", + "time": 83, "timings": { "blocked": -1, "connect": -1, @@ -59863,11 +72980,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 83 } }, { - "_id": "5e3713a08184faad025ec3756bb20c22", + "_id": "26eb33fe1dd52407465bf5ddd1eb972a", "_order": 0, "cache": {}, "request": { @@ -59888,7 +73005,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -59907,18 +73024,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2026, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ProgressiveProfile" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" }, "response": { - "bodySize": 1354, + "bodySize": 358, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1354, - "text": "{\"_id\":\"ProgressiveProfile\",\"_rev\":\"-1028934999\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Progressive Profile\\\"]\"},\"entryNodeId\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"innerTreeOnly\":false,\"nodes\":{\"423a959a-a1b9-498a-b0f7-596b6b6e775a\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":766,\"y\":36},\"8afdaec3-275e-4301-bb53-34f03e6a4b29\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\"},\"displayName\":\"Login Count Decision\",\"nodeType\":\"LoginCountDecisionNode\",\"x\":152,\"y\":36},\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\":{\"connections\":{\"false\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\",\"true\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\"},\"displayName\":\"Query Filter Decision\",\"nodeType\":\"QueryFilterDecisionNode\",\"x\":357,\"y\":36},\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\":{\"connections\":{\"outcome\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":555,\"y\":20}},\"description\":\"Prompt for missing preferences on 3rd login\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":802,\"y\":312},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":919,\"y\":171},\"startNode\":{\"x\":50,\"y\":58.5}},\"mustRun\":false,\"enabled\":true}" + "size": 358, + "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-1754119521\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" }, "cookies": [], "headers": [ @@ -59956,7 +73073,7 @@ }, { "name": "etag", - "value": "\"-1028934999\"" + "value": "\"-1754119521\"" }, { "name": "expires", @@ -59972,15 +73089,15 @@ }, { "name": "content-length", - "value": "1354" + "value": "358" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -59999,14 +73116,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.626Z", - "time": 54, + "startedDateTime": "2024-11-05T21:22:16.813Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -60014,11 +73131,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 77 } }, { - "_id": "fc6663be597355a91aa944a1a91ad128", + "_id": "061cfeba7c8726e4a2e9f2e68f40f972", "_order": 0, "cache": {}, "request": { @@ -60039,7 +73156,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60058,18 +73175,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/423a959a-a1b9-498a-b0f7-596b6b6e775a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" }, "response": { - "bodySize": 347, + "bodySize": 238, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 347, - "text": "{\"_id\":\"423a959a-a1b9-498a-b0f7-596b6b6e775a\",\"_rev\":\"-253417055\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 238, + "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" }, "cookies": [], "headers": [ @@ -60107,7 +73224,7 @@ }, { "name": "etag", - "value": "\"-253417055\"" + "value": "\"869693667\"" }, { "name": "expires", @@ -60123,15 +73240,15 @@ }, { "name": "content-length", - "value": "347" + "value": "238" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60150,14 +73267,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.684Z", - "time": 71, + "startedDateTime": "2024-11-05T21:22:16.813Z", + "time": 78, "timings": { "blocked": -1, "connect": -1, @@ -60165,11 +73282,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 78 } }, { - "_id": "06de0395774c6d77438c16bd46c5b971", + "_id": "3a06885b2edb4f816e983497e1067f9a", "_order": 0, "cache": {}, "request": { @@ -60190,7 +73307,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60209,18 +73326,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2061, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/LoginCountDecisionNode/8afdaec3-275e-4301-bb53-34f03e6a4b29" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" }, "response": { - "bodySize": 300, + "bodySize": 485, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 300, - "text": "{\"_id\":\"8afdaec3-275e-4301-bb53-34f03e6a4b29\",\"_rev\":\"-1679047423\",\"interval\":\"AT\",\"identityAttribute\":\"userName\",\"amount\":3,\"_type\":{\"_id\":\"LoginCountDecisionNode\",\"name\":\"Login Count Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 485, + "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60258,7 +73375,7 @@ }, { "name": "etag", - "value": "\"-1679047423\"" + "value": "\"-1059437256\"" }, { "name": "expires", @@ -60274,15 +73391,15 @@ }, { "name": "content-length", - "value": "300" + "value": "485" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60307,8 +73424,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.685Z", - "time": 78, + "startedDateTime": "2024-11-05T21:22:16.814Z", + "time": 77, "timings": { "blocked": -1, "connect": -1, @@ -60316,11 +73433,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 77 } }, { - "_id": "e54780e832feb2aef240f7f91b99ef0b", + "_id": "41c96f35aaab454053f1ade7135ff2d4", "_order": 0, "cache": {}, "request": { @@ -60341,7 +73458,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60360,18 +73477,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2053, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/QueryFilterDecisionNode/a1f45b44-5bf7-4c57-aa3f-75c619c7db8e" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" }, "response": { - "bodySize": 378, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 378, - "text": "{\"_id\":\"a1f45b44-5bf7-4c57-aa3f-75c619c7db8e\",\"_rev\":\"-1852493841\",\"identityAttribute\":\"userName\",\"queryFilter\":\"!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false\",\"_type\":{\"_id\":\"QueryFilterDecisionNode\",\"name\":\"Query Filter Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 396, + "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60409,7 +73526,7 @@ }, { "name": "etag", - "value": "\"-1852493841\"" + "value": "\"-1359533036\"" }, { "name": "expires", @@ -60425,15 +73542,15 @@ }, { "name": "content-length", - "value": "378" + "value": "396" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60458,8 +73575,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.686Z", - "time": 76, + "startedDateTime": "2024-11-05T21:22:16.814Z", + "time": 80, "timings": { "blocked": -1, "connect": -1, @@ -60467,11 +73584,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 80 } }, { - "_id": "eb866e91e5d9e1463b8e3e26f3001676", + "_id": "c3628e7bc663e74b269131ae9770fb48", "_order": 0, "cache": {}, "request": { @@ -60492,7 +73609,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60511,18 +73628,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2060, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/a5aecad8-854a-4ed5-b719-ff6c90e858c0" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" }, "response": { - "bodySize": 387, + "bodySize": 256, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 387, - "text": "{\"_id\":\"a5aecad8-854a-4ed5-b719-ff6c90e858c0\",\"_rev\":\"380010937\",\"nodes\":[{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{},\"pageHeader\":{\"en\":\"Please select your preferences\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 256, + "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60560,7 +73677,7 @@ }, { "name": "etag", - "value": "\"380010937\"" + "value": "\"-716667889\"" }, { "name": "expires", @@ -60576,15 +73693,15 @@ }, { "name": "content-length", - "value": "387" + "value": "256" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60603,14 +73720,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.687Z", - "time": 70, + "startedDateTime": "2024-11-05T21:22:16.815Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -60618,11 +73735,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 70 + "wait": 79 } }, { - "_id": "2d3d785d17fdb2276a0198975add657a", + "_id": "5f8e2c793bba8b45f4ceeaf69df39200", "_order": 0, "cache": {}, "request": { @@ -60643,7 +73760,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60662,18 +73779,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/0a042e10-b22e-4e02-86c4-65e26e775f7a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" }, "response": { - "bodySize": 351, + "bodySize": 257, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 351, - "text": "{\"_id\":\"0a042e10-b22e-4e02-86c4-65e26e775f7a\",\"_rev\":\"-1210529544\",\"attributesToCollect\":[\"preferences/updates\",\"preferences/marketing\"],\"identityAttribute\":\"userName\",\"validateInputs\":false,\"required\":false,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 257, + "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60711,7 +73828,7 @@ }, { "name": "etag", - "value": "\"-1210529544\"" + "value": "\"688403743\"" }, { "name": "expires", @@ -60727,15 +73844,15 @@ }, { "name": "content-length", - "value": "351" + "value": "257" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60754,14 +73871,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.767Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:16.900Z", + "time": 59, "timings": { "blocked": -1, "connect": -1, @@ -60769,11 +73886,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 59 } }, { - "_id": "15ec74a34e5fe348ef62f880925dc5a7", + "_id": "15c405cb6237271ceb5de77015a8fadf", "_order": 0, "cache": {}, "request": { @@ -60794,7 +73911,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -60813,18 +73930,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2020, + "headersSize": 2066, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/Registration" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" }, "response": { - "bodySize": 1239, + "bodySize": 258, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1239, - "text": "{\"_id\":\"Registration\",\"_rev\":\"1002362847\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Registration\\\"]\"},\"entryNodeId\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"innerTreeOnly\":false,\"nodes\":{\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\":{\"connections\":{\"outcome\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":261,\"y\":168},\"6b70de2f-a625-4957-93d9-37005e33e6e1\":{\"connections\":{\"outcome\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":509,\"y\":305.015625},\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\":{\"connections\":{\"outcome\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Increment Login Count\",\"nodeType\":\"IncrementLoginCountNode\",\"x\":895,\"y\":220},\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\":{\"connections\":{\"CREATED\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\"},\"displayName\":\"Create Object\",\"nodeType\":\"CreateObjectNode\",\"x\":751,\"y\":282}},\"description\":\"Platform Registration Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1119,\"y\":247},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":955,\"y\":369},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 258, + "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" }, "cookies": [], "headers": [ @@ -60862,7 +73979,7 @@ }, { "name": "etag", - "value": "\"1002362847\"" + "value": "\"875005143\"" }, { "name": "expires", @@ -60878,15 +73995,15 @@ }, { "name": "content-length", - "value": "1239" + "value": "258" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -60905,14 +74022,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.836Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:16.900Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -60920,11 +74037,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 60 } }, { - "_id": "a88fc3fe56070852dfc8b510ce31e8a4", + "_id": "644daac1d3ee4232d51939812bd81166", "_order": 0, "cache": {}, "request": { @@ -60945,11 +74062,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "authorization", @@ -60964,45 +74077,54 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2083, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/6b70de2f-a625-4957-93d9-37005e33e6e1" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/bravo_application?_queryFilter=true&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" }, "response": { - "bodySize": 436, + "bodySize": 138, "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 436, - "text": "{\"_id\":\"6b70de2f-a625-4957-93d9-37005e33e6e1\",\"_rev\":\"-727001800\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"registration\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":false,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "mimeType": "application/json;charset=utf-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:16 GMT" }, { "name": "cache-control", - "value": "private" + "value": "no-store" }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.1,resource=1.0" }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, { "name": "cross-origin-opener-policy", "value": "same-origin" @@ -61011,10 +74133,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-727001800\"" - }, { "name": "expires", "value": "0" @@ -61024,20 +74142,20 @@ "value": "no-cache" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "x-content-type-options", + "value": "nosniff" }, { - "name": "content-length", - "value": "436" + "name": "x-frame-options", + "value": "DENY" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "name": "content-length", + "value": "138" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61056,14 +74174,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 664, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.909Z", - "time": 84, + "startedDateTime": "2024-11-05T21:22:16.965Z", + "time": 56, "timings": { "blocked": -1, "connect": -1, @@ -61071,11 +74189,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 84 + "wait": 56 } }, { - "_id": "ff914b33859f57859f3bc5bca71cb90d", + "_id": "268fbe92035d46acffcf776bd02460bc", "_order": 0, "cache": {}, "request": { @@ -61096,11 +74214,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "resource=2.1" }, { "name": "authorization", @@ -61115,18 +74233,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1967, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/0c091c49-f3af-48fb-ac6f-07fba0499dd6" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/policies?_queryFilter=true" }, "response": { - "bodySize": 935, + "bodySize": 137, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 935, - "text": "{\"_id\":\"0c091c49-f3af-48fb-ac6f-07fba0499dd6\",\"_rev\":\"762531723\",\"nodes\":[{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"nodeType\":\"ValidatedUsernameNode\",\"displayName\":\"Platform Username\"},{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"},{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"},{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"nodeType\":\"KbaCreateNode\",\"displayName\":\"KBA Definition\"},{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"nodeType\":\"AcceptTermsAndConditionsNode\",\"displayName\":\"Accept Terms and Conditions\"}],\"pageDescription\":{\"en\":\"Signing up is fast and easy.
Already have an account? Sign In\"},\"pageHeader\":{\"en\":\"Sign Up\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 137, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61148,7 +74271,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "resource=2.1" }, { "name": "content-security-policy", @@ -61162,10 +74285,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"762531723\"" - }, { "name": "expires", "value": "0" @@ -61180,15 +74299,15 @@ }, { "name": "content-length", - "value": "935" + "value": "137" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61207,14 +74326,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.909Z", - "time": 101, + "startedDateTime": "2024-11-05T21:22:17.027Z", + "time": 60, "timings": { "blocked": -1, "connect": -1, @@ -61222,11 +74341,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 60 } }, { - "_id": "51c0095f0a8fcf4682569c152122c47b", + "_id": "769334af37e886da6d33ca9c48963b76", "_order": 0, "cache": {}, "request": { @@ -61247,11 +74366,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=2.1" }, { "name": "authorization", @@ -61266,18 +74385,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2068, + "headersSize": 2057, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IncrementLoginCountNode/97a15eb2-a015-4b6d-81a0-be78c3aa1a3b" + "queryString": [ + { + "name": "_sortKeys", + "value": "name" + }, + { + "name": "_queryFilter", + "value": "name eq \"^(?!sunAMDelegationService$).*\"" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/applications?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21sunAMDelegationService%24%29.%2A%22" }, "response": { - "bodySize": 243, + "bodySize": 1070, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 243, - "text": "{\"_id\":\"97a15eb2-a015-4b6d-81a0-be78c3aa1a3b\",\"_rev\":\"-841385771\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"IncrementLoginCountNode\",\"name\":\"Increment Login Count\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1070, + "text": "{\"result\":[{\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"editable\":true,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"creationDate\":1578580064992,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915520061,\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"resourceComparator\":null,\"saveIndex\":null,\"searchIndex\":null}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61299,7 +74427,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=2.1, resource=2.1" }, { "name": "content-security-policy", @@ -61313,10 +74441,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-841385771\"" - }, { "name": "expires", "value": "0" @@ -61331,15 +74455,15 @@ }, { "name": "content-length", - "value": "243" + "value": "1070" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61358,14 +74482,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:20.910Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:17.093Z", + "time": 58, "timings": { "blocked": -1, "connect": -1, @@ -61373,11 +74497,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 58 } }, { - "_id": "2de680ea4e77e8317077be5718c39f5e", + "_id": "b6389f9d631cf6fc607a6d3b6f941607", "_order": 0, "cache": {}, "request": { @@ -61398,11 +74522,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=1.0,resource=1.0" }, { "name": "authorization", @@ -61417,169 +74541,27 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2056, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/CreateObjectNode/ad5dcbb3-7335-49b7-b3e7-7d850bb88237" - }, - "response": { - "bodySize": 277, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 277, - "text": "{\"_id\":\"ad5dcbb3-7335-49b7-b3e7-7d850bb88237\",\"_rev\":\"2141109171\",\"identityResource\":\"managed/bravo_user\",\"_type\":{\"_id\":\"CreateObjectNode\",\"name\":\"Create Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"CREATED\",\"displayName\":\"Created\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "resource=2.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "etag", - "value": "\"2141109171\"" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "277" - }, - { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:20 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 786, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-10-22T22:47:20.910Z", - "time": 84, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 84 - } - }, - { - "_id": "e5f47a9bcaa4cbbb003d008b5ebc8129", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.2.0" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" - }, - { - "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, + "queryString": [ { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" + "name": "_sortKeys", + "value": "name" }, { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" + "name": "_queryFilter", + "value": "name eq \"^(?!Delegation Service$).*\"" } ], - "headersSize": 2066, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedUsernameNode/7fcaf48e-a754-4959-858b-05b2933b825f" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/resourcetypes?_sortKeys=name&_queryFilter=name%20eq%20%22%5E%28%3F%21Delegation%20Service%24%29.%2A%22" }, "response": { - "bodySize": 258, + "bodySize": 1019, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"7fcaf48e-a754-4959-858b-05b2933b825f\",\"_rev\":\"1966656034\",\"usernameAttribute\":\"userName\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedUsernameNode\",\"name\":\"Platform Username\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 1019, + "text": "{\"result\":[{\"uuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"name\":\"OAuth2 Scope\",\"description\":\"The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\",\"*\"],\"actions\":{\"GRANT\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030586,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915518398},{\"uuid\":\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"name\":\"URL\",\"description\":\"The built-in URL Resource Type available to OpenAMPolicies.\",\"patterns\":[\"*://*:*/*\",\"*://*:*/*?*\"],\"actions\":{\"HEAD\":true,\"DELETE\":true,\"POST\":true,\"GET\":true,\"OPTIONS\":true,\"PUT\":true,\"PATCH\":true},\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1595479030487,\"lastModifiedBy\":\"id=7a031a92-f70d-4b30-9d70-da7cfb1d9c93,ou=user,ou=am-config\",\"lastModifiedDate\":1728915519107}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61601,7 +74583,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=1.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -61615,10 +74597,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1966656034\"" - }, { "name": "expires", "value": "0" @@ -61633,15 +74611,15 @@ }, { "name": "content-length", - "value": "258" + "value": "1019" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61660,14 +74638,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 794, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.015Z", - "time": 75, + "startedDateTime": "2024-11-05T21:22:17.157Z", + "time": 61, "timings": { "blocked": -1, "connect": -1, @@ -61675,11 +74653,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 61 } }, { - "_id": "d33943dc353e60f14ed6ad191bc79bb9", + "_id": "4b12f5b80ca674782cd53806efb4ddb1", "_order": 0, "cache": {}, "request": { @@ -61700,11 +74678,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=1.0" }, { "name": "authorization", @@ -61719,18 +74697,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1979, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/3d8709a1-f09f-4d1f-8094-2850e472c1db" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/scripts?_queryFilter=true" }, "response": { - "bodySize": 259, + "bodySize": 428124, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 259, - "text": "{\"_id\":\"3d8709a1-f09f-4d1f-8094-2850e472c1db\",\"_rev\":\"-1470058997\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 428124, + "text": "{\"result\":[{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"name\":\"Bravo OIDC Claims Script\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"name\":\"Check Resolved Username - imported (1)\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"name\":\"Load Reference Selfie\",\"description\":\"Load reference selfie into shared state\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328d00\",\"name\":\"Next Generation Device Match Node Script\",\"description\":\"Default global script for a device match node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"DEVICE_MATCH_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"name\":\"Full Verification Results\",\"description\":\"Show full identity verification results\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHJhd1Byb2ZpbGUuc3ViKSxcXG4gICAgICAgIGZpZWxkKFxcXCJkaXNwbGF5TmFtZVxcXCIsIHJhd1Byb2ZpbGUubmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJmYW1pbHlOYW1lXFxcIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksXFxuICAgICAgICBmaWVsZChcXFwicGhvdG9VcmxcXFwiLCByYXdQcm9maWxlLnBpY3R1cmUpLFxcbiAgICAgICAgZmllbGQoXFxcImVtYWlsXFxcIiwgcmF3UHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCByYXdQcm9maWxlLmVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJsb2NhbGVcXFwiLCByYXdQcm9maWxlLmxvY2FsZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"name\":\"Check Resolved Username\",\"description\":\"Check if username has already been resolved to _id.\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbi8qXFxue1xcbiAgICBcXFwiQG9kYXRhLmNvbnRleHRcXFwiOiBcXFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvJG1ldGFkYXRhI3VzZXJzLyRlbnRpdHlcXFwiLFxcbiAgICBcXFwiQG9kYXRhLmlkXFxcIjogXFxcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92Mi83MTFmZmE5Yy01OTcyLTQ3MTMtYWNlMy02ODhjOTczMjYxNGEvZGlyZWN0b3J5T2JqZWN0cy83ZDc3NTllMi0zNmQ4LTRlNjQtYjE3My0zZjg5MGQ3ZDQ2ZDYvTWljcm9zb2Z0LkRpcmVjdG9yeVNlcnZpY2VzLlVzZXJcXFwiLFxcbiAgICBcXFwiYnVzaW5lc3NQaG9uZXNcXFwiOiBbXFxuICAgICAgICBcXFwiMTgwMTQ3MzU0NTFcXFwiXFxuICAgIF0sXFxuICAgIFxcXCJkaXNwbGF5TmFtZVxcXCI6IFxcXCJWb2xrZXIgU2NoZXViZXJcXFwiLFxcbiAgICBcXFwiZ2l2ZW5OYW1lXFxcIjogXFxcIlZvbGtlclxcXCIsXFxuICAgIFxcXCJqb2JUaXRsZVxcXCI6IG51bGwsXFxuICAgIFxcXCJtYWlsXFxcIjogXFxcInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tXFxcIixcXG4gICAgXFxcIm1vYmlsZVBob25lXFxcIjogbnVsbCxcXG4gICAgXFxcIm9mZmljZUxvY2F0aW9uXFxcIjogbnVsbCxcXG4gICAgXFxcInByZWZlcnJlZExhbmd1YWdlXFxcIjogbnVsbCxcXG4gICAgXFxcInN1cm5hbWVcXFwiOiBcXFwiU2NoZXViZXJcXFwiLFxcbiAgICBcXFwidXNlclByaW5jaXBhbE5hbWVcXFwiOiBcXFwidnNjaGV1YmVyQHZzY2hldWJlci5vbm1pY3Jvc29mdC5jb21cXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBcXFwiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2XFxcIlxcbn1cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5sb2dnZXIubWVzc2FnZShcXFwiS2F1YWkgTWljcm9zb2Z0IFByb2ZpbGUgTm9ybWFsaXphdGlvbjogcmF3UHJvZmlsZT17fVxcXCIsIHJhd1Byb2ZpbGUpXFxuXFxucmV0dXJuIGpzb24ob2JqZWN0KFxcbiAgICAgICAgZmllbGQoXFxcImlkXFxcIiwgcmF3UHJvZmlsZS5pZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCByYXdQcm9maWxlLmdpdmVuTmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZmFtaWx5TmFtZVxcXCIsIHJhd1Byb2ZpbGUuc3VybmFtZSksXFxuICAgICAgICBmaWVsZChcXFwiZW1haWxcXFwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJ1c2VybmFtZVxcXCIsIHJhd1Byb2ZpbGUudXNlclByaW5jaXBhbE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImdyb3Vwc1xcXCIsIHJhd1Byb2ZpbGUuZ3JvdXBzKSkpXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"11e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Next Generation Scripted Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovKgogIC0gRGF0YSBtYWRlIGF2YWlsYWJsZSBieSBub2RlcyB0aGF0IGhhdmUgYWxyZWFkeSBleGVjdXRlZCBpcyBhdmFpbGFibGUgaW4gdGhlIG5vZGVTdGF0ZSB2YXJpYWJsZS4KICAtIFVzZSB0aGUgYWN0aW9uIG9iamVjdCB0byBzZXQgdGhlIG91dGNvbWUgb2YgdGhlIG5vZGUuCiAqLwoKYWN0aW9uLmdvVG8oInRydWUiKTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug - imported (1)\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcXG4gKlxcbiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuXFxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxcbiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLlxcbiAqL1xcblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZFxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uXFxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxcblxcbmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlXFxuXFxuSnNvblZhbHVlIG1hbmFnZWRVc2VyID0ganNvbihvYmplY3QoXFxuICAgICAgICBmaWVsZChcXFwiZ2l2ZW5OYW1lXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJzblxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmZhbWlseU5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcIm1haWxcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5lbWFpbCksXFxuICAgICAgICBmaWVsZChcXFwidXNlck5hbWVcXFwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxcblxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXFxcInBvc3RhbEFkZHJlc3NcXFwiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxcbmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwiY2l0eVxcXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJzdGF0ZVByb3ZpbmNlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbilcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJwb3N0YWxDb2RlXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFxcXCJjb3VudHJ5XFxcIiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSlcXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcXFwidGVsZXBob25lTnVtYmVyXFxcIiwgbm9ybWFsaXplZFByb2ZpbGUucGhvbmUpXFxuXFxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XFxuLy8gdGhlbiBhZGQgYSBib29sZWFuIGZsYWcgdG8gdGhlIHNoYXJlZCBzdGF0ZSB0byBpbmRpY2F0ZSBuYW1lcyBhcmUgbm90IHByZXNlbnRcXG4vLyB0aGlzIGNvdWxkIGJlIHVzZWQgZWxzZXdoZXJlXFxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcXG4vLyB0aGUgdXNlciBvYmplY3Qgd2l0aCBibGFuayB2YWx1ZXMgd2hlbiBnaXZlbk5hbWUgIGFuZCBmYW1pbHlOYW1lIGlzIG5vdCBwcmVzZW50XFxuYm9vbGVhbiBub0dpdmVuTmFtZSA9IG5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5pc051bGwoKSB8fCAoIW5vcm1hbGl6ZWRQcm9maWxlLmdpdmVuTmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXFxuc2hhcmVkU3RhdGUucHV0KFxcXCJuYW1lRW1wdHlPck51bGxcXFwiLCBub0dpdmVuTmFtZSAmJiBub0ZhbWlseU5hbWUpXFxuXFxucmV0dXJuIG1hbmFnZWRVc2VyXFxuXCJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSkiCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"IlwiLypcXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIEZvcmdlUm9jayBBUy4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxcbiAqXFxuICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy5cXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXFxuICpcXG4gKiBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eTpcXG4gKiB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cXG4gKlxcbiAqIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmVcXG4gKiBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cXG4gKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC5cXG4gKi9cXG5cXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGRcXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxcbmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3RcXG5cXG5TdHJpbmcgZW1haWwgPSBcXFwiY2hhbmdlQG1lLmNvbVxcXCJcXG5TdHJpbmcgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWJcXG5TdHJpbmcgZmlyc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIGxhc3ROYW1lID0gXFxcIiBcXFwiXFxuU3RyaW5nIHVzZXJuYW1lID0gc3ViamVjdElkXFxuU3RyaW5nIG5hbWVcXG5cXG5pZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoXFxcImVtYWlsXFxcIikgJiYgcmF3UHJvZmlsZS5lbWFpbC5pc05vdE51bGwoKSl7IC8vIFVzZXIgY2FuIGVsZWN0IHRvIG5vdCBzaGFyZSB0aGVpciBlbWFpbFxcbiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKVxcbiAgICB1c2VybmFtZSA9IGVtYWlsXFxufVxcbmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZChcXFwibmFtZVxcXCIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkge1xcbiAgICBpZiAocmF3UHJvZmlsZS5uYW1lLmlzRGVmaW5lZChcXFwiZmlyc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5pc05vdE51bGwoKSkge1xcbiAgICAgICAgZmlyc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmZpcnN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG4gICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoXFxcImxhc3ROYW1lXFxcIikgJiYgcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmlzTm90TnVsbCgpKSB7XFxuICAgICAgICBsYXN0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5hc1N0cmluZygpXFxuICAgIH1cXG59XFxuXFxubmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6IFxcXCJcXFwiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/IFxcXCIgXFxcIiA6IFxcXCJcXFwiKSArIGxhc3ROYW1lKSA6IFxcXCJcXFwiKVxcbm5hbWUgPSAgKCFuYW1lPy50cmltKCkpID8gXFxcIiBcXFwiIDogbmFtZVxcblxcbnJldHVybiBqc29uKG9iamVjdChcXG4gICAgICAgIGZpZWxkKFxcXCJpZFxcXCIsIHN1YmplY3RJZCksXFxuICAgICAgICBmaWVsZChcXFwiZGlzcGxheU5hbWVcXFwiLCBuYW1lKSxcXG4gICAgICAgIGZpZWxkKFxcXCJlbWFpbFxcXCIsIGVtYWlsKSxcXG4gICAgICAgIGZpZWxkKFxcXCJnaXZlbk5hbWVcXFwiLCBmaXJzdE5hbWUpLFxcbiAgICAgICAgZmllbGQoXFxcImZhbWlseU5hbWVcXFwiLCBsYXN0TmFtZSksXFxuICAgICAgICBmaWVsZChcXFwidXNlcm5hbWVcXFwiLCB1c2VybmFtZSkpKVwiXG4i\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICovCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXIK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"name\":\"Prepare Account Update\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiIgp2YXIgc3ViamVjdElkID0gcmF3UHJvZmlsZS5zdWIKdmFyIHVzZXJuYW1lID0gc3ViamVjdElkCnZhciBmaXJzdE5hbWUgPSAiICIKdmFyIGxhc3ROYW1lID0gIiAiCgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikgIT0gbnVsbCAmJiBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbCAhPSBudWxsKSB7CiAgICBlbWFpbCA9IHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpLmVtYWlsCiAgICB1c2VybmFtZSA9IGVtYWlsCn0KCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgdmFyIHNwbGl0TmFtZSA9IHJhd1Byb2ZpbGUubmFtZS5hc1N0cmluZygpLnNwbGl0KCIgIikKICAgIGZpcnN0TmFtZSA9IHNwbGl0TmFtZVswXQogICAgbGFzdE5hbWUgPSBzcGxpdE5hbWVbLTFdCn0KCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb0b46f8-bdf3-4fb8-8d8f-bd921af7e79e\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"b3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5Cg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkpCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQo=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8K\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"name\":\"Prepare Account Creation\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"description\":\"Default bravo realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSkK\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"name\":\"Selfie Authentication Results\",\"description\":\"Show selfie authentication results\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":60,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -61752,7 +74735,7 @@ }, { "name": "content-api-version", - "value": "resource=2.0" + "value": "protocol=2.0,resource=1.1, resource=1.1" }, { "name": "content-security-policy", @@ -61766,10 +74749,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1470058997\"" - }, { "name": "expires", "value": "0" @@ -61782,17 +74761,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "259" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61809,16 +74784,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.016Z", - "time": 68, + "startedDateTime": "2024-11-05T21:22:17.227Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -61826,11 +74805,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 104 } }, { - "_id": "5e811935176ed275afbc2cd1316332ee", + "_id": "f08c9b1bfb91a7ac9948a0779d52beb2", "_order": 0, "cache": {}, "request": { @@ -61851,11 +74830,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -61870,18 +74849,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2000, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/d3ce2036-1523-4ce8-b1a2-895a2a036667" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services?_action=nextdescendents" }, "response": { - "bodySize": 373, + "bodySize": 184974, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 373, - "text": "{\"_id\":\"d3ce2036-1523-4ce8-b1a2-895a2a036667\",\"_rev\":\"-1158802257\",\"attributesToCollect\":[\"givenName\",\"sn\",\"mail\",\"preferences/marketing\",\"preferences/updates\"],\"identityAttribute\":\"userName\",\"validateInputs\":true,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 184974, + "text": "{\"result\":[{\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_id\":\"email\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}},{\"enable\":true,\"_id\":\"TNTPPingOneService\",\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}},{\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_id\":\"policyconfiguration\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}},{\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_id\":\"selfServiceTrees\",\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IENyZWF0aW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIFNldCB1c2VybmFtZSBmcm9tIGVtYWlsIGFuZCBjb3B5IGZpcnN0IGFuZCBsYXN0IG5hbWUgdG8gYXBwbGljYW50IGF0dHJpYnV0ZXMuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKCiAgc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgibWFpbCIpKQogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgidXNlck5hbWUiLCBnZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoIm1haWwiKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgiZ2l2ZW5OYW1lIikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJjdXN0b21fdmVyaWZpZWRMYXN0TmFtZSIsIGdldFNoYXJlZE9iamVjdEF0dHJpYnV0ZSgic24iKSkKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUoImN1c3RvbV92ZXJpZnlTdGF0dXMiLCAnTm90IHZlcmlmaWVkJykKCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICAgICB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgICBpZiAoc3RvcmFnZSAmJiB2YWx1ZSkgewogICAgICAgICAgaWYgKHN0b3JhZ2UucHV0KSB7CiAgICAgICAgICAgICAgICBzdG9yYWdlLnB1dChuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICAgIHNoYXJlZFN0YXRlLnB1dCgib2JqZWN0QXR0cmlidXRlcyIsIEpTT04ucGFyc2UoIntcIiIrbmFtZSsiXCI6XCIiK3ZhbHVlKyJcIn0iKSk7CiAgICAgIH0KICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgICAgaWYgKHN0b3JhZ2UpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLmdldCkgewogICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKS5nZXQobmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5uYW1lOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogIH0KfSgpKTsK\",\"description\":\"Set username from email and copy first and last name to applicant attributes.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Creation\",\"_id\":\"835c3d04-4883-4fb7-b957-bd6ff6ff9d50\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script - imported (1)\",\"_id\":\"cadaa25c-8347-48b1-84e9-cf8c3314cac0\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username\",\"_id\":\"ffcfbd20-38d5-4f74-8766-7df90af4dbe4\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OAuth2 Access Token Modification Script\",\"_id\":\"449ef739-828e-42b4-92d6-0456d378671e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOwo=\",\"description\":\"Check if username has already been collected.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Username\",\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogRnVsbCBWZXJpZmljYXRpb24gUmVzdWx0cwogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBTaG93IGZ1bGwgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIHJlc3VsdHMKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgdmFyIHAxVXNlcklkQW1BdHRyID0gJ2ZyLWF0dHItaXN0cjEnOwogIHZhciBwMVVzZXJJZElkbUF0dHIgPSAnZnJJbmRleGVkU3RyaW5nMSc7CiAgdmFyIHNlbGZpZUFtQXR0ciA9ICdmci1hdHRyLXN0cjEnOwogIHZhciBzZWxmaWVJZG1BdHRyID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIHBvcnRyYWl0QW1BdHRyID0gJ2ZyLWF0dHItc3RyMic7CiAgdmFyIHBvcnRyYWl0SWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzInOwogIHZhciBmaXJzdE5hbWVBdHRyID0gJ2dpdmVuTmFtZSc7CiAgdmFyIGxhc3ROYW1lQXR0ciA9ICdzbic7CiAgdmFyIG1ldGFEYXRhQW1BdHRyID0gJ2ZyLWF0dHItc3RyMyc7CiAgdmFyIG1ldGFEYXRhSWRtQXR0ciA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciBjdXN0b21JZG1BdHRycyA9ICdmci1pZG0tY3VzdG9tLWF0dHJzJzsKICB2YXIgdmVyaWZpZWRGaXJzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZEZpcnN0TmFtZSc7CiAgdmFyIHZlcmlmaWVkTGFzdE5hbWVBdHRyID0gJ2N1c3RvbV92ZXJpZmllZExhc3ROYW1lJzsKICB2YXIgdmVyaWZ5U3RhdHVzQXR0ciA9ICdjdXN0b21fdmVyaWZ5U3RhdHVzJzsKICAKICB2YXIgaWRlbnRpdHkgPSBpZFJlcG9zaXRvcnkuZ2V0SWRlbnRpdHkobm9kZVN0YXRlLmdldCgnX2lkJykpOwogIHZhciBwMVVzZXJJZCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwMVVzZXJJZEFtQXR0cilbMF07CiAgdmFyIHNlbGZpZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhzZWxmaWVBbUF0dHIpWzBdOwogIHZhciBwb3J0cmFpdCA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhwb3J0cmFpdEFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBpZGVudGl0eS5nZXRBdHRyaWJ1dGVWYWx1ZXMobGFzdE5hbWVBdHRyKVswXTsKICB2YXIgbWV0YURhdGEgPSBKU09OLnBhcnNlKGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhtZXRhRGF0YUFtQXR0cilbMF0pOwogIHZhciBjdXN0b21BdHRycyA9IEpTT04ucGFyc2UoaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGN1c3RvbUlkbUF0dHJzKVswXSk7CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrcG9ydHJhaXQrJyIgYWx0PSJSZWZlcmVuY2UgSW1hZ2UiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmcmVzaFNlbGZpZUltZyA9ICc8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwgJytzZWxmaWUrJyIgYWx0PSJGcmVzaCBTZWxmaWUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlciIgLz4nOwogIHZhciBmaXJzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2dpdmVuX25hbWUnKTsKICB2YXIgbGFzdE5hbWVNYXRjaCA9IGdldEJpb2dyYXBoaWNNYXRjaFJlc3VsdChtZXRhRGF0YSwgJ2ZhbWlseV9uYW1lJyk7CiAgdmFyIGlkZW50aXR5VGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDI1JTsgdGV4dC1hbGlnbjogcmlnaHQ7Ij5JZGVudGlmaWVyPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMjUlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+QXBwbGljYXRpb248L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsgdGV4dC1hbGlnbjogbGVmdDsiPkdvdmVybm1lbnQgSUQ8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDE4JTsgdGV4dC1hbGlnbjogbGVmdDsiPk1hdGNoPC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5GaXJzdCBOYW1lPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmaWVkRmlyc3ROYW1lQXR0cl19PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7ICR7Y29sb3JpemUoZmlyc3ROYW1lTWF0Y2gpfSI+JHtmaXJzdE5hbWVNYXRjaH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxhc3QgTmFtZTwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZD4ke2xhc3ROYW1lfTwvdGQ+XAogICAgICAgICAgPHRkPiR7Y3VzdG9tQXR0cnNbdmVyaWZpZWRMYXN0TmFtZUF0dHJdfTwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyAke2NvbG9yaXplKGxhc3ROYW1lTWF0Y2gpfSI+JHtsYXN0TmFtZU1hdGNofTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIGRvY1N0cnVjdEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgU3RydWN0dXJlJykuanVkZ2VtZW50OwogIHZhciBkb2NEYXRhQ29tcEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRG9jdW1lbnQgRGF0YSBDb21wYXJpc29uJykuanVkZ2VtZW50OwogIHZhciBodW1hbkZhY2VKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0h1bWFuIEZhY2UgUHJlc2VuY2UnKS5qdWRnZW1lbnQKICB2YXIgZmllbGRWYWxpZEpkZ21udCA9IGdldE1pdGVrUmVzdWx0KG1ldGFEYXRhLCAnRmllbGQgVmFsaWRhdGlvbicpLmp1ZGdlbWVudDsKICB2YXIgYmxhY2tsaXN0SmRnbW50ID0gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsICdJRCBEb2N1bWVudCBCbGFja2xpc3QnKS5qdWRnZW1lbnQ7CiAgdmFyIGJhcmNvZGVKZGdtbnQgPSBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgJ0JhcmNvZGUgQW5hbHlzaXMnKS5qdWRnZW1lbnQ7CiAgdmFyIGdvdkRvY1RhYmxlID0gYFwKICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbiI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA0OSU7IHRleHQtYWxpZ246IHJpZ2h0OyI+RG9jdW1lbnQgU3RydWN0dXJlPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShkb2NTdHJ1Y3RKZGdtbnQpfSI+JHtkb2NTdHJ1Y3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5Eb2N1bWVudCBEYXRhIENvbXBhcmlzb248L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoZG9jRGF0YUNvbXBKZGdtbnQpfSI+JHtkb2NEYXRhQ29tcEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkh1bWFuIEZhY2UgUHJlc2VuY2U8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IiR7Y29sb3JpemUoaHVtYW5GYWNlSmRnbW50KX0iPiR7aHVtYW5GYWNlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0cj5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+RmllbGQgVmFsaWRhdGlvbjwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShmaWVsZFZhbGlkSmRnbW50KX0iPiR7ZmllbGRWYWxpZEpkZ21udH08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPklEIERvY3VtZW50IEJsYWNrbGlzdDwvdGQ+XAogICAgICAgICAgPHRkPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0iJHtjb2xvcml6ZShibGFja2xpc3RKZGdtbnQpfSI+JHtibGFja2xpc3RKZGdtbnR9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5CYXJjb2RlIEFuYWx5c2lzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGJhcmNvZGVKZGdtbnQpfSI+JHtiYXJjb2RlSmRnbW50fTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIHNpbWlsYXJpdHkgPSBnZXRTaW1pbGFyaXR5KGdldFJlc3VsdChtZXRhRGF0YSwgJ0ZBQ0lBTF9DT01QQVJJU09OJykuZGF0YS5zaW1pbGFyaXR5KTsKICB2YXIgbGl2ZW5lc3MgPSBnZXRMaXZlbmVzcyhnZXRSZXN1bHQobWV0YURhdGEsICdMSVZFTkVTUycpLmRhdGEucHJvYmFiaWxpdHkpOwogIHZhciBmYWNpYWxUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZhY2lhbCBDb21wYXJpc29uPC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAyJTsiPjo8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQ5JTsgdGV4dC1hbGlnbjogbGVmdDsgJHtjb2xvcml6ZShzaW1pbGFyaXR5KX0iPiR7c2ltaWxhcml0eX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPkxpdmVuZXNzPC90ZD5cCiAgICAgICAgICA8dGQ+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSIke2NvbG9yaXplKGxpdmVuZXNzKX0iPiR7bGl2ZW5lc3N9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgIDwvdGFibGU+YDsKICB2YXIgc2VsZmllVGFibGUgPSBgXAogICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluIj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGg0PkdvdmVybm1lbnQgSUQgUGljdHVyZTwvaDQ+PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxoND5GcmVzaCBTZWxmaWU8L2g0PjwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICAgIDx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsiPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwJTsiPiR7cmVmZXJlbmNlSW1hZ2V9PC90ZD5cCiAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MCU7Ij4ke2ZyZXNoU2VsZmllSW1nfTwvdGQ+XAogICAgICAgIDwvdHI+XAogICAgICA8L3RhYmxlPmA7CiAgdmFyIG1lc3NhZ2UgPSBgXAogICAgICA8cD48aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlN0YXR1czwvaDM+PC9wPlwKICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgJHtjb2xvcml6ZShjdXN0b21BdHRyc1t2ZXJpZnlTdGF0dXNBdHRyXSl9Ij4ke2N1c3RvbUF0dHJzW3ZlcmlmeVN0YXR1c0F0dHJdfTwvcD5cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+SWRlbnRpdHk8L2gzPjwvcD5cCiAgICAgICR7aWRlbnRpdHlUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+R292ZXJubWVudCBJRCBBdXRoZW50aWNhdGlvbjwvaDM+PC9wPlwKICAgICAgJHtnb3ZEb2NUYWJsZX1cCiAgICAgIDxwPjxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+RmFjaWFsIENvbXBhcmlzb24gJiBMaXZlbmVzczwvaDM+PC9wPlwKICAgICAgJHtmYWNpYWxUYWJsZX1cCiAgICAgIDxici8+JHtzZWxmaWVUYWJsZX1gOwogIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICJmdW5jdGlvbiAoZSkge1xuIikuY29uY2F0KAogICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgIiAgY29uc29sZS5sb2coJ2hlcmUhJyk7XG4iKS5jb25jYXQoCiAgICAiICBpZiAobWVzc2FnZS5maXJzdENoaWxkICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlTmFtZSA9PSAnI3RleHQnICYmIG1lc3NhZ2UuZmlyc3RDaGlsZC5ub2RlVmFsdWUudHJpbSgpID09ICciKS5jb25jYXQoYW5jaG9yKS5jb25jYXQoIicpIHtcbiIpLmNvbmNhdCgKICAgICIgICAgbWVzc2FnZS5jbGFzc05hbWUgPSBcInRleHQtbGVmdFwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgIiAgfVxuIikuY29uY2F0KAogICAgIn0pIikKICBpZiAoY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgY2FsbGJhY2tzQnVpbGRlci50ZXh0T3V0cHV0Q2FsbGJhY2soMCwgYW5jaG9yKTsKICAgIGNhbGxiYWNrc0J1aWxkZXIuc2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCk7CiAgfSBlbHNlIHsKICAgIGFjdGlvbiA9IGFjdGlvbi5nb1RvKCd0cnVlJyk7CiAgfQoKICBmdW5jdGlvbiBnZXRTaW1pbGFyaXR5KG51bSkgewogICAgaWYgKG51bSA+PSA4NSkgcmV0dXJuICdIaWdoJzsKICAgIGlmIChudW0gPj0gNjUpIHJldHVybiAnTWVkaXVtJzsKICAgIHJldHVybiAnTG93JzsKICB9CgogIGZ1bmN0aW9uIGdldExpdmVuZXNzKG51bSkgewogICAgaWYgKG51bSA+PSAwLjUpIHJldHVybiAnTGl2ZSc7CiAgICByZXR1cm4gJ1Nwb29mZWQnCiAgfQoKICBmdW5jdGlvbiBjb2xvcml6ZSh0ZXh0KSB7CiAgICB2YXIgY29sb3IgPSAnJzsKICAgIHZhciBzdWNjZXNzID0gJ2dyZWVuJzsKICAgIHZhciBzb3NvID0gJ3llbGxvdyc7CiAgICB2YXIgZmFpbHVyZSA9ICdyZWQnOwogICAgdmFyIGNvbG9ycyA9IHsKICAgICAgICAnbm90X2F1dGhlbnRpYyc6IGBjb2xvcjoke2ZhaWx1cmV9O2AsCiAgICAgICAgJ3N1Y2Nlc3MnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdhdXRoZW50aWMnOiBgY29sb3I6JHtzdWNjZXNzfTtgLAogICAgICAgICdsaXZlJzogYGNvbG9yOiR7c3VjY2Vzc307YCwKICAgICAgICAnaGlnaCc6IGBjb2xvcjoke3N1Y2Nlc3N9O2AsCiAgICAgICAgJ21lZGl1bSc6IGBjb2xvcjoke3Nvc299O2AsCiAgICAgICAgJ2ZhaWwnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdsb3cnOiBgY29sb3I6JHtmYWlsdXJlfTtgLAogICAgICAgICdzcG9vZmVkJzogYGNvbG9yOiR7ZmFpbHVyZX07YCwKICAgIH07CiAgICBPYmplY3Qua2V5cyhjb2xvcnMpLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKHRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKGl0KSA+PSAwKSBjb2xvciA9IGNvbG9yc1tpdF07CiAgICAgICAgcmV0dXJuOwogICAgfSk7CiAgICByZXR1cm4gY29sb3I7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0UmVzdWx0KG1ldGFEYXRhLCB0eXBlKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIGlmIChtZXRhRGF0YSAmJiB0eXBlKSB7CiAgICAgIG1ldGFEYXRhLl9lbWJlZGRlZC5tZXRhRGF0YS5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC50eXBlID09PSB0eXBlKSB7CiAgICAgICAgICByZXN1bHQgPSBpdDsgCiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogICAgCiAgZnVuY3Rpb24gZ2V0TWl0ZWtSZXN1bHQobWV0YURhdGEsIG5hbWUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdmFyIG1pdGVrUmVzdWx0cyA9IGdldFJlc3VsdChtZXRhRGF0YSwgJ0RPQ1VNRU5UX0FVVEhFTlRJQ0FUSU9OJyk7CiAgICBpZiAobWl0ZWtSZXN1bHRzICYmIG5hbWUpIHsKICAgICAgbWl0ZWtSZXN1bHRzLmRhdGEubWl0ZWtWZXJpZmljYXRpb25zLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0Lm5hbWUgPT09IG5hbWUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRCaW9ncmFwaGljTWF0Y2hSZXN1bHQobWV0YURhdGEsIGZpZWxkKSB7CiAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgIHZhciBiaW9ncmFwaGljTWF0Y2hSZXN1bHQgPSBnZXRSZXN1bHQobWV0YURhdGEsICdCSU9HUkFQSElDX01BVENIJyk7CiAgICBpZiAoYmlvZ3JhcGhpY01hdGNoUmVzdWx0ICYmIGZpZWxkKSB7CiAgICAgIGJpb2dyYXBoaWNNYXRjaFJlc3VsdC5kYXRhLmJpb2dyYXBoaWNfbWF0Y2hfcmVzdWx0cy5mb3JFYWNoKChpdCkgPT4gewogICAgICAgIGlmIChpdC5pZGVudGlmaWVyID09PSBmaWVsZCkgewogICAgICAgICAgcmVzdWx0ID0gaXQubWF0Y2g7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show full identity verification results\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Full Verification Results\",\"_id\":\"ca0c39c5-9c50-417f-a36e-815cfd1ecffe\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogU2VsZmllIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogU2hvdyBzZWxmaWUgYXV0aGVudGljYXRpb24gcmVzdWx0cwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwoKICB2YXIgcDFVc2VySWRBbUF0dHIgPSAnZnItYXR0ci1pc3RyMSc7CiAgdmFyIHAxVXNlcklkSWRtQXR0ciA9ICdmckluZGV4ZWRTdHJpbmcxJzsKICB2YXIgc2VsZmllQW1BdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIHNlbGZpZUlkbUF0dHIgPSAnZnJVbmluZGV4ZWRTdHJpbmcxJzsKICB2YXIgZmlyc3ROYW1lQXR0ciA9ICdnaXZlbk5hbWUnOwogIHZhciBsYXN0TmFtZUF0dHIgPSAnc24nOwogIAogIHZhciBpZGVudGl0eSA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShub2RlU3RhdGUuZ2V0KCdfaWQnKSk7CiAgdmFyIHAxVXNlcklkID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHAxVXNlcklkQW1BdHRyKVswXTsKICB2YXIgc2VsZmllID0gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpID8gZ2V0T2JqZWN0QXR0cmlidXRlKHNlbGZpZUlkbUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUFtQXR0cilbMF07CiAgdmFyIGZpcnN0TmFtZSA9IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShmaXJzdE5hbWVBdHRyKSA6IGlkZW50aXR5LmdldEF0dHJpYnV0ZVZhbHVlcyhmaXJzdE5hbWVBdHRyKVswXTsKICB2YXIgbGFzdE5hbWUgPSBnZXRPYmplY3RBdHRyaWJ1dGUobGFzdE5hbWVBdHRyKSA/IGdldE9iamVjdEF0dHJpYnV0ZShsYXN0TmFtZUF0dHIpIDogaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKGxhc3ROYW1lQXR0cilbMF07CgogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgcmVmZXJlbmNlSW1hZ2UgPSAnPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsICcrc2VsZmllKyciIGFsdD0iUmVmZXJlbmNlIEltYWdlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXIiIC8+JzsKICB2YXIgaWRlbnRpdHlUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiByaWdodDsiPkZpcnN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDIlOyI+OjwvdGQ+XAogICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNDklOyB0ZXh0LWFsaWduOiBsZWZ0OyI+JHtmaXJzdE5hbWV9PC90ZD5cCiAgICAgICAgPC90cj5cCiAgICAgICAgPHRyPlwKICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5MYXN0IE5hbWU8L3RkPlwKICAgICAgICAgIDx0ZD46PC90ZD5cCiAgICAgICAgICA8dGQ+JHtsYXN0TmFtZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBzZWxmaWVUYWJsZSA9IGBcCiAgICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7IG9iamVjdC1maXQ6IGNvbnRhaW4iPlwKICAgICAgICA8dHI+XAogICAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aDQ+UmVmZXJlbmNlIEltYWdlPC9oND48L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgICA8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij5cCiAgICAgICAgICA8dGQ+JHtyZWZlcmVuY2VJbWFnZX08L3RkPlwKICAgICAgICA8L3RyPlwKICAgICAgPC90YWJsZT5gOwogIHZhciBtZXNzYWdlID0gYFwKICAgICAgPHA+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JZGVudGl0eTwvaDM+PC9wPlwKICAgICAgJHtpZGVudGl0eVRhYmxlfVwKICAgICAgPGJyLz4ke3NlbGZpZVRhYmxlfWA7CiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBhbmNob3IpOwogICAgY2FsbGJhY2tzQnVpbGRlci5zY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gYWN0aW9uLmdvVG8oJ3RydWUnKTsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRSZXN1bHQobWV0YURhdGEsIHR5cGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgaWYgKG1ldGFEYXRhICYmIHR5cGUpIHsKICAgICAgbWV0YURhdGEuX2VtYmVkZGVkLm1ldGFEYXRhLmZvckVhY2goKGl0KSA9PiB7CiAgICAgICAgaWYgKGl0LnR5cGUgPT09IHR5cGUpIHsKICAgICAgICAgIHJlc3VsdCA9IGl0OyAKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgICAKICBmdW5jdGlvbiBnZXRNaXRla1Jlc3VsdChtZXRhRGF0YSwgbmFtZSkgewogICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICB2YXIgbWl0ZWtSZXN1bHRzID0gZ2V0UmVzdWx0KG1ldGFEYXRhLCAnRE9DVU1FTlRfQVVUSEVOVElDQVRJT04nKTsKICAgIGlmIChtaXRla1Jlc3VsdHMgJiYgbmFtZSkgewogICAgICBtaXRla1Jlc3VsdHMuZGF0YS5taXRla1ZlcmlmaWNhdGlvbnMuZm9yRWFjaCgoaXQpID0+IHsKICAgICAgICBpZiAoaXQubmFtZSA9PT0gbmFtZSkgewogICAgICAgICAgcmVzdWx0ID0gaXQ7IAogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIC8qCiAgICogUmVhZCBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gZ2V0T2JqZWN0QXR0cmlidXRlKG5hbWUpIHsKICAgIHZhciBhdHRyaWJ1dGVzID0gbm9kZVN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKGF0dHJpYnV0ZXMpIHsKICAgICAgaWYgKGF0dHJpYnV0ZXMuZ2V0KSB7CiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuZ2V0KG5hbWUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLm5hbWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Show selfie authentication results\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Selfie Authentication Results\",\"_id\":\"eaab5b6d-fc11-4365-93da-00eb9121adb9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUHJlcGFyZSBBY2NvdW50IFVwZGF0ZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBNb3ZlIGRhdGEgZnJvbSByb290IG9mIG5vZGUgc3RhdGUgaW50byBvYmplY3RBdHRyaWJ1dGVzIGZvciBhY2NvdW50IHVwZGF0ZS4KICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICovCihmdW5jdGlvbiAoKSB7CiAgb3V0Y29tZSA9ICd0cnVlJzsKCiAgLyogQ29uZmlndXJlIHRvIGZpdCB5b3VyIGVudiAqLwogIHZhciBwMVVzZXJJZEFtQXR0ciA9ICdmci1hdHRyLWlzdHIxJzsgLy8gdGhpcyBpcyB3aGF0IHNob3VsZCBiZSBjb25maWd1cmVkIGluIHlvdXIgdmVyaWZ5IHByb29maW5nIG5vZGUKICB2YXIgcDFVc2VySWRJZG1BdHRyID0gJ2ZySW5kZXhlZFN0cmluZzEnOwogIHZhciBzZWxmaWVTb3VyY2UgPSAnc2VsZmllQmFzZTY0JzsKICB2YXIgc2VsZmllVGFyZ2V0ID0gJ2ZyVW5pbmRleGVkU3RyaW5nMSc7CiAgdmFyIGNyb3BwZWRQb3J0cmFpdFNvdXJjZSA9ICdjcm9wcGVkUG9ydHJhaXRCYXNlNjQnOwogIHZhciBjcm9wcGVkUG9ydHJhaXRUYXJnZXQgPSAnZnJVbmluZGV4ZWRTdHJpbmcyJzsKICB2YXIgbWV0YWRhdGFTb3VyY2UgPSAnVmVyaWZ5TWV0YWRhdGFSZXN1bHQnOwogIHZhciBtZXRhZGF0YVRhcmdldCA9ICdmclVuaW5kZXhlZFN0cmluZzMnOwogIHZhciB2ZXJpZnlTdGF0dXNBdHRyID0gJ2N1c3RvbV92ZXJpZnlTdGF0dXMnOwogIHZhciB2ZXJpZnlGYWlsZWRSZWFzb24gPSAnVmVyaWZlZEZhaWxlZFJlYXNvbic7CgogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShwMVVzZXJJZElkbUF0dHIsIHNoYXJlZFN0YXRlLmdldChwMVVzZXJJZEFtQXR0cikpCiAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKHNlbGZpZVRhcmdldCwgc2hhcmVkU3RhdGUuZ2V0KHNlbGZpZVNvdXJjZSkpOwogIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShjcm9wcGVkUG9ydHJhaXRUYXJnZXQsIHNoYXJlZFN0YXRlLmdldChjcm9wcGVkUG9ydHJhaXRTb3VyY2UpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUobWV0YWRhdGFUYXJnZXQsIEpTT04uc3RyaW5naWZ5KHRyYW5zaWVudFN0YXRlLmdldChtZXRhZGF0YVNvdXJjZSkpKTsKICBzZXRTaGFyZWRPYmplY3RBdHRyaWJ1dGUodmVyaWZ5U3RhdHVzQXR0ciwgc2hhcmVkU3RhdGUuZ2V0KHZlcmlmeUZhaWxlZFJlYXNvbikgfHwgJ1N1Y2Nlc3NmdWxseSB2ZXJpZmllZCcpOwogICAgCiAgLy8gcmVtb3ZlIHNvdXJjZSB0byBtaW5pbWl6ZSBBdXRoSWQgc2l6ZQogIHNoYXJlZFN0YXRlLnB1dChzZWxmaWVTb3VyY2UsICcnKTsKICBzaGFyZWRTdGF0ZS5wdXQoY3JvcHBlZFBvcnRyYWl0U291cmNlLCAnJyk7CgogIC8qCiAgICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogICAqLwogIGZ1bmN0aW9uIHNldFNoYXJlZE9iamVjdEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgewogICAgICAgdmFyIHN0b3JhZ2UgPSBzaGFyZWRTdGF0ZS5nZXQoJ29iamVjdEF0dHJpYnV0ZXMnKTsKICAgICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgICAgIGlmIChzdG9yYWdlLnB1dCkgewogICAgICAgICAgICAgICAgc3RvcmFnZS5wdXQobmFtZSwgdmFsdWUpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgc3RvcmFnZVtuYW1lXSA9IHZhbHVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbHVlKSB7CiAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ29iamVjdEF0dHJpYnV0ZXMnLCBKU09OLnBhcnNlKCd7IicrbmFtZSsnIjoiJyt2YWx1ZSsnIn0nKSk7CiAgICAgIH0KICB9Cn0oKSk7Cg==\",\"description\":\"Move data from root of node state into objectAttributes for account update.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Prepare Account Update\",\"_id\":\"4233c093-76a6-474b-ac38-5c0ea1de2484\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7Cg==\",\"description\":\"Remove button from page.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Remove Button\",\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Used by endUserUIClient\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo endUserUIClient OIDC Claims Script\",\"_id\":\"d3ced49b-50cd-4ee9-bd8b-33a46f367fb1\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"description\":\"Default bravo realm script for OAuth2 Access Token Modification\",\"lastModifiedBy\":\"null\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OAuth2 Access Token Modification Script\",\"_id\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogUmVzb2x2ZSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlc29sdmVkIHRvIF9pZC4KICogUmV0dXJuICJ0cnVlIiBpZiByZXNvbHZlZCwgImZhbHNlIiBvdGhlcndpc2UuCiAqIAogKiBUaGlzIHNjcmlwdCBkb2VzIG5vdCBuZWVkIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCB3b3JrIHByb3Blcmx5IGFzIGlzLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKICogLSBmYWxzZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIGlmIChub2RlU3RhdGUuZ2V0KCJfaWQiKSkgewogICAgICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gImZhbHNlIjsKICAgIH0KfSgpKTsK\",\"description\":\"Check if username has already been resolved to _id.\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Check Resolved Username - imported (1)\",\"_id\":\"870f0298-2f96-4e10-990d-3436fc2f3c43\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"b3V0Y29tZSA9ICJ0cnVlIjsK\",\"description\":\"Dummy\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Dummy\",\"_id\":\"bb0b46f8-bdf3-4fb8-8d8f-bd921af7e79e\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"description\":\"Default bravo realm script for OIDC claims\",\"lastModifiedBy\":\"null\",\"context\":\"OIDC_CLAIMS\",\"lastModifiedDate\":\"0\",\"name\":\"Bravo OIDC Claims Script\",\"_id\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V1_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKgogKiBEaXNwbGF5IHNoYXJlZFN0YXRlLCB0cmFuc2llbnRTdGF0ZSwgYW5kIGhlYWRlcnMuCiAqCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBhbmNob3IgPSAnYW5jaG9yLScuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgdmFyIGhhbGlnbiA9ICdsZWZ0JzsKICB2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBQYXJhbWV0ZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgIGdldFF1ZXJ5U3RyaW5nKCkpLmNvbmNhdCgiPGJyIikuY29uY2F0KAogICAgcmVxdWVzdFBhcmFtZXRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikuY29uY2F0KAogICAgIjxwPjxiPlJlcXVlc3QgSGVhZGVyczwvYj46PGJyLz4iKS5jb25jYXQoCiAgICAgIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpCiAgdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICAgImRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NhbGxiYWNrLWNvbXBvbmVudCcpKS5mb3JFYWNoKFxuIikuY29uY2F0KAogICAgImZ1bmN0aW9uIChlKSB7XG4iKS5jb25jYXQoCiAgICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgICAiICBjb25zb2xlLmxvZygnaGVyZSEnKTtcbiIpLmNvbmNhdCgKICAgICIgIGlmIChtZXNzYWdlLmZpcnN0Q2hpbGQgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVOYW1lID09ICcjdGV4dCcgJiYgbWVzc2FnZS5maXJzdENoaWxkLm5vZGVWYWx1ZS50cmltKCkgPT0gJyIpLmNvbmNhdChhbmNob3IpLmNvbmNhdCgiJykge1xuIikuY29uY2F0KAogICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAiICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gJyIpLmNvbmNhdChtZXNzYWdlKS5jb25jYXQoIic7XG4iKS5jb25jYXQoCiAgICAiICB9XG4iKS5jb25jYXQoCiAgICAifSkiKQogIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICApOwogIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjayhmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sIG1lc3NhZ2UpLAogICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICkuYnVpbGQoKTsKICB9IGVsc2UgewogICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8oJ3RydWUnKS5idWlsZCgpOwogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbiAoYykgewogICAgICB2YXIgciA9IChNYXRoLnJhbmRvbSgpICogMTApIHwgMDsKICAgICAgdmFyIHYgPSByOwogICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIGdldFF1ZXJ5U3RyaW5nKCkgewogIAogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhUeXBlJywgWydzZXJ2aWNlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCdhdXRoSW5kZXhWYWx1ZScsIFsnU2ltcGxlJ10pOwogICAgcmVxdWVzdFBhcmFtZXRlcnMucHV0KCd1c2VybmFtZScsIFtzaGFyZWRTdGF0ZS5nZXQoJ3VzZXJuYW1lJyldKTsKICAgIAogICAgdmFyIHF1ZXJ5ID0gJyc7CiAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtZXRlcnMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoIDsgaSsrKSB7CiAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTsKICAgICAgdmFyIHZhbHVlcyA9IHJlcXVlc3RQYXJhbWV0ZXJzLmdldChwYXJhbSk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWVzLmxlbmd0aCA7IGorKykgewogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgcGFyYW0gKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJyYnOwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBxdWVyeS5zdWJzdHJpbmcoMCwgcXVlcnkubGVuZ3RoID4gMCA/IHF1ZXJ5Lmxlbmd0aCAtIDEgOiAwKTsKICB9Cn0pKCk7Cg==\",\"description\":\"Display sharedState, transientState, and headers.\",\"lastModifiedBy\":\"null\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"debug - imported (1)\",\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"createdBy\":\"null\",\"evaluatorVersion\":\"V2_0\",\"creationDate\":\"0\",\"language\":\"JAVASCRIPT\",\"script\":\"LyogTG9hZCBSZWZlcmVuY2UgU2VsZmllCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIExvYWQgcmVmZXJlbmNlIHNlbGZpZSBpbnRvIHRyYW5zaWVudCBzdGF0ZQogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwooZnVuY3Rpb24gKCkgewogIG91dGNvbWUgPSAndHJ1ZSc7CgogIHZhciBzZWxmaWVBdHRyID0gJ2ZyLWF0dHItc3RyMSc7CiAgdmFyIGlkZW50aXR5ID0gaWRSZXBvc2l0b3J5LmdldElkZW50aXR5KG5vZGVTdGF0ZS5nZXQoJ19pZCcpKTsKICB2YXIgc2VsZmllID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlVmFsdWVzKHNlbGZpZUF0dHIpWzBdOwogIGlmIChzZWxmaWUpIHsKICAgIHNldFRyYW5zaWVudE9iamVjdEF0dHJpYnV0ZShzZWxmaWVBdHRyLCBzZWxmaWUpOwogIH0KCiAgLyoKICAgKiBTdG9yZSBhdHRyaWJ1dGVzIGluIHNoYXJlZCBzdGF0ZSBmb3IgdXNlIHdpdGggdGhlIENyZWF0ZS9QYXRjaCBPYmplY3Qgbm9kZXMuCiAgICovCiAgZnVuY3Rpb24gc2V0VHJhbnNpZW50T2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgICB2YXIgYXR0cmlidXRlcyA9IG5vZGVTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKTsKICAgIGlmIChhdHRyaWJ1dGVzICYmIHZhbHVlKSB7CiAgICAgIGF0dHJpYnV0ZXMucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgbm9kZVN0YXRlLnB1dFRyYW5zaWVudCgib2JqZWN0QXR0cmlidXRlcyIsIGF0dHJpYnV0ZXMpOwogICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICBub2RlU3RhdGUucHV0VHJhbnNpZW50KCJvYmplY3RBdHRyaWJ1dGVzIiwgeyBuYW1lOiB2YWx1ZSB9ICk7CiAgICB9CiAgfQp9KCkpOwo=\",\"description\":\"Load reference selfie into shared state\",\"lastModifiedBy\":\"null\",\"context\":\"SCRIPTED_DECISION_NODE\",\"lastModifiedDate\":\"0\",\"name\":\"Load Reference Selfie\",\"_id\":\"09d6f27b-3c7c-4bc0-a7ff-e19d93f6b6d9\",\"_type\":{\"_id\":\"scripts\",\"name\":\"Scripting\",\"collection\":true}},{\"enabled\":true,\"_id\":\"SocialIdentityProviders\",\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}},{\"advancedOIDCConfig\":{\"supportedRequestParameterEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"authorisedOpenIdConnectSSOClients\":[],\"supportedUserInfoEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedAuthorizationResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedTokenIntrospectionResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"useForceAuthnForPromptLogin\":false,\"useForceAuthnForMaxAge\":false,\"alwaysAddClaimsToToken\":true,\"supportedTokenIntrospectionResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedTokenEndpointAuthenticationSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRequestParameterSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"includeAllKtyAlgCombinationsInJwksUri\":false,\"amrMappings\":{},\"loaMapping\":{},\"authorisedIdmDelegationClients\":[],\"idTokenInfoClientAuthenticationEnabled\":true,\"storeOpsTokens\":true,\"supportedUserInfoSigningAlgorithms\":[\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\"],\"supportedAuthorizationResponseSigningAlgorithms\":[\"PS384\",\"RS384\",\"EdDSA\",\"ES384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedUserInfoEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"claimsParameterSupported\":false,\"supportedTokenIntrospectionResponseEncryptionEnc\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedAuthorizationResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRequestParameterEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"defaultACR\":[]},\"advancedOAuth2Config\":{\"passwordGrantAuthService\":\"Login\",\"includeClientIdClaimInStatelessTokens\":true,\"tokenCompressionEnabled\":false,\"tokenEncryptionEnabled\":false,\"requirePushedAuthorizationRequests\":false,\"tlsCertificateBoundAccessTokensEnabled\":true,\"includeSubnameInTokenClaims\":true,\"defaultScopes\":[\"address\",\"phone\",\"openid\",\"profile\",\"email\"],\"moduleMessageEnabledInPasswordGrant\":false,\"allowClientCredentialsInTokenRequestQueryParameters\":true,\"supportedSubjectTypes\":[\"public\",\"pairwise\"],\"refreshTokenGracePeriod\":0,\"tlsClientCertificateHeaderFormat\":\"URLENCODED_PEM\",\"hashSalt\":\"&{am.oidc.client.subject.identifier.hash.salt}\",\"macaroonTokenFormat\":\"V2\",\"maxAgeOfRequestObjectNbfClaim\":0,\"tlsCertificateRevocationCheckingEnabled\":false,\"nbfClaimRequiredInRequestObject\":false,\"requestObjectProcessing\":\"OIDC\",\"maxDifferenceBetweenRequestObjectNbfAndExp\":0,\"responseTypeClasses\":[\"code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler\",\"device_code|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"token|org.forgerock.oauth2.core.TokenResponseTypeHandler\",\"id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler\"],\"expClaimRequiredInRequestObject\":false,\"tokenValidatorClasses\":[\"urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator\",\"urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator\"],\"tokenSigningAlgorithm\":\"HS256\",\"codeVerifierEnforced\":\"false\",\"displayNameAttribute\":\"cn\",\"tokenExchangeClasses\":[\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger\",\"urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger\"],\"parRequestUriLifetime\":90,\"allowedAudienceValues\":[],\"persistentClaims\":[],\"supportedScopes\":[\"email|Your email address\",\"openid|\",\"address|Your postal address\",\"phone|Your telephone number(s)\",\"profile|Your personal information\",\"fr:idm:*\",\"am-introspect-all-tokens\"],\"authenticationAttributes\":[\"uid\"],\"grantTypes\":[\"implicit\",\"urn:ietf:params:oauth:grant-type:saml2-bearer\",\"refresh_token\",\"password\",\"client_credentials\",\"urn:ietf:params:oauth:grant-type:device_code\",\"authorization_code\",\"urn:openid:params:grant-type:ciba\",\"urn:ietf:params:oauth:grant-type:uma-ticket\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"]},\"clientDynamicRegistrationConfig\":{\"dynamicClientRegistrationScope\":\"dynamic_client_registration\",\"allowDynamicRegistration\":false,\"requiredSoftwareStatementAttestedAttributes\":[\"redirect_uris\"],\"dynamicClientRegistrationSoftwareStatementRequired\":false,\"generateRegistrationAccessTokens\":true},\"coreOIDCConfig\":{\"overrideableOIDCClaims\":[],\"oidcDiscoveryEndpointEnabled\":true,\"supportedIDTokenEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"supportedClaims\":[],\"supportedIDTokenSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedIDTokenEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"jwtTokenLifetime\":3600},\"coreOAuth2Config\":{\"refreshTokenLifetime\":604800,\"scopesPolicySet\":\"oauth2Scopes\",\"accessTokenMayActScript\":\"[Empty]\",\"accessTokenLifetime\":3600,\"macaroonTokensEnabled\":false,\"codeLifetime\":120,\"statelessTokensEnabled\":true,\"usePolicyEngineForScope\":false,\"issueRefreshToken\":true,\"oidcMayActScript\":\"[Empty]\",\"issueRefreshTokenOnRefreshedToken\":true},\"consent\":{\"supportedRcsRequestSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"ECDH-ES+A128KW\",\"RSA-OAEP\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"supportedRcsRequestEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"],\"enableRemoteConsent\":false,\"supportedRcsRequestEncryptionAlgorithms\":[\"ECDH-ES+A256KW\",\"ECDH-ES+A192KW\",\"RSA-OAEP\",\"ECDH-ES+A128KW\",\"RSA-OAEP-256\",\"A128KW\",\"A256KW\",\"ECDH-ES\",\"dir\",\"A192KW\"],\"clientsCanSkipConsent\":true,\"supportedRcsResponseSigningAlgorithms\":[\"PS384\",\"ES384\",\"RS384\",\"HS256\",\"HS512\",\"ES256\",\"RS256\",\"HS384\",\"ES512\",\"PS256\",\"PS512\",\"RS512\"],\"supportedRcsResponseEncryptionMethods\":[\"A256GCM\",\"A192GCM\",\"A128GCM\",\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\"]},\"deviceCodeConfig\":{\"deviceUserCodeLength\":8,\"deviceCodeLifetime\":300,\"deviceUserCodeCharacterSet\":\"234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz\",\"devicePollInterval\":5},\"pluginsConfig\":{\"evaluateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"validateScopeScript\":\"[Empty]\",\"accessTokenEnricherClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"oidcClaimsPluginType\":\"SCRIPTED\",\"authorizeEndpointDataProviderClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"authorizeEndpointDataProviderPluginType\":\"JAVA\",\"userCodeGeneratorClass\":\"org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator\",\"evaluateScopeScript\":\"[Empty]\",\"oidcClaimsClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"evaluateScopePluginType\":\"JAVA\",\"authorizeEndpointDataProviderScript\":\"[Empty]\",\"accessTokenModifierClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\",\"accessTokenModificationScript\":\"21138ab1-0621-4466-b18f-670bfcbabca7\",\"validateScopePluginType\":\"JAVA\",\"accessTokenModificationPluginType\":\"SCRIPTED\",\"oidcClaimsScript\":\"3e31996b-4522-44a2-b360-0851cece3854\",\"validateScopeClass\":\"org.forgerock.openam.oauth2.OpenAMScopeValidator\"},\"cibaConfig\":{\"cibaMinimumPollingInterval\":2,\"supportedCibaSigningAlgorithms\":[\"ES256\",\"PS256\"],\"cibaAuthReqIdLifetime\":600},\"_id\":\"oauth-oidc\",\"_type\":{\"_id\":\"oauth-oidc\",\"name\":\"OAuth2 Provider\",\"collection\":false}},{\"sunIdRepoAttributeCombiner\":\"com.iplanet.am.sdk.AttributeCombiner\",\"sunIdRepoAttributeValidator\":[\"class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl\",\"minimumPasswordLength=8\",\"usernameInvalidChars=*|(|)|&|!\"],\"_id\":\"id-repositories\",\"_type\":{\"_id\":\"id-repositories\",\"name\":\"sunIdentityRepositoryService\",\"collection\":false}},{\"enabled\":true,\"_id\":\"pingOneWorkerService\",\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}},{\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_id\":\"baseurl\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}},{\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_id\":\"validation\",\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}},{\"applicationDataStoreId\":\"application-store\",\"policyDataStoreId\":\"policy-store\",\"_id\":\"DataStoreService\",\"_type\":{\"_id\":\"DataStoreService\",\"name\":\"External Data Stores\",\"collection\":false}}]}" }, "cookies": [], "headers": [ @@ -61917,10 +74901,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1158802257\"" - }, { "name": "expires", "value": "0" @@ -61933,17 +74913,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "content-length", - "value": "373" - }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -61960,16 +74936,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 773, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.016Z", - "time": 83, + "startedDateTime": "2024-11-05T21:22:17.339Z", + "time": 109, "timings": { "blocked": -1, "connect": -1, @@ -61977,11 +74957,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 109 } }, { - "_id": "103bd7d2b1b498a32dd3d684a6f0e87f", + "_id": "e09460740281fbbb56e0ba1d82c45356", "_order": 0, "cache": {}, "request": { @@ -62002,11 +74982,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62021,18 +75001,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2058, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/KbaCreateNode/120c69d3-90b4-4ad4-b7af-380e8b119340" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email" }, "response": { - "bodySize": 272, + "bodySize": 286, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 272, - "text": "{\"_id\":\"120c69d3-90b4-4ad4-b7af-380e8b119340\",\"_rev\":\"-8134977\",\"message\":{\"en\":\"Select a security question\"},\"allowUserDefinedQuestions\":true,\"_type\":{\"_id\":\"KbaCreateNode\",\"name\":\"KBA Definition\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 286, + "text": "{\"_id\":\"\",\"_rev\":\"1248750872\",\"emailAddressAttribute\":\"mail\",\"transportType\":\"default-smtp\",\"emailRateLimitSeconds\":1,\"emailImplClassName\":\"org.forgerock.openam.services.email.MailServerImpl\",\"port\":465,\"sslState\":\"SSL\",\"_type\":{\"_id\":\"email\",\"name\":\"Email Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62070,7 +75050,7 @@ }, { "name": "etag", - "value": "\"-8134977\"" + "value": "\"1248750872\"" }, { "name": "expires", @@ -62086,15 +75066,15 @@ }, { "name": "content-length", - "value": "272" + "value": "286" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62113,14 +75093,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.017Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:17.457Z", + "time": 174, "timings": { "blocked": -1, "connect": -1, @@ -62128,11 +75108,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 174 } }, { - "_id": "e1a9a2495f60c6036bd9bf1719e46085", + "_id": "49cd3e56007bb581f457f78f77d0db7e", "_order": 0, "cache": {}, "request": { @@ -62153,11 +75133,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62172,18 +75152,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 2006, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AcceptTermsAndConditionsNode/b4a0e915-c15d-4b83-9c9d-18347d645976" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/email?_action=nextdescendents" }, "response": { - "bodySize": 223, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 223, - "text": "{\"_id\":\"b4a0e915-c15d-4b83-9c9d-18347d645976\",\"_rev\":\"1508860909\",\"_type\":{\"_id\":\"AcceptTermsAndConditionsNode\",\"name\":\"Accept Terms and Conditions\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -62219,10 +75204,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1508860909\"" - }, { "name": "expires", "value": "0" @@ -62237,15 +75218,15 @@ }, { "name": "content-length", - "value": "223" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62264,14 +75245,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.017Z", - "time": 75, + "startedDateTime": "2024-11-05T21:22:17.458Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -62279,11 +75260,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 75 + "wait": 76 } }, { - "_id": "7d33552ed556d33d7a33d438ee0bc2ca", + "_id": "a676125b13d746ef911be6d0ae3a036f", "_order": 0, "cache": {}, "request": { @@ -62304,11 +75285,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62323,18 +75304,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2021, + "headersSize": 1994, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/ResetPassword" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService" }, "response": { - "bodySize": 1436, + "bodySize": 125, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1436, - "text": "{\"_id\":\"ResetPassword\",\"_rev\":\"-2043431286\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"innerTreeOnly\":false,\"nodes\":{\"06c97be5-7fdd-4739-aea1-ecc7fe082865\":{\"connections\":{\"outcome\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":453,\"y\":66},\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\":{\"connections\":{\"false\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"true\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\"},\"displayName\":\"Identify Existing User\",\"nodeType\":\"IdentifyExistingUserNode\",\"x\":271,\"y\":21},\"989f0bf8-a328-4217-b82b-5275d79ca8bd\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":819,\"y\":61},\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\":{\"connections\":{\"outcome\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":103,\"y\":50},\"e4c752f9-c625-48c9-9644-a58802fa9e9c\":{\"connections\":{\"outcome\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":643,\"y\":50}},\"description\":\"Reset Password Tree\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":970,\"y\":79},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":981,\"y\":147},\"startNode\":{\"x\":25,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 125, + "text": "{\"_id\":\"\",\"_rev\":\"1688843526\",\"enable\":true,\"_type\":{\"_id\":\"TNTPPingOneService\",\"name\":\"PingOne Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62372,7 +75353,7 @@ }, { "name": "etag", - "value": "\"-2043431286\"" + "value": "\"1688843526\"" }, { "name": "expires", @@ -62388,15 +75369,15 @@ }, { "name": "content-length", - "value": "1436" + "value": "125" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62415,14 +75396,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 788, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.103Z", - "time": 62, + "startedDateTime": "2024-11-05T21:22:17.459Z", + "time": 112, "timings": { "blocked": -1, "connect": -1, @@ -62430,11 +75411,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 62 + "wait": 112 } }, { - "_id": "71b67696b90c8ffb0962981615f590c6", + "_id": "c56f9e67b3250bdfea892eadb98b469e", "_order": 0, "cache": {}, "request": { @@ -62455,11 +75436,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62474,18 +75455,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 2019, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/06c97be5-7fdd-4739-aea1-ecc7fe082865" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/TNTPPingOneService?_action=nextdescendents" }, "response": { - "bodySize": 433, + "bodySize": 645, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 433, - "text": "{\"_id\":\"06c97be5-7fdd-4739-aea1-ecc7fe082865\",\"_rev\":\"-1138066714\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to the address you entered. Click the link in that email to proceed.\"},\"emailTemplateName\":\"resetPassword\",\"identityAttribute\":\"mail\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 645, + "text": "{\"result\":[{\"clientIdWorkerSecret\":\"MYeArFcBVz_koayPMhz8dSmkKN9P1SjEA3CApwzWTfKuGvhS3XERxRpR1zTYg0ZT\",\"clientIdWorkerApp\":\"9e4b8778-8d02-4533-b11f-407c15e5519e\",\"environmentId\":\"183aa418-cdd3-4075-b20d-1ed89c8ca36e\",\"environmentRegion\":\"NA\",\"_id\":\"p1-volker-dev\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}},{\"clientIdWorkerSecret\":\"PYT2yEkgv73IAXf7W-Gxo32SdANddMPdRPHuo8btgIR~qoU_KBmP3NfGpVxxGCK-\",\"clientIdWorkerApp\":\"bc700ab9-b18d-4d75-9c10-0ddfd7a2fcf6\",\"environmentId\":\"77826556-ad2a-4cb9-86fc-41f53fd35d4d\",\"environmentRegion\":\"NA\",\"_id\":\"JC\",\"_type\":{\"_id\":\"PingOneService\",\"name\":\"instance\",\"collection\":true}}]}" }, "cookies": [], "headers": [ @@ -62521,10 +75507,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1138066714\"" - }, { "name": "expires", "value": "0" @@ -62539,15 +75521,15 @@ }, { "name": "content-length", - "value": "433" + "value": "645" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62566,14 +75548,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.170Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:17.459Z", + "time": 152, "timings": { "blocked": -1, "connect": -1, @@ -62581,11 +75563,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 152 } }, { - "_id": "5886ec22c2565c213eeec24bd416f042", + "_id": "765ef82693538218803204da06f18c64", "_order": 0, "cache": {}, "request": { @@ -62606,11 +75588,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62625,18 +75607,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2069, + "headersSize": 1995, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/IdentifyExistingUserNode/21b8ddf3-0203-4ae1-ab05-51cf3a3a707a" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration" }, "response": { - "bodySize": 295, + "bodySize": 837, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 295, - "text": "{\"_id\":\"21b8ddf3-0203-4ae1-ab05-51cf3a3a707a\",\"_rev\":\"402776485\",\"identityAttribute\":\"mail\",\"identifier\":\"userName\",\"_type\":{\"_id\":\"IdentifyExistingUserNode\",\"name\":\"Identify Existing User\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 837, + "text": "{\"_id\":\"\",\"_rev\":\"-1504612008\",\"userAliasEnabled\":false,\"connectionPoolMinimumSize\":1,\"maximumSearchResults\":100,\"policyHeartbeatTimeUnit\":\"SECONDS\",\"searchTimeout\":5,\"usersSearchAttribute\":\"uid\",\"policyHeartbeatInterval\":10,\"usersSearchScope\":\"SCOPE_SUB\",\"subjectsResultTTL\":10,\"checkIfResourceTypeExists\":true,\"connectionPoolMaximumSize\":10,\"sslEnabled\":{\"$bool\":\"&{am.stores.ssl.enabled}\"},\"bindDn\":\"&{am.stores.user.username}\",\"ldapServer\":[\"userstore-1.userstore:1389\",\"userstore-0.userstore:1389\",\"userstore-2.userstore:1389\"],\"mtlsEnabled\":false,\"bindPassword\":{\"$string\":\"&{am.stores.user.password}\"},\"realmSearchFilter\":\"(objectclass=sunismanagedorganization)\",\"usersSearchFilter\":\"(objectclass=inetorgperson)\",\"usersBaseDn\":\"ou=identities\",\"_type\":{\"_id\":\"policyconfiguration\",\"name\":\"Policy Configuration\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62674,7 +75656,7 @@ }, { "name": "etag", - "value": "\"402776485\"" + "value": "\"-1504612008\"" }, { "name": "expires", @@ -62690,15 +75672,15 @@ }, { "name": "content-length", - "value": "295" + "value": "837" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62717,14 +75699,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 787, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.171Z", - "time": 93, + "startedDateTime": "2024-11-05T21:22:17.460Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -62732,11 +75714,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 118 } }, { - "_id": "42491f5a58a5654c29968d87e0796bdd", + "_id": "54e9e274b63b64e32662ed40c91d88b7", "_order": 0, "cache": {}, "request": { @@ -62757,11 +75739,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62776,18 +75758,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/989f0bf8-a328-4217-b82b-5275d79ca8bd" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees" }, "response": { - "bodySize": 343, + "bodySize": 279, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 343, - "text": "{\"_id\":\"989f0bf8-a328-4217-b82b-5275d79ca8bd\",\"_rev\":\"-986085110\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[],\"identityAttribute\":\"mail\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 279, + "text": "{\"_id\":\"\",\"_rev\":\"-948959244\",\"treeMapping\":{\"forgottenUsername\":\"ForgottenUsername\",\"registration\":\"Registration\",\"resetPassword\":\"ResetPassword\",\"updatePassword\":\"UpdatePassword\"},\"enabled\":true,\"_type\":{\"_id\":\"selfServiceTrees\",\"name\":\"Self Service Trees\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -62825,7 +75807,7 @@ }, { "name": "etag", - "value": "\"-986085110\"" + "value": "\"-948959244\"" }, { "name": "expires", @@ -62841,15 +75823,15 @@ }, { "name": "content-length", - "value": "343" + "value": "279" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -62874,8 +75856,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.172Z", - "time": 73, + "startedDateTime": "2024-11-05T21:22:17.461Z", + "time": 76, "timings": { "blocked": -1, "connect": -1, @@ -62883,11 +75865,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 76 } }, { - "_id": "773116cf47edc2a7e7b3579baf8699cb", + "_id": "483ca721c05100b646e50c58ff8b5d8c", "_order": 0, "cache": {}, "request": { @@ -62908,11 +75890,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -62927,18 +75909,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2020, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/policyconfiguration?_action=nextdescendents" }, "response": { - "bodySize": 444, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 444, - "text": "{\"_id\":\"cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b\",\"_rev\":\"86486605\",\"nodes\":[{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"nodeType\":\"AttributeCollectorNode\",\"displayName\":\"Attribute Collector\"}],\"pageDescription\":{\"en\":\"Enter your email address or Sign in\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -62974,10 +75961,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"86486605\"" - }, { "name": "expires", "value": "0" @@ -62992,15 +75975,15 @@ }, { "name": "content-length", - "value": "444" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63019,14 +76002,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 784, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.172Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:17.461Z", + "time": 166, "timings": { "blocked": -1, "connect": -1, @@ -63034,11 +76017,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 166 } }, { - "_id": "a29b15509bfa143274bd3ea0b788b0b5", + "_id": "d784eac328f02a92f02b8daab73886c8", "_order": 0, "cache": {}, "request": { @@ -63059,11 +76042,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63078,18 +76061,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1999, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/e4c752f9-c625-48c9-9644-a58802fa9e9c" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders" }, "response": { - "bodySize": 391, + "bodySize": 148, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 391, - "text": "{\"_id\":\"e4c752f9-c625-48c9-9644-a58802fa9e9c\",\"_rev\":\"1593283676\",\"nodes\":[{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Change password\"},\"pageHeader\":{\"en\":\"Reset Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 148, + "text": "{\"_id\":\"\",\"_rev\":\"1077208638\",\"enabled\":true,\"_type\":{\"_id\":\"SocialIdentityProviders\",\"name\":\"Social Identity Provider Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -63127,7 +76110,7 @@ }, { "name": "etag", - "value": "\"1593283676\"" + "value": "\"1077208638\"" }, { "name": "expires", @@ -63143,15 +76126,15 @@ }, { "name": "content-length", - "value": "391" + "value": "148" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63176,8 +76159,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.173Z", - "time": 79, + "startedDateTime": "2024-11-05T21:22:17.462Z", + "time": 177, "timings": { "blocked": -1, "connect": -1, @@ -63185,11 +76168,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 79 + "wait": 177 } }, { - "_id": "f3f9337e10507effd4631d3de5c88e5e", + "_id": "864db2aced2e25acf21b709449360ad3", "_order": 0, "cache": {}, "request": { @@ -63210,11 +76193,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63229,18 +76212,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2017, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/009c19c8-9572-47bb-adb2-1f092c559a43" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/selfServiceTrees?_action=nextdescendents" }, "response": { - "bodySize": 257, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"009c19c8-9572-47bb-adb2-1f092c559a43\",\"_rev\":\"519412822\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -63276,10 +76264,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"519412822\"" - }, { "name": "expires", "value": "0" @@ -63294,15 +76278,15 @@ }, { "name": "content-length", - "value": "257" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63321,14 +76305,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.269Z", - "time": 72, + "startedDateTime": "2024-11-05T21:22:17.462Z", + "time": 184, "timings": { "blocked": -1, "connect": -1, @@ -63336,11 +76320,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 184 } }, { - "_id": "70a45063a7cd06c293e9a6f5af3953d9", + "_id": "9c24c392d5ec59518b53b6c98a036372", "_order": 0, "cache": {}, "request": { @@ -63361,11 +76345,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63380,18 +76364,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2067, + "headersSize": 2024, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributeCollectorNode/276afa7c-a680-4cf4-a5f6-d6c78191f5c9" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/SocialIdentityProviders?_action=nextdescendents" }, "response": { - "bodySize": 307, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 307, - "text": "{\"_id\":\"276afa7c-a680-4cf4-a5f6-d6c78191f5c9\",\"_rev\":\"-1256358519\",\"attributesToCollect\":[\"mail\"],\"identityAttribute\":\"mail\",\"validateInputs\":false,\"required\":true,\"_type\":{\"_id\":\"AttributeCollectorNode\",\"name\":\"Attribute Collector\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -63427,10 +76416,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1256358519\"" - }, { "name": "expires", "value": "0" @@ -63445,15 +76430,15 @@ }, { "name": "content-length", - "value": "307" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63472,13 +76457,13 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.269Z", + "startedDateTime": "2024-11-05T21:22:17.463Z", "time": 78, "timings": { "blocked": -1, @@ -63491,7 +76476,7 @@ } }, { - "_id": "ce27188d5e7080f58dbd99f0d1035fbe", + "_id": "ef998d020afb2e38925faf9edcac264b", "_order": 0, "cache": {}, "request": { @@ -63512,11 +76497,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63531,18 +76516,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2022, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/trees/UpdatePassword" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/oauth-oidc?_action=nextdescendents" }, "response": { - "bodySize": 1887, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1887, - "text": "{\"_id\":\"UpdatePassword\",\"_rev\":\"1686140325\",\"identityResource\":\"managed/bravo_user\",\"uiConfig\":{\"categories\":\"[\\\"Password Reset\\\"]\"},\"entryNodeId\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"innerTreeOnly\":false,\"nodes\":{\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\":{\"connections\":{\"false\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"true\":\"20237b34-26cb-4a0b-958f-abb422290d42\"},\"displayName\":\"Attribute Present Decision\",\"nodeType\":\"AttributePresentDecisionNode\",\"x\":288,\"y\":133},\"20237b34-26cb-4a0b-958f-abb422290d42\":{\"connections\":{\"outcome\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":526,\"y\":46},\"3990ce1f-cce6-435b-ae1c-f138e89411c1\":{\"connections\":{\"FAILURE\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"PATCHED\":\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\"},\"displayName\":\"Patch Object\",\"nodeType\":\"PatchObjectNode\",\"x\":1062,\"y\":189},\"7d1deabe-cd98-49c8-943f-ca12305775f3\":{\"connections\":{\"false\":\"e301438c-0bd0-429c-ab0c-66126501069a\",\"true\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Data Store Decision\",\"nodeType\":\"DataStoreDecisionNode\",\"x\":722,\"y\":45},\"a3d97b53-e38a-4b24-aed0-a021050eb744\":{\"connections\":{\"outcome\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\"},\"displayName\":\"Email Suspend Node\",\"nodeType\":\"EmailSuspendNode\",\"x\":659,\"y\":223},\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\":{\"connections\":{\"outcome\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\"},\"displayName\":\"Page Node\",\"nodeType\":\"PageNode\",\"x\":943,\"y\":30},\"d1b79744-493a-44fe-bc26-7d324a8caa4e\":{\"connections\":{\"outcome\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\"},\"displayName\":\"Get Session Data\",\"nodeType\":\"SessionDataNode\",\"x\":122,\"y\":129}},\"description\":\"Update password using active session\",\"staticNodes\":{\"70e691a5-1e33-4ac3-a356-e7b6d60d92e0\":{\"x\":1212,\"y\":128},\"e301438c-0bd0-429c-ab0c-66126501069a\":{\"x\":939,\"y\":290},\"startNode\":{\"x\":50,\"y\":25}},\"mustRun\":false,\"enabled\":true}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -63578,10 +76568,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"1686140325\"" - }, { "name": "expires", "value": "0" @@ -63596,15 +76582,15 @@ }, { "name": "content-length", - "value": "1887" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63623,14 +76609,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.351Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:17.465Z", + "time": 203, "timings": { "blocked": -1, "connect": -1, @@ -63638,11 +76624,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 203 } }, { - "_id": "52f4ddcf1db967208508a9995fd8e71e", + "_id": "5854232707369b3351cccfd047e0b48e", "_order": 0, "cache": {}, "request": { @@ -63663,11 +76649,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63682,88 +76668,144 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2073, + "headersSize": 1991, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/AttributePresentDecisionNode/0f0904e6-1da3-4cdb-9abf-0d2545016fab" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories" }, "response": { - "bodySize": 315, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 315, - "text": "{\"_id\":\"0f0904e6-1da3-4cdb-9abf-0d2545016fab\",\"_rev\":\"-1218497043\",\"presentAttribute\":\"password\",\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"AttributePresentDecisionNode\",\"name\":\"Attribute Present Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "cache-control", + "value": "private, no-store" }, { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "cache-control", - "value": "private" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { - "name": "content-api-version", - "value": "resource=2.0" + "name": "via", + "value": "1.1 google" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { - "name": "cross-origin-opener-policy", - "value": "same-origin" + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 292, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 403, + "statusText": "Forbidden" + }, + "startedDateTime": "2024-11-05T21:22:17.466Z", + "time": 97, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 97 + } + }, + { + "_id": "a51b239eab51fcc0dd0f8318612e0fe1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" }, { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "content-type", + "value": "application/json" }, { - "name": "etag", - "value": "\"-1218497043\"" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "expires", - "value": "0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { - "name": "pragma", - "value": "no-cache" + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "authorization", + "value": "Bearer " }, { - "name": "content-length", - "value": "315" + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2016, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/id-repositories?_action=nextdescendents" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "via", @@ -63772,16 +76814,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 787, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:21.421Z", - "time": 88, + "startedDateTime": "2024-11-05T21:22:17.468Z", + "time": 93, "timings": { "blocked": -1, "connect": -1, @@ -63789,11 +76835,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 88 + "wait": 93 } }, { - "_id": "b4ab166fd09bdea0c7e62076a533fecc", + "_id": "02de68169a4bfc9a868495c69693abec", "_order": 0, "cache": {}, "request": { @@ -63814,11 +76860,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63833,18 +76879,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 1996, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/20237b34-26cb-4a0b-958f-abb422290d42" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService" }, "response": { - "bodySize": 408, + "bodySize": 135, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 408, - "text": "{\"_id\":\"20237b34-26cb-4a0b-958f-abb422290d42\",\"_rev\":\"1965792723\",\"nodes\":[{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter current password\"},\"pageHeader\":{\"en\":\"Verify Existing Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 135, + "text": "{\"_id\":\"\",\"_rev\":\"-945038405\",\"enabled\":true,\"_type\":{\"_id\":\"pingOneWorkerService\",\"name\":\"PingOne Worker Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -63882,7 +76928,7 @@ }, { "name": "etag", - "value": "\"1965792723\"" + "value": "\"-945038405\"" }, { "name": "expires", @@ -63898,15 +76944,15 @@ }, { "name": "content-length", - "value": "408" + "value": "135" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -63931,8 +76977,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.422Z", - "time": 86, + "startedDateTime": "2024-11-05T21:22:17.469Z", + "time": 175, "timings": { "blocked": -1, "connect": -1, @@ -63940,11 +76986,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 86 + "wait": 175 } }, { - "_id": "061cfeba7c8726e4a2e9f2e68f40f972", + "_id": "2953e2057e337bd2211699eea5ff1098", "_order": 0, "cache": {}, "request": { @@ -63965,11 +77011,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -63984,18 +77030,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2021, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/DataStoreDecisionNode/7d1deabe-cd98-49c8-943f-ca12305775f3" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/pingOneWorkerService?_action=nextdescendents" }, "response": { - "bodySize": 238, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 238, - "text": "{\"_id\":\"7d1deabe-cd98-49c8-943f-ca12305775f3\",\"_rev\":\"869693667\",\"_type\":{\"_id\":\"DataStoreDecisionNode\",\"name\":\"Data Store Decision\",\"collection\":true},\"_outcomes\":[{\"id\":\"true\",\"displayName\":\"True\"},{\"id\":\"false\",\"displayName\":\"False\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64031,10 +77082,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"869693667\"" - }, { "name": "expires", "value": "0" @@ -64049,15 +77096,15 @@ }, { "name": "content-length", - "value": "238" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64076,14 +77123,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.423Z", - "time": 74, + "startedDateTime": "2024-11-05T21:22:17.471Z", + "time": 205, "timings": { "blocked": -1, "connect": -1, @@ -64091,11 +77138,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 205 } }, { - "_id": "26eb33fe1dd52407465bf5ddd1eb972a", + "_id": "79f6bd8f783eaf4ca302e8cb4ef51612", "_order": 0, "cache": {}, "request": { @@ -64116,11 +77163,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64135,18 +77182,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 1983, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PatchObjectNode/3990ce1f-cce6-435b-ae1c-f138e89411c1" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl" }, "response": { - "bodySize": 358, + "bodySize": 178, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 358, - "text": "{\"_id\":\"3990ce1f-cce6-435b-ae1c-f138e89411c1\",\"_rev\":\"-1754119521\",\"identityResource\":\"managed/bravo_user\",\"patchAsObject\":false,\"ignoredFields\":[\"userName\"],\"identityAttribute\":\"userName\",\"_type\":{\"_id\":\"PatchObjectNode\",\"name\":\"Patch Object\",\"collection\":true},\"_outcomes\":[{\"id\":\"PATCHED\",\"displayName\":\"Patched\"},{\"id\":\"FAILURE\",\"displayName\":\"Failed\"}]}" + "size": 178, + "text": "{\"_id\":\"\",\"_rev\":\"-1889820858\",\"source\":\"REQUEST_VALUES\",\"fixedValue\":\"https://&{fqdn}\",\"contextPath\":\"/am\",\"_type\":{\"_id\":\"baseurl\",\"name\":\"Base URL Source\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -64184,7 +77231,7 @@ }, { "name": "etag", - "value": "\"-1754119521\"" + "value": "\"-1889820858\"" }, { "name": "expires", @@ -64200,15 +77247,15 @@ }, { "name": "content-length", - "value": "358" + "value": "178" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64233,8 +77280,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.423Z", - "time": 81, + "startedDateTime": "2024-11-05T21:22:17.472Z", + "time": 166, "timings": { "blocked": -1, "connect": -1, @@ -64242,11 +77289,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 81 + "wait": 166 } }, { - "_id": "41c96f35aaab454053f1ade7135ff2d4", + "_id": "8ed1b03474e06c05baf83c5ce1d75ab6", "_order": 0, "cache": {}, "request": { @@ -64267,11 +77314,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64286,18 +77333,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2053, + "headersSize": 2008, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/PageNode/d018fcd1-4e22-4160-8c41-63bee51c9cb3" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/baseurl?_action=nextdescendents" }, "response": { - "bodySize": 396, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 396, - "text": "{\"_id\":\"d018fcd1-4e22-4160-8c41-63bee51c9cb3\",\"_rev\":\"-1359533036\",\"nodes\":[{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"nodeType\":\"ValidatedPasswordNode\",\"displayName\":\"Platform Password\"}],\"pageDescription\":{\"en\":\"Enter new password\"},\"pageHeader\":{\"en\":\"Update Password\"},\"_type\":{\"_id\":\"PageNode\",\"name\":\"Page Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64333,10 +77385,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-1359533036\"" - }, { "name": "expires", "value": "0" @@ -64351,15 +77399,15 @@ }, { "name": "content-length", - "value": "396" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64378,14 +77426,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.424Z", - "time": 102, + "startedDateTime": "2024-11-05T21:22:17.473Z", + "time": 212, "timings": { "blocked": -1, "connect": -1, @@ -64393,11 +77441,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 102 + "wait": 212 } }, { - "_id": "3a06885b2edb4f816e983497e1067f9a", + "_id": "37569ca7fa59cbe4a83adb2c86047fbd", "_order": 0, "cache": {}, "request": { @@ -64418,11 +77466,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64437,18 +77485,18 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2061, + "headersSize": 1986, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/EmailSuspendNode/a3d97b53-e38a-4b24-aed0-a021050eb744" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation" }, "response": { - "bodySize": 485, + "bodySize": 175, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 485, - "text": "{\"_id\":\"a3d97b53-e38a-4b24-aed0-a021050eb744\",\"_rev\":\"-1059437256\",\"emailSuspendMessage\":{\"en\":\"An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.\"},\"emailTemplateName\":\"updatePassword\",\"identityAttribute\":\"userName\",\"emailAttribute\":\"mail\",\"objectLookup\":true,\"_type\":{\"_id\":\"EmailSuspendNode\",\"name\":\"Email Suspend Node\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 175, + "text": "{\"_id\":\"\",\"_rev\":\"896681690\",\"validGotoDestinations\":[\"&{am.server.protocol|https}://&{fqdn}/*?*\"],\"_type\":{\"_id\":\"validation\",\"name\":\"Validation Service\",\"collection\":false}}" }, "cookies": [], "headers": [ @@ -64486,7 +77534,7 @@ }, { "name": "etag", - "value": "\"-1059437256\"" + "value": "\"896681690\"" }, { "name": "expires", @@ -64502,15 +77550,15 @@ }, { "name": "content-length", - "value": "485" + "value": "175" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64529,14 +77577,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 785, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.424Z", - "time": 115, + "startedDateTime": "2024-11-05T21:22:17.474Z", + "time": 177, "timings": { "blocked": -1, "connect": -1, @@ -64544,11 +77592,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 177 } }, { - "_id": "c3628e7bc663e74b269131ae9770fb48", + "_id": "5ba208b28b7723a17eb51fee8c500317", "_order": 0, "cache": {}, "request": { @@ -64569,11 +77617,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64588,18 +77636,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2060, + "headersSize": 2011, "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/SessionDataNode/d1b79744-493a-44fe-bc26-7d324a8caa4e" + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/validation?_action=nextdescendents" }, "response": { - "bodySize": 256, + "bodySize": 13, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 256, - "text": "{\"_id\":\"d1b79744-493a-44fe-bc26-7d324a8caa4e\",\"_rev\":\"-716667889\",\"sessionDataKey\":\"UserToken\",\"sharedStateKey\":\"userName\",\"_type\":{\"_id\":\"SessionDataNode\",\"name\":\"Get Session Data\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 13, + "text": "{\"result\":[]}" }, "cookies": [], "headers": [ @@ -64635,10 +77688,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"-716667889\"" - }, { "name": "expires", "value": "0" @@ -64653,15 +77702,15 @@ }, { "name": "content-length", - "value": "256" + "value": "13" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64680,14 +77729,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 786, + "headersSize": 765, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.425Z", - "time": 65, + "startedDateTime": "2024-11-05T21:22:17.475Z", + "time": 153, "timings": { "blocked": -1, "connect": -1, @@ -64695,11 +77744,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 65 + "wait": 153 } }, { - "_id": "15c405cb6237271ceb5de77015a8fadf", + "_id": "ee48dfbbaf2f3eca24540288af8b91fb", "_order": 0, "cache": {}, "request": { @@ -64720,11 +77769,11 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", - "value": "protocol=2.1,resource=2.0" + "value": "protocol=2.0,resource=2.0" }, { "name": "authorization", @@ -64739,88 +77788,144 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 1992, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/fe2962fc-4db3-4066-8624-553649afc438" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService" }, "response": { - "bodySize": 258, + "bodySize": 114, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 258, - "text": "{\"_id\":\"fe2962fc-4db3-4066-8624-553649afc438\",\"_rev\":\"875005143\",\"passwordAttribute\":\"password\",\"validateInput\":false,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "cache-control", + "value": "private, no-store" }, { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { - "name": "x-content-type-options", - "value": "nosniff" + "name": "strict-transport-security", + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "cache-control", - "value": "private" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { - "name": "content-api-version", - "value": "resource=2.0" + "name": "via", + "value": "1.1 google" }, { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { - "name": "cross-origin-opener-policy", - "value": "same-origin" + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 292, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 403, + "statusText": "Forbidden" + }, + "startedDateTime": "2024-11-05T21:22:17.476Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "59a849d0d0f5b95d886adecc30f2c31a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" }, { - "name": "cross-origin-resource-policy", - "value": "same-origin" + "name": "content-type", + "value": "application/json" }, { - "name": "etag", - "value": "\"875005143\"" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.2.0" }, { - "name": "expires", - "value": "0" + "name": "x-forgerock-transactionid", + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { - "name": "pragma", - "value": "no-cache" + "name": "accept-api-version", + "value": "protocol=2.0,resource=2.0" }, { - "name": "content-type", - "value": "application/json;charset=UTF-8" + "name": "authorization", + "value": "Bearer " }, { - "name": "content-length", - "value": "258" + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { - "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 2017, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [ + { + "name": "_action", + "value": "nextdescendents" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/services/DataStoreService?_action=nextdescendents" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 114, + "text": "{\"code\":403,\"reason\":\"Forbidden\",\"message\":\"This operation is not available in PingOne Advanced Identity Cloud.\"}" + }, + "cookies": [], + "headers": [ + { + "name": "cache-control", + "value": "no-cache" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "name": "content-type", + "value": "application/json;charset=UTF-8" }, { "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" + "value": "max-age=31536000;includeSubDomains;preload" }, { - "name": "x-robots-tag", - "value": "none" + "name": "date", + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "via", @@ -64829,16 +77934,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 785, + "headersSize": 283, "httpVersion": "HTTP/1.1", "redirectURL": "", - "status": 200, - "statusText": "OK" + "status": 403, + "statusText": "Forbidden" }, - "startedDateTime": "2024-10-22T22:47:21.544Z", - "time": 66, + "startedDateTime": "2024-11-05T21:22:17.477Z", + "time": 87, "timings": { "blocked": -1, "connect": -1, @@ -64846,11 +77955,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 66 + "wait": 87 } }, { - "_id": "5f8e2c793bba8b45f4ceeaf69df39200", + "_id": "b17830af4c37e305aeb21940488c6ddb", "_order": 0, "cache": {}, "request": { @@ -64871,7 +77980,7 @@ }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "accept-api-version", @@ -64890,18 +77999,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 2066, + "headersSize": 2008, "httpVersion": "HTTP/1.1", "method": "GET", - "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/authentication/authenticationtrees/nodes/ValidatedPasswordNode/21a99653-a7a7-47ee-b650-f493a84bba09" + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/bravo/realm-config/agents/TrustedJwtIssuer?_queryFilter=true" }, "response": { - "bodySize": 257, + "bodySize": 138, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 257, - "text": "{\"_id\":\"21a99653-a7a7-47ee-b650-f493a84bba09\",\"_rev\":\"688403743\",\"passwordAttribute\":\"password\",\"validateInput\":true,\"_type\":{\"_id\":\"ValidatedPasswordNode\",\"name\":\"Platform Password\",\"collection\":true},\"_outcomes\":[{\"id\":\"outcome\",\"displayName\":\"Outcome\"}]}" + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ @@ -64937,10 +78051,6 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, - { - "name": "etag", - "value": "\"688403743\"" - }, { "name": "expires", "value": "0" @@ -64955,15 +78065,15 @@ }, { "name": "content-length", - "value": "257" + "value": "138" }, { "name": "date", - "value": "Tue, 22 Oct 2024 22:47:21 GMT" + "value": "Tue, 05 Nov 2024 21:22:17 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-7bf97fe7-952a-4afa-b2bf-49127ce946ed" + "value": "frodo-840de1ba-3a61-4f2d-b535-569695b44c2b" }, { "name": "strict-transport-security", @@ -64982,14 +78092,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 785, + "headersSize": 766, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-10-22T22:47:21.544Z", - "time": 67, + "startedDateTime": "2024-11-05T21:22:17.772Z", + "time": 64, "timings": { "blocked": -1, "connect": -1, @@ -64997,7 +78107,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 67 + "wait": 64 } } ], diff --git a/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/1-Export-all-scripts_4159107411/recording.har b/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/1-Export-all-scripts_4159107411/recording.har index 2b2673aab..5c76c5e97 100644 --- a/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/1-Export-all-scripts_4159107411/recording.har +++ b/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/1-Export-all-scripts_4159107411/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -48,7 +48,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1641, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -60,11 +60,11 @@ "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" }, "response": { - "bodySize": 464939, + "bodySize": 433770, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 464939, - "text": "{\"result\":[{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae52680-c1ea-4a4b-be80-25db364d822a\",\"name\":\"wks-ReadUserName\",\"description\":\"Reading userName from Query Parameter \",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJmYWxzZSI7CmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikpIHsKICAgIHZhciB1c2VyTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikuZ2V0KDApKTsKICAgIHZhciBvYmplY3RBdHRyaWJ1dGVzID0gewogICAgICB1c2VyTmFtZTogdXNlck5hbWUKICAgIH0KICBzaGFyZWRTdGF0ZS5wdXQoIm9iamVjdEF0dHJpYnV0ZXMiLCBvYmplY3RBdHRyaWJ1dGVzKTsKICBvdXRjb21lID0gInRydWUiOwp9Ci8qCmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoImVtYWlsIikpIHsKICAgIHZhciBleHRlcm5hbGVtYWlsID0gcmVxdWVzdFBhcmFtZXRlcnMuZ2V0KCJlbWFpbCIpLmdldCgwKTsKICAgIHZhciBkZWNvZGVkRW1haWwgPSBkZWNvZGVVUklDb21wb25lbnQoZXh0ZXJuYWxlbWFpbCk7CiAgICB2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHsKICAgICAgZnJJbmRleGVkU3RyaW5nNTogZGVjb2RlZEVtYWlsCiAgICB9CiAgc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQoqLwoKCgoK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0cc09f53-7183-4829-a93a-1b3308318ba9\",\"name\":\"havePush.js\",\"description\":\"null\",\"script\":\"dmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpOwppZihwdXNoRGV2aWNlUHJvZmlsZXMubGVuPjApIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cgp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6aa47a41-af3d-4df3-a7a1-b1766cfeaf6b\",\"name\":\"wks-NEO-Twillio\",\"description\":\"null\",\"script\":\"LyoqCiAqIEBmaWxlIFRoaXMgc2NyaXB0IGRlbGl2ZXJzIGEgbWVzc2FnZSB3aXRoIHZhbHVlcyBmcm9tIHNoYXJlZCBzdGF0ZSB2aWEgVHdpbGlvIFNNUywgdXNpbmcgdGhlIGN1cnJlbnQgdXNlcidzIHRlbGVwaG9uZU51bWJlcgogKiBAdmVyc2lvbiAwLjEuMQogKiBAa2V5d29yZHMgc21zIG90cCBtZmEgdHdpbGlvIAogKi8KCi8qKgogKiBFbnZpcm9ubWVudCBzcGVjaWZpYyBUd2lsaW8gY29uZmlnIAogKi8KCnZhciB0d2lsaW9BY2NvdW50U2lkID0gIjxzZWNyZXQ+IjsgICAKdmFyIHR3aWxpb0FwaUtleVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9BcGlLZXlTZWNyZXQgPSAiPHNlY3JldD4iOwp2YXIgdHdpbGlvTWVzc2FnaW5nU2VydmljZVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9QaG9uZU51bWJlckZyb20gPSAiPHNlY3JldD4iOyAgICAKCi8qKgogKiBGdWxsIENvbmZpZ3VyYXRpb24gCiAqLwoKdmFyIGNvbmZpZyA9IHsKICAgIGFjY291bnRTaWQ6IHR3aWxpb0FjY291bnRTaWQsICAgIAogICAgYXBpS2V5U2lkOiB0d2lsaW9BcGlLZXlTaWQsCiAgICBhcGlLZXlTZWNyZXQ6IHR3aWxpb0FwaUtleVNlY3JldCwKICAgIHBob25lTnVtYmVyRnJvbTogdHdpbGlvUGhvbmVOdW1iZXJGcm9tLCAKICAgIG1lc3NhZ2luZ1NlcnZpY2VTaWQ6IHR3aWxpb01lc3NhZ2luZ1NlcnZpY2VTaWQsIAogICAgYmFzZVVyaTogImh0dHBzOi8vYXBpLnR3aWxpby5jb20vMjAxMC0wNC0wMSIsCiAgICBzaGFyZWRTdGF0ZUlkRmllbGQ6ICJfaWQiLAogICAgcGhvbmVOdW1iZXJGaWVsZDogInRlbGVwaG9uZU51bWJlciIsCiAgICBtZXNzYWdlVGVtcGxhdGU6ICJZb3VyIHNlY3VyaXR5IGNvZGUgaXMge3tvbmVUaW1lUGFzc3dvcmR9fSIsCiAgICBub2RlTmFtZTogInR3aWxpb1NtcyIKfTsKCi8qKgogKiBOb2RlIG91dGNvbWVzCiAqLwoKIHZhciBOb2RlT3V0Y29tZSA9IHsKICAgIERFTElWRVJFRDogICJkZWxpdmVyZWQiLAogICAgQVVUSEZBSUxFRDogImF1dGhGYWlsZWQiLAogICAgTk9QSE9ORTogICAgIm5vUGhvbmUiLAogICAgRVJST1I6ICAgICAgImVycm9yIgp9OwoKLyoqCiAqIEV4dGVybmFsIGRlcGVuZGVuY2llcwogKi8KCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sudXRpbC5lbmNvZGUuQmFzZTY0LAogICAgamF2YS5sYW5nLlN0cmluZwopOwoKLyoqCiAqIEFkZCB0aGUgbm9kZSBpbmZvIHByZWZpeCB0byBhIGxvZyBtZXNzYWdlCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gdGhlIG1lc3NhZ2UgYm9keQogKiBAcmV0dXJucyBhIHRhZ2dlZCB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlCiAqLwpmdW5jdGlvbiB0YWcobWVzc2FnZSkgewogICAgcmV0dXJuICIqKioiLmNvbmNhdChjb25maWcubm9kZU5hbWUpLmNvbmNhdCgiICIpLmNvbmNhdChtZXNzYWdlKTsKfQoKLyoqCiAqIExvZyBhbiBIVFRQIHJlc3BvbnNlCiAqIAogKiBAcGFyYW0ge1Jlc3BvbnNlfSBIVFRQIHJlc3BvbnNlIG9iamVjdAogKi8KZnVuY3Rpb24gbG9nUmVzcG9uc2UocmVzcG9uc2UpIHsKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiU2NyaXB0ZWQgTm9kZSBIVFRQIFJlc3BvbnNlOiAiICsgcmVzcG9uc2UuZ2V0U3RhdHVzKCkgKyAiLCBCb2R5OiAiICsgcmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpKTsKfQoKLyoqCiAqIFJlc29sdmUgaGFuZGxlYmFyIHBsYWNlaG9sZGVycyBmcm9tIHNoYXJlZCBzdGF0ZQogKiAKICogQHBhcmFtIHt0ZW1wbGF0ZX0gaGFuZGxlYmFyIHRlbXBsYXRlCiAqLwpmdW5jdGlvbiByZXNvbHZlUGxhY2Vob2xkZXJzKHRlbXBsYXRlKSB7CiAgY29uc3QgcmVnZXggPSAve3suKj99fS9nOwogIGNvbnN0IHZhcmlhYmxlcyA9IHRlbXBsYXRlLm1hdGNoKHJlZ2V4KTsKCiAgaWYgKCF2YXJpYWJsZXMpIHsKICAgIHJldHVybiB0ZW1wbGF0ZTsKICB9CiAgCiAgdmFyIHJlc3VsdCA9IHRlbXBsYXRlOwogIAogIHZhcmlhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uIHN1YihlbGVtZW50KSB7IAogICAgdmFyIHZhck5hbWUgPSBlbGVtZW50LnJlcGxhY2UoL1t7fV0vZywiIik7CiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShlbGVtZW50LHNoYXJlZFN0YXRlLmdldCh2YXJOYW1lKSk7CiAgfSk7CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKLyoqCiAqIFNlbmQgYW4gU01TIHZpYSBUd2lsaW8KICogCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UgdG8gc2VuZAogKiBAcGFyYW0ge3N0cmluZ30gbnVtYmVyRnJvbSAtIFRoZSBvcmlnaW5hdGluZyBwaG9uZSBudW1iZXIvc2hvcnRjb2RlCiAqIEBwYXJhbSB7c3RyaW5nfSBudW1iZXJUbyAtIFRoZSBwaG9uZSBudW1iZXIgdG8gc2VuZCB0bwogKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnaW5nU2VydmljZVNpZCAtIFR3aWxpbyBtZXNzYWdpbmcgc2VydmljZSBTSUQKICogQHBhcmFtIHtzdHJpZ30gdXJpIC0gVGhlIFVSSSBvZiB0aGUgVHdpbGlvIEFQSSBlbmRwb2ludCAKICogQHBhcmFtIHtzdHJpbmd9IHNpZCAtIFRoZSBUd2lsaW8gYWNjb3VudCBvciBBUEkga2V5IFNJRAogKiBAcGFyYW0geyp9IHNlY3JldCAtIFRoZSBUd2lsaW8gYWNjb3VudCBhdXRoa2V5IG9yIEFQSSBrZXkgc2VjcmV0CiAqIEByZXR1cm5zIC0gQSBub2RlIG91dGNvbWUgCiAqLwpmdW5jdGlvbiBzZW5kU01TKG1lc3NhZ2UsIG51bWJlckZyb20sIG51bWJlclRvLCBtZXNzYWdpbmdTZXJ2aWNlU2lkLCB1cmksIHNpZCwgc2VjcmV0KSB7CgogICAgbG9nZ2VyLm1lc3NhZ2UodGFnKCJDYWxsaW5nIFR3aWxpbyBlbmRwb2ludCAiICsgdXJpKSk7CiAgICBsb2dnZXIubWVzc2FnZSh0YWcoIlNlbmRpbmcgdG8gIiArIG51bWJlclRvKSk7CgogICAgLy8gVHdpbGlvIHNlZW1zIG5vdCB0byBleHBlY3QgdGhlIGZvcm0gdmFsdWVzIHRvIGJlIFVSTCBlbmNvZGVkCgogICAgY29uc3QgcmVxdWVzdEJvZHkgPSAiQm9keT0iLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQobWVzc2FnZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZGcm9tPSIpLmNvbmNhdChudW1iZXJGcm9tKSAgCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZUbz0iKS5jb25jYXQobnVtYmVyVG8pCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZNZXNzYWdpbmdTZXJ2aWNlU2lkPSIpLmNvbmNhdChtZXNzYWdpbmdTZXJ2aWNlU2lkKTsKICAKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiTWVzc2FnZSBib2R5ICIgKyByZXF1ZXN0Qm9keSkpOwoKICAgIGNvbnN0IGJhc2ljQXV0aCA9IGZyLkJhc2U2NC5lbmNvZGUoZnIuU3RyaW5nKHNpZC5jb25jYXQoIjoiKS5jb25jYXQoc2VjcmV0KSkuZ2V0Qnl0ZXMoKSk7CiAgICAKICAgIHZhciByZXNwb25zZTsKCiAgICB0cnkgewogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIlBPU1QiKTsKICAgICAgICByZXF1ZXN0LnNldFVyaSh1cmkpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQXV0aG9yaXphdGlvbiIsIkJhc2ljICIgKyBiYXNpY0F1dGgpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgcmVxdWVzdC5nZXRFbnRpdHkoKS5zZXRTdHJpbmcocmVxdWVzdEJvZHkpOwoKICAgICAgICByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIH0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiRXhjZXB0aW9uIGNhbGxpbmcgdHdpbGlvIGVuZHBvaW50ICIgKyBlKSk7CiAgICAgICAgcmV0dXJuIE5vZGVPdXRjb21lLkVSUk9SOwogICAgfQoKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLmdldFN0YXR1cygpLmdldENvZGUoKTsKCiAgICBpZiAoc3RhdHVzID09PSA0MDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJUd2lsaW8gYXV0aGVudGljYXRpb24gZmFpbGVkIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5BVVRIRkFJTEVEOyAgICAKICAgIH0KCiAgICBpZiAoc3RhdHVzICE9PSAyMDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJCYWQgSFRUUCByZXNwb25zZSBmcm9tIFR3aWxpbzogIiArIHN0YXR1cykpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsgICAgCiAgICB9CgogICAgdmFyIHJlc3BvbnNlSnNvbiA9IHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpOwoKICAgIGlmICghcmVzcG9uc2VKc29uKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIHZhciByZXNwb25zZU9iaiA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uKTsKCiAgICBpZiAoIXJlc3BvbnNlT2JqKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIGlmICghKHJlc3BvbnNlT2JqLmhhc093blByb3BlcnR5KCJzaWQiKSkpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBzaWQgcHJvcGVydHkgaW4gVHdpbGlvIHJlc3BvbnNlIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsKICAgIH0gIAoKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygibWVzc2FnZSBkZWxpdmVyZWQgc3VjY2Vzc2Z1bGx5IikpOwogICAgcmV0dXJuIE5vZGVPdXRjb21lLkRFTElWRVJFRDsKfQoKLyoqCiAqIE5vZGUgZW50cnkgcG9pbnQKICovCgpsb2dnZXIubWVzc2FnZSh0YWcoIm5vZGUgZXhlY3V0aW5nIikpOwoKdmFyIGlkOwp2YXIgdGVsZXBob25lTnVtYmVyczsKdmFyIG51bWJlclRvOwoKaWYgKCEoaWQgPSBzaGFyZWRTdGF0ZS5nZXQoY29uZmlnLnNoYXJlZFN0YXRlSWRGaWVsZCkpKSB7CiAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBpZCBpbiBzaGFyZWQgc3RhdGUiKSk7CiAgICBvdXRjb21lID0gTm9kZU91dGNvbWUuRVJST1I7Cn0KZWxzZSBpZiAoISh0ZWxlcGhvbmVOdW1iZXJzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgY29uZmlnLnBob25lTnVtYmVyRmllbGQpKSkgewogICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcGhvbmUgbnVtYmVycyBmb3IgdXNlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKCEobnVtYmVyVG8gPSB0ZWxlcGhvbmVOdW1iZXJzLnRvQXJyYXkoKVswXSkpIHsKICAgIGxvZ2dlci5lcnJvcih0YWcoIm5vIHRlbGVwaG9uZU51bWJlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKG51bWJlclRvID09PSAiIikgewogICAgbG9nZ2VyLmVycm9yKHRhZygiYmxhbmsgdGVsZXBob25lTnVtYmVyIikpOwogICAgb3V0Y29tZSA9IE5vZGVPdXRjb21lLk5PUEhPTkU7Cn0KZWxzZSB7CiAgICB2YXIgbWVzc2FnZSA9IHJlc29sdmVQbGFjZWhvbGRlcnMoY29uZmlnLm1lc3NhZ2VUZW1wbGF0ZSk7CiAgICB2YXIgdHdpbGlvVXJpID0gY29uZmlnLmJhc2VVcmkuY29uY2F0KCIvQWNjb3VudHMvIikuY29uY2F0KGNvbmZpZy5hY2NvdW50U2lkKS5jb25jYXQoIi9NZXNzYWdlcy5qc29uIik7CiAgICBvdXRjb21lID0gc2VuZFNNUyhtZXNzYWdlLCBjb25maWcucGhvbmVOdW1iZXJGcm9tLCBudW1iZXJUbywgY29uZmlnLm1lc3NhZ2luZ1NlcnZpY2VTaWQsIHR3aWxpb1VyaSwgY29uZmlnLmFwaUtleVNpZCwgY29uZmlnLmFwaUtleVNlY3JldCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39e615b2-898e-4178-ba30-f58bcc095797\",\"name\":\"Save MFA Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWYgKHNoYXJlZFN0YXRlLmdldCgid2ViLWF1dGhuLWNoYWxsZW5nZSIpICE9IG51bGwpIHsKICAgIG1mYVR5cGUgPSAid2ViYXV0aG4iOwogIH0gZWxzZSBpZiAoc2hhcmVkU3RhdGUuZ2V0KCJwdXNoUmVnaXN0cmF0aW9uVGltZW91dCIpICE9IG51bGwpIHsKICAgICAgIG1mYVR5cGUgPSAicHVzaCIKICB9CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgW21mYVR5cGVdKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf63df8d-30e4-4839-b671-5b24006a3204\",\"name\":\"MutilevelSelect\",\"description\":\"null\",\"script\":\"Ly8gbGVnYWN5IC0gbXVsdGlwbGUgY2hvaWNlIGNhbGxiYWNrcwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0LAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZSwKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLkNob2ljZUNhbGxiYWNrLAogIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ29uZmlybWF0aW9uQ2FsbGJhY2ssCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuSGlkZGVuVmFsdWVDYWxsYmFjaywKICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2ssCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0SW5wdXRDYWxsYmFjaywKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuQm9vbGVhbkF0dHJpYnV0ZUlucHV0Q2FsbGJhY2sKKTsKCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uKGMpIHsKICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpKjEwfDA7CiAgICAgIHZhciB2ID0gcjsKICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTApOwogIH0pOwp9CgpmdW5jdGlvbiBnZXRDb3VudHJpZXMoZGF0YSkgewogIHZhciBjID0gW107CiAgZGF0YS5mb3JFYWNoKGU9PmMucHVzaChlLm5hbWUpKTsKICByZXR1cm4gYzsKfQoKZnVuY3Rpb24gZ2V0U3RhdGVzKGRhdGEsIGMpIHsKICB2YXIgcyA9IFtdOwogIGRhdGFbY10uc3RhdGVzLmZvckVhY2goZT0+cy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBzOwp9CgpmdW5jdGlvbiBnZXRDaXRpZXMoZGF0YSwgYywgcykgewogIHZhciBjaSA9IFtdOwogIGRhdGFbY10uc3RhdGVzW3NdLmNpdGllcy5mb3JFYWNoKGU9PmNpLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIGNpOwp9CgpmdW5jdGlvbiBnZXREYXRhKCkgewogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICByZXF1ZXN0LnNldFVyaShyZXF1ZXN0VVJMKTsKICByZXF1ZXN0LnNldE1ldGhvZCgnR0VUJyk7CiAgcmVxdWVzdC5nZXRIZWFkZXJzKCkuYWRkKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsnKTsKICAKICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7ICAKICB2YXIgcmVzcG9uc2VDb2RlID0gcmVzcG9uc2UuZ2V0U3RhdHVzKCkuZ2V0Q29kZSgpOwogIGlmIChyZXNwb25zZUNvZGUgPT09IDIwMCkgewogICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogIH0gZWxzZSB7CiAgICByZXR1cm4gbnVsbDsKICB9Cn0KCihmdW5jdGlvbiAoKSB7CiAgdHJ5IHsKICAgIHZhciBhbmNob3IgPSBnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4Jyk7CiAgICB2YXIgZGF0YSA9IGdldERhdGEoKTsKICAgIHZhciBzdGF0ZXMgPSBbXTsKICAgIHZhciBjaXRpZXMgPSBbXTsKICAgIHZhciBzZWxlY3RlZENvdW50cnkgPSAwOwogICAgdmFyIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgc2VsZWN0ZWRDb3VudHJ5ID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKT9wYXJzZUludChub2RlU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKSk6MDsKICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICBzZWxlY3RlZFN0YXRlID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZFN0YXRlJyk/cGFyc2VJbnQobm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpKTowOwogICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgdmFyIGNiTGlzdCA9IFtdOwogICAgICB2YXIgY291bnRyeUNiID0gbmV3IGZyLkNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIGNvdW50cnlDYi5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIGNiTGlzdC5wdXNoKGNvdW50cnlDYik7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICB2YXIgc3RhdGVDYiA9IG5ldyBmci5DaG9pY2VDYWxsYmFjaygnU2VsZWN0IHN0YXRlJywgc3RhdGVzLCBzZWxlY3RlZFN0YXRlLCBmYWxzZSk7CiAgICAgIHN0YXRlQ2Iuc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZFN0YXRlKTsKICAgICAgY2JMaXN0LnB1c2goc3RhdGVDYik7CiAgICAgIGNpdGllcyA9IGdldENpdGllcyhkYXRhLCBzZWxlY3RlZENvdW50cnksIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGBMaXN0IG9mIGNpdGllcyBpbiAke3N0YXRlc1tzZWxlY3RlZFN0YXRlXX1gKSk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGUpKTsKICAgICAgfSk7CgogICAgICB2YXIgc2NyaXB0ID0gYAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnc2NyaXB0IGVudGVyJyk7CiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXNlbGVjdF9fb3B0aW9uJykuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zdCBodkNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlbGVjdGlvbkNoYW5nZWQnKTsKICAgICAgICAgICAgICBjb25zdCBldiA9IG5ldyBFdmVudCgiY2hhbmdlIik7CiAgICAgICAgICAgICAgaHZDYi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3RydWUnKTsKICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaW52b2tpbmcgY2hhbmdlIG9uIGhpZGRlbiB2YWx1ZSBpbnB1dCcpOwogICAgICAgICAgICAgIGh2Q2IuZGlzcGF0Y2hFdmVudChldik7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3N1Ym1pdHRpbmcuLi4nKTsKICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9naW5CdXR0b25fMCcpLmNsaWNrKCk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9KQogICAgICAgICAgfSkKICAgICAgICB9LCA1MCk7CiAgICAgIGA7CiAgICAgIGNiTGlzdC5wdXNoKG5ldyBmci5IaWRkZW5WYWx1ZUNhbGxiYWNrKCdzZWxlY3Rpb25DaGFuZ2VkJywgJ2ZhbHNlJykpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuQ29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydGaW5pc2gnXSwgMCkpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkpOwogICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZC5hcHBseShudWxsLCBjYkxpc3QpLmJ1aWxkKCk7CiAgICB9IGVsc2UgewogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGhpZGRlbiB0ZXh0IGlucHV0OiB7fScsIGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpKTsKICAgICAgaWYgKGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpID09ICd0cnVlJykgeyAvLyBjaGVjayB2YWx1ZSBvZiB0ZXh0IGlucHV0IGNhbGxiYWNrCiAgICAgICAgLy8gb25lIG9mIHRoZSBjYXRlZ29yeSBwaWNrZXJzIHdhcyBjaGFuZ2VkCiAgICAgICAgaWYoc2VsZWN0ZWRDb3VudHJ5ICE9IGNhbGxiYWNrcy5nZXQoMCkuZ2V0U2VsZWN0ZWRJbmRleGVzKClbMF0pIHsKICAgICAgICAgIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZWxlY3RlZFN0YXRlID0gY2FsbGJhY2tzLmdldCgxKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICB9CiAgICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBjb3VudHJ5IHt9Jywgc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOyAgCiAgICAgICAgc2hhcmVkU3RhdGUucHV0KCdzZWxlY3RlZENvdW50cnknLCBzZWxlY3RlZENvdW50cnkpOwogICAgICAgIHNoYXJlZFN0YXRlLnB1dCgnc2VsZWN0ZWRTdGF0ZScsIHNlbGVjdGVkU3RhdGUpOwogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCd1cGRhdGUnKS5idWlsZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHVzZXIgY2xpY2tlZCAiZmluaXNoIgogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCdjb21wbGV0ZScpLmJ1aWxkKCk7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"f203173e-bceb-4e8e-8bde-52f2616b7278\",\"name\":\"pwdlessSet.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwpzZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiLCB0cnVlKTsKaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImFzc2lnbmVkRGFzaGJvYXJkIixbInJlZ2lzdGVyV2ViQXV0aE5EZXZpY2UiLCJzZXRVc2VybmFtZUxlc3MiLCJwZWVyUmVjb3ZlcnlFbWFpbCIsInBlZXJSZWNvdmVyeTFGQSIsICJyZWdpc3RlclB1c2giXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdCA9IEpTT04ucGFyc2UoU3RyaW5nKGZySWRtQ3VzdG9tQXR0cmlidXRlcy50b0FycmF5KClbMF0pKTsKICAgIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV0gPSBjdXN0b21BdHRyVmFsdWU7CiAgICB2YXIganNvbl9zdHJpbmcgPSBKU09OLnN0cmluZ2lmeShmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QpOwogICAgaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImZyLWlkbS1jdXN0b20tYXR0cnMiLFtqc29uX3N0cmluZ10pOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgbWFuYWdlZFVzZXIgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlck5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKQoKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQWRkcmVzcyIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MpCmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgiY2l0eSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24uaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgic3RhdGVQcm92aW5jZSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24pCmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInBvc3RhbENvZGUiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlKQppZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjb3VudHJ5Iiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBob25lLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInRlbGVwaG9uZU51bWJlciIsIG5vcm1hbGl6ZWRQcm9maWxlLnBob25lKQoKLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5Ci8vIHRoZW4gYWRkIGEgYm9vbGVhbiBmbGFnIHRvIHRoZSBzaGFyZWQgc3RhdGUgdG8gaW5kaWNhdGUgbmFtZXMgYXJlIG5vdCBwcmVzZW50Ci8vIHRoaXMgY291bGQgYmUgdXNlZCBlbHNld2hlcmUKLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmcKLy8gdGhlIHVzZXIgb2JqZWN0IHdpdGggYmxhbmsgdmFsdWVzIHdoZW4gZ2l2ZW5OYW1lICBhbmQgZmFtaWx5TmFtZSBpcyBub3QgcHJlc2VudApib29sZWFuIG5vR2l2ZW5OYW1lID0gbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpCnNoYXJlZFN0YXRlLnB1dCgibmFtZUVtcHR5T3JOdWxsIiwgbm9HaXZlbk5hbWUgJiYgbm9GYW1pbHlOYW1lKQoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\",\"name\":\"Test-Script-1\",\"description\":\"A test script that uses an environment variable and a secret variable\",\"script\":\"Ly8gQ2FsY3VsYXRlIEU9bWNeMiB1c2luZyBtID0gNDIKY29uc3QgYzIgPSBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi50ZXN0LnZhcmlhYmxlLmxpZ2h0Iik7CmNvbnNvbGUubG9nKGBFID0gJHs0MiAqIGMyICogYzJ9YCk7Ci8vIENhbGN1bGF0ZSB0aGUgYXJlYSBvZiBhIGNpcmNsZSB3aXRoIHJhZGl1cyByID0gNDIKY29uc3QgcGkgPSBwYXJzZUZsb2F0KHN5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LnBpIikpOwpjb25zb2xlLmxvZyhgQSA9ICR7cGkgKiA0MiAqIDQyfWApOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"29be3f4a-cf40-4aca-8fe3-de40c9a801dd\",\"name\":\"hasWebAuthN.js\",\"description\":\"null\",\"script\":\"dmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKc2hhcmVkU3RhdGUucHV0KCJkZWJ1ZyIsd2ViYXV0aG5EZXZpY2VQcm9maWxlcyk7CmlmKHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMubGVuZ3RoPjIpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3b2f6836-184c-4ee9-8a1d-557cb01837a5\",\"name\":\"FrodoTestScript3\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13aaf8de-cd8c-4b0e-9167-39ca1fb590a4\",\"name\":\"timerButton.js\",\"description\":\"null\",\"script\":\"Ly8gVGltZXIgQnV0dG9uIG5vZGUKLy8gT3V0Y29tZXM6IFsgInRydWUiLCAidGltZXIiIF0KCgpERUxBWT0xMDsKTUVTU0FHRT0iU2tpcCB0byB5b3VyIHByZWZlcnJlZCBtZXRob2QuLi4gIjsKQlVUVE9OVEVYVD0iU2VsZWN0IGFub3RoZXIgbG9naW4gbWV0aG9kIjsKCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5OYW1lQ2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKZnVuY3Rpb24gY3JlYXRlU2NyaXB0KCkgewogICAgcmV0dXJuIFN0cmluZygiIFxuXAogICAgICAgIHZhciBDT1VOVCA9ICIgKyBERUxBWSArICI7IFxuXAogICAgICAgIGZ1bmN0aW9uIGdvKG9icykgeyBcblwKICAgICAgICAgICAgY29uc3QgcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdOyBcblwKICAgICAgICAgICAgaWYgKHApIHsgXG5cCiAgICAgICAgICAgICAgICBwLmhpZGRlbiA9IHRydWU7IFxuXAogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGFiZWxbZm9yPScgKyBwLmlkICsgJ10nKS5oaWRkZW4gPSB0cnVlOyBcblwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpLmlubmVyVGV4dCA9ICciICsgQlVUVE9OVEVYVCArICInOyBcblwKICAgICAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7IFxuXAogICAgICAgICAgICAgICAgYi5jbGFzc0xpc3QuYWRkKFwiYnRuXCIsIFwibXQtM1wiLCBcImJ0bi1zZWNvbmRhcnlcIik7IFxuXAogICAgICAgICAgICAgICAgYi5pbm5lckhUTUwgPSAnIiArIE1FU1NBR0UgKyAiJyArIENPVU5UICsgJ3MnOyBcblwKICAgICAgICAgICAgICAgIGIub25jbGljayA9IGZ1bmN0aW9uKCkgeyBwLnZhbHVlPSdfX19USU1FX19fJzsgcC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7IH07IFxuXAogICAgICAgICAgICAgICAgcC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLCBwLm5leHRTaWJsaW5nKTsgXG5cCiAgICAgICAgICAgICAgICB2YXIgdCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeyBcblwKICAgICAgICAgICAgICAgICAgICBpZiAoQ09VTlQgPT0gMSkgeyBcblwKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0KTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHAudmFsdWU9J19fX1RJTUVfX18nOyBwLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dpbkJ1dHRvbl8wJykuY2xpY2soKTsgfSwgMjAwKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIENPVU5ULS07IFxuXAogICAgICAgICAgICAgICAgICAgICAgICBiLmlubmVySFRNTCA9ICciICsgTUVTU0FHRSArICInICsgQ09VTlQgKyAncyc7IFxuXAogICAgICAgICAgICAgICAgICAgIH0gXG5cCiAgICAgICAgICAgICAgICB9LCAxMDAwICk7IFxuXAogICAgICAgICAgICAgICAgaWYgKG9icykgb2JzLmRpc2Nvbm5lY3QoKTsgXG5cCiAgICAgICAgICAgICAgICByZXR1cm47IFxuXAogICAgICAgICAgICB9IFxuXAogICAgICAgIH0gXG5cCiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdKSBnbygpOyBcblwKICAgICAgICBlbHNlIHsgXG5cCiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucywgb2JzKSA9PiB7IGdvKG9icyk7IH0pOyBcblwKICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7IFxuXAogICAgICAgIH0gXG5cCiAgICAiKTsKfQoKCmlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKGNyZWF0ZVNjcmlwdCgpKSwKICAgICAgICBuZXcgZnIuTmFtZUNhbGxiYWNrKCJEVU1NWSIpCiAgICApLmJ1aWxkKCkKfSBlbHNlIHsKICAgIHZhciBjYiA9IGNhbGxiYWNrcy5nZXQoMSkuZ2V0TmFtZSgpOwogICAgaWYgKGNiID09PSAiX19fVElNRV9fXyIpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidGltZXIiKS5idWlsZCgpOwogICAgfSBlbHNlIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7CiAgICB9Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"95143d29-e417-49a8-a86c-a3b4cf8fd8ed\",\"name\":\"MultilevelSelect\",\"description\":\"null\",\"script\":\"CmZ1bmN0aW9uIGdldENvdW50cmllcyhkYXRhKSB7CiAgdmFyIGMgPSBbXTsKICBkYXRhLmZvckVhY2goZT0+Yy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBjOwp9CgpmdW5jdGlvbiBnZXRTdGF0ZXMoZGF0YSwgYykgewogIHZhciBzID0gW107CiAgZGF0YVtjXS5zdGF0ZXMuZm9yRWFjaChlPT5zLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIHM7Cn0KCmZ1bmN0aW9uIGdldENpdGllcyhkYXRhLCBjLCBzKSB7CiAgdmFyIGNpID0gW107CiAgZGF0YVtjXS5zdGF0ZXNbc10uY2l0aWVzLmZvckVhY2goZT0+Y2kucHVzaChlLm5hbWUpKTsKICByZXR1cm4gY2k7Cn0KCmZ1bmN0aW9uIGdldERhdGEoKSB7CiAgdmFyIHJlcXVlc3RPcHRpb25zID0gewogICAgbWV0aG9kOiAnR0VUJywKICB9CgogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3RVUkwsIHJlcXVlc3RPcHRpb25zKS5nZXQoKTsKCiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7CiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXNwb25zZS50ZXh0KCkpOwogIH0gZWxzZSB7CiAgICBudWxsOwogIH0KfQoKKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIGRhdGEgPSBnZXREYXRhKCk7CiAgICB2YXIgc3RhdGVzID0gW107CiAgICB2YXIgY2l0aWVzID0gW107CiAgICB2YXIgc2VsZWN0ZWRDb3VudHJ5ID0gMDsKICAgIHZhciBzZWxlY3RlZFN0YXRlID0gMDsKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIHNlbGVjdGVkQ291bnRyeSA9IG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpKTowOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNlbGVjdGVkIGNvdW50cnkge30nLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBzZWxlY3RlZFN0YXRlID0gbm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkU3RhdGUnKSk6MDsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3Qgc3RhdGUnLCBzdGF0ZXMsIHNlbGVjdGVkU3RhdGUsIGZhbHNlKTsKICAgICAgY2l0aWVzID0gZ2V0Q2l0aWVzKGRhdGEsIHNlbGVjdGVkQ291bnRyeSwgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAxJyk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBlKTsKICAgICAgfSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAyJyk7CiAgICAgIGNhbGxiYWNrc0J1aWxkZXIuY29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydVcGRhdGUnLCAnQ29tcGxldGUnXSwgMCk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAzOiB7fScsIGNhbGxiYWNrcy5nZXRDaG9pY2VDYWxsYmFja3MoKS5zaXplKCkpOwogICAgICBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDApLnNldFNlbGVjdGVkSW5kZXgoc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDQnKTsKICAgICAgY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgxKS5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkU3RhdGUpOwoKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDUnKTsKICAgICAgdmFyIHNjcmlwdCA9IGAKICAgICAgICAgIGZ1bmN0aW9uIHNob3dPcmdEZXRhaWxzKCkgewogICAgICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CiAgICAgICAgICAgIHdyYXBwZXIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsICc8ZGl2PnRlc3Q8L2Rpdj4nKTsKICAgICAgICAgIH0KICAgICAgICAgIHNldFRpbWVvdXQoc2hvd09yZ0RldGFpbHMsIDEwMCk7CiAgICAgICAgICBgOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLnNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLmhpZGRlblZhbHVlQ2FsbGJhY2soJ3NlbGVjdGlvbkNoYW5nZWQnLCAnZmFsc2UnKQogICAgfSBlbHNlIHsKICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgwKVswXTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZXQgc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ3NlbGVjdGVkQ291bnRyeScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIHNlbGVjdGVkU3RhdGUgPSBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDEpWzBdOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCdzZWxlY3RlZFN0YXRlJywgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGlmIChjYWxsYmFja3MuZ2V0Q29uZmlybWF0aW9uQ2FsbGJhY2tzKCkuZ2V0KDApID09IDApIHsKICAgICAgICBvdXRjb21lID0gJ3VwZGF0ZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgb3V0Y29tZSA9ICdjb21wbGV0ZSc7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e387c5d7-ceb8-459e-87e6-d09eca512385\",\"name\":\"resetPushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIF9pZCA9IHNoYXJlZFN0YXRlLmdldCgiX2lkIik7CnZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1zdHIyIjsKCmlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUsWyIiXSk7CgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQ==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3c9d3b4a-b38c-4c77-a8d7-4b937e48f62f\",\"name\":\"selectFavFactor.js\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheXMgTUZBIG9wdGlvbnMgZmlsdGVyZWQgYnkgdXNlcnMgcHJlZmVyZW5jZXMKdmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKdmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpLnRvU3RyaW5nKCk7Cgp2YXIgaGFzV2ViQXV0aE49ZmFsc2U7CnZhciBoYXNQdXNoPWZhbHNlOwoKaWYod2ViYXV0aG5EZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzV2ViQXV0aE4gPSB0cnVlOwp9CmlmKHB1c2hEZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzUHVzaCA9IHRydWU7Cn0KCgptZmFzID0geyAKICAgICAgICAgICJQdXNoIjogIlB1c2ggbm90aWZpY2F0aW9uIHZpYSBhdXRoZW50aWNhdG9yIGFwcCIsIAogICAgICAgICAiV2ViQXV0aE4iOiAiU2VjdXJpdHkgS2V5L1RvdWNoSUQvV2luZG93c0hlbGxvL1Bhc3NLZXkiLCAKICAgICAgICAgICAvLyJRUiIgOiAiUVIgQ29kZSBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgICJTTVMiIDogIlNNUyBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8iRW1haWwiIDogIkUtbWFpbCBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8gIlNNU01MIiA6ICJTTVMgTWFnaWMgTGluayIKICAgICAgIH07CgoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ2hvaWNlQ2FsbGJhY2sKKQoKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKCi8vIEFkZCBlbnRyeSB0byBtdWx0aSB2YWx1ZQp2YXIgY2hvaWNlcyA9IFtdOwppZihoYXNQdXNoPT10cnVlKXsKICAgICAgY2hvaWNlcy5wdXNoKG1mYXMuUHVzaCk7Cn0KaWYoaGFzV2ViQXV0aE49PXRydWUpewogICAgICBjaG9pY2VzLnB1c2gobWZhcy5XZWJBdXRoTik7CiAgICAgIC8vY2hvaWNlcy5wdXNoKG1mYXMuUVIpOwogICAgICAvL2Nob2ljZXMucHVzaChtZmFzLlNNUyk7CiAgICAvL2Nob2ljZXMucHVzaChtZmFzLkVtYWlsKTsKCn0KLy9jaG9pY2VzLnB1c2gobWZhcy5TTVNNTCk7CmZ1bmN0aW9uIHNldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUsY3VzdG9tQXR0clZhbHVlKQp7CiAgdmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCdfaWQnKTsKICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgJ2ZyLWlkbS1jdXN0b20tYXR0cnMnKTsKICBpZiAoZnJJZG1DdXN0b21BdHRyaWJ1dGVzKQogIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCgovL0NhbGxiYWNrIHRvIHByZXNlbnQgYW5kIHJldHJpZXZlIHNlbGVjdGVkIG9yZyBhbmQgc2V0Ci8vc2VsZWN0ZWQgdGhlbWUgZm9yIHNldHRpbmcgaW4gdGhlIG5leHQgbm9kZQoKCgp3aXRoIChmcikgewogICAgICBpZiAoY2hvaWNlcy5sZW5ndGggPCAyKSBhY3Rpb24gPSBBY3Rpb24uZ29UbyhvdXRjb21lKS5idWlsZCgpOwogICAgZWxzZSB7CiAgICAgICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAiU3Ryb25nIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkLiBQbGVhc2Ugc2VsZWN0IHlvdXIgcHJlZmVycmVkIGZvcm0gb2Ygc3Ryb25nIGF1dGhlbnRpY2F0aW9uIGZyb20gdGhlIGxpc3QgYmVsb3cuIiwKICAgICAgICAgICAgICAgICAgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApLndpdGhTdGFnZShKU09OLnN0cmluZ2lmeSh7ICJDaG9pY2VDYWxsYmFjayI6IFsgeyAiZGlzcGxheVR5cGUiOiJyYWRpbyIgfSBdIH0pKS53aXRoSGVhZGVyKCJDaG9vc2UgTWV0aG9kIikuYnVpbGQoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkTmFtZTsKICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG1mYXMpIGlmIChjaG9pY2VzW3NlbGVjdGVkSW5kZXhdID09IG1mYXNba2V5XSkgc2VsZWN0ZWROYW1lID0ga2V5OwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoInNlbGVjdGVkTmFtZSIsIHNlbGVjdGVkTmFtZSk7CiAgICAgICAgICAgICAgc2V0Q3VzdG9tQXR0clZhbHVlICgiY3VzdG9tX2Zhdm91cml0ZUZhY3RvciIsc2VsZWN0ZWROYW1lKTsKICAgICAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8oc2VsZWN0ZWROYW1lKS5idWlsZCgpOwogICAgICAgIH0gICAKICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3b7c5bbe-5a80-4ba1-8918-6a3e2ef891c4\",\"name\":\"CheckIfValidSession\",\"description\":\"Check if a valid session already exists\",\"script\":\"aWYgKHR5cGVvZiBleGlzdGluZ1Nlc3Npb24gIT09ICd1bmRlZmluZWQnKQp7CiAgb3V0Y29tZSA9ICJoYXNTZXNzaW9uIjsKfQplbHNlCnsKICBvdXRjb21lID0gIm5vU2Vzc2lvbiI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"320012d2-ad02-401a-871e-3973db81a3d7\",\"name\":\"Demo - Journey Chooser\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheSBjaG9pY2Ugb2Ygam91cm5leXMKLy8gU2VlIGh0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20gZm9yIGV4YW1wbGUgaWNvbnMKdmFyIGpvdXJuZXlzID0gWwogIC8veyAibmFtZSI6ICJMZWdhY3kgTG9naW4iLCAidXJsIjogIkxvZ2luIiwgImljb24iOiAiMTI4LzYzMTcvNjMxNzU3Ny5wbmciIH0sCiAgeyAibmFtZSI6ICJMb2dpbiIsICJ1cmwiOiAiUGFzc3dvcmRsZXNzLU1hc3RlciIsICJpY29uIjogIjEyOC85Njk5Lzk2OTk1ODIucG5nIiB9LAogIC8veyAibmFtZSI6ICJSZWdpc3RlciIsICJ1cmwiOiAiRGVtby1Qd2RsZXNzLU5ldy1Vc2VyICIsICJpY29uIjogIjEyOC8xNjk4LzE2OTg1NzIucG5nIiB9LAogIC8veyAibmFtZSI6ICJRUiBMb2dpbiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVFSIiwgImljb24iOiAiMTI4LzEyODcvMTI4NzU1OC5wbmciIH0sCiAgLy97ICJuYW1lIjogIlNNUyBXZWJBdXRoTiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUyIsICJpY29uIjogIjEyOC8yNzA0LzI3MDQxNjcucG5nIiB9LAogIC8veyAibmFtZSI6ICJTTVMgTWFnaWMgTGluayIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUy1TaW1wbGUiLCAiaWNvbiI6ICIxMjgvMjcwNC8yNzA0MTY3LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiSUQgUHJvb2ZpbmciLCAidXJsIjogIkRlbW8tT25GaWRvIiwgImljb24iOiAiMTI4LzYwNjEvNjA2MTM5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlJlZ2lzdGVyK0lEVi1MaXZlIiwgInVybCI6ICJEZW1vLVNlbGZSZWdpc3RyYXRpb24iLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVnaXN0ZXIrSURWLVNhbmRib3giLCAidXJsIjogIkRlbW8tU2VsZlJlZ2lzdHJhdGlvblNhbmRib3giLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVtZW1iZXIgVXNlcm5hbWVzIiwgInVybCI6ICJEZW1vLVJlbWVtYmVyTXlVc2VybmFtZSIsICJpY29uIjogIjEyOC84ODkvODg5NjY4LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGVlciBSZWNvdmVyeSIsICJ1cmwiOiAiRGVtby1SZWNvdmVyeSIsICJpY29uIjogIjEyOC8yNTk3LzI1OTcxNDMucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIiwgInVybCI6ICJGaW5nZXJwcmludEpTIiwgImljb24iOiAiLzEyOC84MzM3LzgzMzc3MDIucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIFBybyIsICJ1cmwiOiAiRmluZ2VycHJpbnRQcm9KUyIsICJpY29uIjogIi8xMjgvODMzNy84MzM3NzAyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVzZXQgUGFzc3dvcmQiLCAidXJsIjogIlJlc2V0UGFzc3dvcmQiLCAiaWNvbiI6ICIxMjgvMTAwMC8xMDAwOTMzLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU29jaWFsIExvZ2luIiwgInVybCI6ICJEZW1vLVNvY2lhbCIsICJpY29uIjogIjEyOC8zMDAvMzAwMjIxLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU0FNTCIsICJ1cmwiOiAiRGVtby1TQU1MIiwgImljb24iOiAiMTI4LzI5LzI5NjExLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLU9BVEgiLCAidXJsIjogIkRlbW8tTUZBLU9BVEgiLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLVB1c2giLCAidXJsIjogIkRlbW8tTUZBLVB1c2giLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGFzc3dvcmRsZXNzIiwgInVybCI6ICJEZW1vLU1GQS1QYXNzd2RsZXNzIiwgImljb24iOiAiMTI4LzI3NjcvMjc2NzE0Ni5wbmciIH0sICAKICAvL3sgIm5hbWUiOiAiTUZBLUNob2ljZSIsICJ1cmwiOiAiRGVtby1NRkEtQ2hvaWNlIiwgImljb24iOiAiMTI4Lzc0NzYvNzQ3Njc5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlByb2dyZXNzaXZlIFByb2ZpbGUiLCAidXJsIjogIlByb2dyZXNzaXZlUHJvZmlsZSIsICJpY29uIjogIjEyOC83MzE5LzczMTk1MDkucG5nIiB9LAogIC8veyAibmFtZSI6ICJBZ2UtQmFzZWQgTG9naW4iLCAidXJsIjogIkRlbW8tQWdlQmFzZWRMb2dpbiIsICJpY29uIjogIjEyOC8zMDgxLzMwODE5NjkucG5nIiB9LAogIC8veyAibmFtZSI6ICJNdWx0aSBCcmFuZCIsICJ1cmwiOiAiRGVtby1NdWx0aUJyYW5kIiwgImljb24iOiAiMTI4LzY5ODAvNjk4MDczNS5wbmciIH0sCiAgLy97ICJuYW1lIjogIkFudGkgRnJhdWQiLCAidXJsIjogIjEtRGVtby1DaG9vc2VyLUF1dG9BY2Nlc3MiLCAiaWNvbiI6ICIxMjgvMjg2Ny8yODY3NzI1LnBuZyIgfSwKICAKICAKXQoKCnZhciBJQ09OUyA9ICJodHRwczovL2Nkbi1pY29ucy1wbmcuZmxhdGljb24uY29tLyIKdmFyIFNJWkUgPSAiMjQiOwoKdmFyIGNzcyA9ICIqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSAgLmNvbHVtbiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOmxlZnQ7IH0gLnJvdzphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDsgfSAuYm94IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgIGhlaWdodDogNjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwIDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgY29sb3I6IHJnYigwLCAwLCAwKTsgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMCk7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDoxcHg7IG1hcmdpbi1ib3R0b206IDJweDsgIH0gLmljb24geyBoZWlnaHQ6IDMycHg7IG1pbi13aWR0aDogMzJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0iOwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKCndpdGgoZnIpIHsKICAgIHZhciBzY3JpcHQ7CiAgICBmdW5jdGlvbiBjcmVhdGVTY3JpcHQoKSB7CiAgICAgICAgICB2YXIgbGVmdCA9ICIiOwogICAgICAgIHZhciByaWdodCA9ICIiOwogICAgICAgICAgZm9yIChpIGluIGpvdXJuZXlzKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gJzxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tYmxvY2sgYm94XCIgaHJlZj1cImh0dHBzOi8vb3BlbmFtLXZvbGtlci1kZW1vLmZvcmdlYmxvY2tzLmNvbS9hbS9YVUk/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPScgKyBqb3VybmV5c1tpXVsidXJsIl0gKyAnXCI+PGltZyBjbGFzcz1cImljb25cIiBzcmM9XCInICsgSUNPTlMgKyBqb3VybmV5c1tpXVsiaWNvbiJdICsgJ1wiPjxzcGFuPicgKyBqb3VybmV5c1tpXVsibmFtZSJdICsgJzwvc3Bhbj48L2E+JzsKICAgICAgICAgICAgICBpZiAoaSAlIDIgPT0gMCkgCiAgICAgICAgICAgICAgICAgIGxlZnQgKz0gZWxlbTsKICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgICAgICByaWdodCArPSBlbGVtOwogICAgICAgIH0KICAgICAgICByZXR1cm4gU3RyaW5nKCJkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkuaW5uZXJIVE1MID0gJyIgKyBjc3MgKyAiJyBcblwKICAgICAgICAgICAgdmFyIGNob29zZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaWQgPSAnY2hvb3Nlcic7IFxuXAogICAgICAgICAgICB2YXIgY2IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FsbGJhY2tzUGFuZWwnKTsgXG5cCiAgICAgICAgICAgIGNiLmluc2VydEJlZm9yZShjaG9vc2VyLCBjYi5maXJzdENoaWxkKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJyb3dcIj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IitsZWZ0KyI8L2Rpdj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IityaWdodCsiPC9kaXY+PC9kaXY+JyBcblwKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpKSB7IFxuXAogICAgICAgICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblt0eXBlPXN1Ym1pdF0nKTsgXG5cCiAgICAgICAgICAgICAgICBiLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbigpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nob29zZXInKS5yZW1vdmUoKTsgIH0pOyBcblwKICAgICAgICAgICAgfSBcblwKICAgICAgICAiKTsKICAgIH0gIAogIAogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IFNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhjcmVhdGVTY3JpcHQoKSkKICAgICAgICApLmJ1aWxkKCkKICAgIH0gZWxzZSBhY3Rpb24gPSBBY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0ab1dc10-a54f-476f-ad07-2a04915cd443\",\"name\":\"wks-DisplayUserName\",\"description\":\"DisplayUserName\",\"script\":\"LyogRGlzcGxheSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBEaXNwbGF5IHRoZSB1c2VybmFtZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIG91dGNvbWUgPSAndHJ1ZSc7CiAgICB2YXIgdXNlcm5hbWUgPSBub2RlU3RhdGUuZ2V0KCd1c2VybmFtZScpLmFzU3RyaW5nKCk7CgogICAgLy8gU3BlY2lmeSB0aGUgbWVzc2FnZSB5b3Ugd2FudCB0byBkaXNwbGF5LiBZb3UgbWF5IHVzZSBIVE1MIGZvciBmb3JtYXR0aW5nLiBBdm9pZCBsaW5lIGJyZWFrcyEgVXNlIDxicj4gaW5zdGVhZC4KICAgIHZhciBtZXNzYWdlID0gJ1lvdXIgRW5jb3JlIHVzZXJuYW1lIGlzOjxoMyBzdHlsZT0iY29sb3I6IzI5NDhBNzsiPicrdXNlcm5hbWUrJzwvaDM+JzsKCiAgICB2YXIgYW5jaG9yID0gJ2FuY2hvci0nK2dlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKTsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gXAogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiBcCiAgICAgIGZ1bmN0aW9uIChlKSB7XG4gXAogICAgICAgIHZhciBtZXNzYWdlID0gZS5maXJzdEVsZW1lbnRDaGlsZDtcbiBcCiAgICAgICAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIithbmNob3IrIicpIHtcbiBcCiAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciK21lc3NhZ2UrIic7XG4gXAogICAgICAgIH1cbiBcCiAgICAgIH0pIjsKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgICAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICAgICkKICAgIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgICAgICBhbmNob3IKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9CiAgICBlbHNlIHsKICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgIH0KICB9IGNhdGNoIChlcnJvcikgewogICAgbG9nZ2VyLmVycm9yKCdFcnJvcjogJyArIGVycm9yKTsKICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7CiAgfQoKICAgLyoKICAgICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAgICogCiAgICAqIEV4YW1wbGU6CiAgICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICAqLwogIGZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbihjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkqMTB8MDsKICAgICAgICAgIHZhciB2ID0gcjsKICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDEwKTsKICAgICAgfSk7CiAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9674f7d1-7448-4544-879e-91587bb04f46\",\"name\":\"Get esv admin token\",\"description\":\"Get esc admin token\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwp2YXIgYWRtaW5Ub2tlbiA9ICBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi5hZG1pbi50b2tlbiIpOwpzaGFyZWRTdGF0ZS5wdXQoJ2FkbWluVG9rZW4nLCBhZG1pblRva2VuKTsKb3V0Y29tZSA9ICJ0cnVlIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c0413dae-fdd1-45b7-9302-61d6ae02b194\",\"name\":\"FR-Debug\",\"description\":\"Debug to show AM States\",\"script\":\"LyogRElTQ0xBSU1FUjogVGhpcyBjb2RlIGlzIHByb3ZpZGVkIHRvIHlvdSBleHByZXNzbHkgYXMgYW4gZXhhbXBsZSAgKOKAnFNhbXBsZSBDb2Rl4oCdKS4gSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBpbmRpdmlkdWFsIHJlY2lwaWVudCB1c2VyLCBpbiBoaXMvaGVyIHNvbGUgZGlzY3JldGlvbiwgdG8gZGlsaWdlbmNlIHN1Y2ggU2FtcGxlIENvZGUgZm9yIGFjY3VyYWN5LCBjb21wbGV0ZW5lc3MsIHNlY3VyaXR5LCBhbmQgZmluYWwgZGV0ZXJtaW5hdGlvbiBmb3IgYXBwcm9wcmlhdGVuZXNzIG9mIHVzZS4gCiAqIEFOWSBTQU1QTEUgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiDigJxBUyBJU+KAnSBJUyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORC4gRk9SR0VST0NLIEFORCBJVFMgTElDRU5TT1JTIEVYUFJFU1NMWSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUywgIFdIRVRIRVIgRVhQUkVTUywgSU1QTElFRCwgT1IgU1RBVFVUT1JZLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTICBPRiBNRVJDSEFOVEFCSUxJVFksIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKiBGT1JHRVJPQ0sgU0hBTEwgTk9UIEhBVkUgQU5ZIExJQUJJTElUWSBBUklTSU5HIE9VVCBPRiBPUiBSRUxBVElORyBUTyBBTlkgVVNFLCBJTVBMRU1FTlRBVElPTiwgSU5URUdSQVRJT04sIE9SIENPTkZJR1VSQVRJT04gT0YgQU5ZIFNBTVBMRSBDT0RFIElOIEFOWSBQUk9EVUNUSU9OIEVOVklST05NRU5UIE9SIEZPUiBBTlkgQ09NTUVSQ0lBTCBERVBMT1lNRU5UKFMpLgogKgogKiBTY3JpcHQgTmFtZTogQU0gSm91cm5leSBUZW1wbGF0ZQogKgogKiBBdXRob3JzOiBzZUBmb3JnZXJvY2suY29tCiAqIAogKiBUaGlzIHNjcmlwdCBzaG93cyBhIGRlZmF1bHQgdGVtcGxhdGUgb24gaG93IHlvdXIgU2NyaXB0aW5nIERlY2lzaW9uIE5vZGUgc2NyaXB0cyBzaG91bGQgYmUgd3JpdHRlbi4KICogSXQgc2hvd3MgeW91IGhvdyB0byB3b3JrIHdpdGggc2hhcmVkU3RhdGUsIHRyYW5zaWVudFN0YXRlLCBzZWN1cmVTdGF0ZS4KICogVGhpcyBpcyBhIGdyZWF0IGRlYnVnIHNjcmlwdCB0byB1c2UgaW4gYW5kIG9mIGl0c2VsZiBhcyBpdCB3aWxsIGRpc3BsYXkgYWxsIHRocmVlIHN0YXRlcyBtZW50aW9uZWQgYWJvdmUgaW4gYSBmb3JtYXR0ZWQgdGFibGUKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBhcyBpcy4gCiAqIEl0IHJlcXVpcmVzIHNvbWUgbm9kZXMgdGhhdCBzZXQgYXQgbGVhc3Qgc2hhcmVkU3RhdGUgYmVmb3JlIGl0IGNhbiBvcGVyYXRlLgogKiBGb3IgZXhhbXBsZSwgc2V0IGEgcGFnZSBub2RlIHdpdGggUGxhdGZvcm0gVXNlcm5hbWUgYW5kIFBsYXRmb3JtIFBhc3N3b3JkIG5vZGVzCiAqIAogKiBUaGlzIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKKi8KCi8vIERvIGV2ZXJ5dGhpbmcgaW4gYSBzZWxmLWludm9raW5nIGZ1bmN0aW9uIGFuZCBkbyBub3Qgd3JpdGUgY29kZSBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gb3IgeW91IHdpbGwgcGF5IGRlYXJseS4gCi8vIFRoaXMgaXMgYmVjYXVzZSBvZiB0b3AtbGV2ZWwgc2NvcGluZy93aGl0ZWxpc3RpbmcvZXRjIGlzc3VlcyB0aGF0IGdpdmUgeW91ICd1bmRlZmluZWQnIGVycm9ycy4KKGZ1bmN0aW9uICgpIHsKICBsb2dnZXIubWVzc2FnZSgiU2NyaXB0OiBzdGFydCIpOyAvLyBiZWdpbmcgb2Ygc2NyaXB0IG1haW4KICBvdXRjb21lID0gInRydWUiOyAvLyA8LSBmaWxsIGluIGRlZmF1bHQgb3V0Y29tZSBoZXJlIGFuZCBpdCBzaG91bGQgbWF0Y2ggYSAiU2NyaXB0IE91dGNvbWVzIiBzZXR0aW5nIG9uIHRoaXMgbm9kZSBpdHNlbGYKCiAgLy8gYnVpbGQgb3V0cHV0IGh0bWwgdGFibGUgdGhhdCB3aWxsIGJlIHNlbnQgYmFjayB0byBicm93c2VyCiAgdmFyIG91dHB1dCA9IGNyZWF0ZUh0bWwoKTsKCiAgLy8gaXNzdWUgY2FsbGJhY2sgdG8gYnJvd3NlciBhZnRlciBvdXRwdXQgaHRtbCBpcyBidWlsdCBmcm9tIGNyZWF0ZUh0bWwoKSBmdW5jdGlvbgogIGRpc3BsYXlNZXNzYWdlKG91dHB1dCk7CiAgCiAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmlwdDogZW5kIik7IC8vIGVuZCBvZiBzY3JpcHQgbWFpbgoKICAvKgogICogUHV0IGZ1bmN0aW9ucyBiZWxvdyBoZXJlCiAgKi8KICBmdW5jdGlvbiBjcmVhdGVIdG1sKCkgewogICAgICB2YXIgaHRtbCA9ICI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkXCI+IjsKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlNoYXJlZCBTdGF0ZSBWYXJpYWJsZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIgogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICIiCiAgICAgICAgICAgICYmICIiK3N0YXRlS2V5ICE9PSAib2JqZWN0QXR0cmlidXRlcyIgIC8vIGdvaW5nIHRvIHB1bGwgb3V0IG9iamVjdEF0dHJpYnV0ZXMgbGF0ZXIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCiAgICAgICAgewogICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzdGF0ZUtleSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlRyYW5zaWVudCBTdGF0ZSBWYXJpYWJsZXMgKHRyYW5zaWVudFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmICh0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiB0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIiAKICAgICAgICAgICAgJiYgdHJhbnNpZW50U3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAiIgogICAgICAgICAgICAmJiAiIitzdGF0ZUtleSAhPT0gIm9iamVjdEF0dHJpYnV0ZXMiKSAKICAgICAgICB7CiAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHN0YXRlS2V5ICsgIjwvdGQ+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHRyYW5zaWVudFN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIC8vIEJ1aWxkIHRoZSB0YWJsZSBvZiBvYmplY3RBdHRyaWJ1dGVzIGluIHNoYXJlZFN0YXRlCiAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKSkKICAgICAgeyAgIAogICAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5TaGFyZWQgT2JqZWN0IEF0dHJpYnV0ZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAgIHZhciBlbnRyaWVzID0gc2hhcmVkU3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZW50cnlTZXQoKS50b0FycmF5KCk7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2UgZW50cnlTZXQoKS4gQ2FuIHVzZSBrZXlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRLZXkoKSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRWYWx1ZSgpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj5FTVBUWTwvdGQ+PC90cj4iOwogICAgICB9CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2Ygb2JqZWN0QXR0cmlidXRlcyBpbiB0cmFuc2llbnRTdGF0ZQogICAgICBpZiAodHJhbnNpZW50U3RhdGUuZ2V0KCJvYmplY3RBdHRyaWJ1dGVzIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+VHJhbnNpZW50IE9iamVjdCBBdHRyaWJ1dGVzICh0cmFuc2llbnRTdGF0ZS5nZXQpPC90aD48L3RyPjwvdGhlYWQ+IjsKICAgICAgICB2YXIga2V5cyA9IHRyYW5zaWVudFN0YXRlLmdldCgnb2JqZWN0QXR0cmlidXRlcycpLmtleVNldCgpLnRvQXJyYXkoKTsKICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2Uga2V5U2V0KCkuIENhbiB1c2UgZW50cnlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBrZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgdHJhbnNpZW50U3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZ2V0KGtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjb2xzcGFuPVwiMlwiPkVNUFRZPC90ZD48L3RyPiI7CiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5ub2RlU3RhdGUuZ2V0ICh0cmFuc2llbnRTdGF0ZSwgc2VjdXJlU3RhdGUsIHNoYXJlZFN0YXRlKTwvdGg+PC90cj48L3RoZWFkPiI7CiAgICAgIC8vIGdldCBhbGwgdGhlIGtleXMgaW4gbm9kZVN0YXRlCiAgICAgIHZhciBpdGVyYXRvciA9IG5vZGVTdGF0ZS5rZXlzKCkuaXRlcmF0b3IoKTsKICAgICAgdmFyIHN0YXRlS2V5cyA9IFtdOwogICAgICB3aGlsZSAoaXRlcmF0b3IuaGFzTmV4dCgpKSB7CiAgICAgICAgICBzdGF0ZUtleXMucHVzaChpdGVyYXRvci5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIH0KICAgICAgc3RhdGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlS2V5KSB7CiAgICAgICAgaWYgKG5vZGVTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBub2RlU3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAibnVsbCIKICAgICAgICAgICAgJiYgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkudG9TdHJpbmcoKSAhPT0gIiIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCgogICAgICAgIHsKICAgICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgc3RhdGVLZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBsb29raW5nIGZvciBhIHdheSB0byBidWlsZCB0aGlzIEFNIFVzZXIgUHJvZmlsZSBsaXN0IGR5bmFtaWNhbGx5CiAgICAgIHZhciBvYmpBTUF0dHJzID0gWwogICAgICAgICJ1aWQiLAogICAgICAgICJjbiIsCiAgICAgICAgImluZXRVc2VyU3RhdHVzIiwKICAgICAgICAiZ2l2ZW5OYW1lIiwKICAgICAgICAic24iLAogICAgICAgICJtYWlsIiwKICAgICAgICAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0ZWxlcGhvbmVOdW1iZXIiLAogICAgICAgICJzdHJlZXQiLAogICAgICAgICJsIiwKICAgICAgICAicG9zdGFsQ29kZSIsCiAgICAgICAgImNvIiwKICAgICAgICAic3QiLAogICAgICAgICJkaXNwbGF5TmFtZSIsCiAgICAgICAgImZyLWF0dHItaXN0cjEiLAogICAgICAgICJmci1hdHRyLWlzdHIyIiwKICAgICAgICAiZnItYXR0ci1pc3RyMyIsCiAgICAgICAgImZyLWF0dHItaXN0cjQiLAogICAgICAgICJmci1hdHRyLWlzdHI1IiwKICAgICAgICAiZnItYXR0ci1zdHIxIiwKICAgICAgICAiZnItYXR0ci1zdHIyIiwKICAgICAgICAiZnItYXR0ci1zdHIzIiwKICAgICAgICAiZnItYXR0ci1zdHI0IiwKICAgICAgICAiZnItYXR0ci1zdHI1IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkxIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkyIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk0IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk1IiwKICAgICAgICAiZnItYXR0ci1tdWx0aTEiLAogICAgICAgICJmci1hdHRyLW11bHRpMiIsCiAgICAgICAgImZyLWF0dHItbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1tdWx0aTQiLAogICAgICAgICJmci1hdHRyLW11bHRpNSIsCiAgICAgICAgImZyLWF0dHItaWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTIiLAogICAgICAgICJmci1hdHRyLWlkYXRlMyIsCiAgICAgICAgImZyLWF0dHItaWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTUiLAogICAgICAgICJmci1hdHRyLWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1kYXRlMiIsCiAgICAgICAgImZyLWF0dHItZGF0ZTMiLAogICAgICAgICJmci1hdHRyLWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1kYXRlNSIsCiAgICAgICAgImZyLWF0dHItaWludDEiLAogICAgICAgICJmci1hdHRyLWlpbnQyIiwKICAgICAgICAiZnItYXR0ci1paW50MyIsCiAgICAgICAgImZyLWF0dHItaWludDQiLAogICAgICAgICJmci1hdHRyLWlpbnQ1IiwKICAgICAgICAiZnItYXR0ci1pbnQxIiwKICAgICAgICAiZnItYXR0ci1pbnQyIiwKICAgICAgICAiZnItYXR0ci1pbnQzIiwKICAgICAgICAiZnItYXR0ci1pbnQ0IiwKICAgICAgICAiZnItYXR0ci1pbnQ1IgogICAgICBdOyAgCgogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2YgaWRSZXBvc2l0b3J5IGJpbmRpbmcKICAgICAgdmFyIGF0dHJzMjsKICAgICAgaWYgKHNoYXJlZFN0YXRlLmdldCgiX2lkIikgJiYgaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpLCAidWlkIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+aWRSZXBvc2l0b3J5IEFNIFVzZXIgUHJvZmlsZTwvdGg+PC90cj48L3RoZWFkPiI7ICAgICAgICAKICAgICAgICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwogICAgICAgIG9iakFNQXR0cnMuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikgewogICAgICAgICAgYXR0cnMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCBhdHRyKTsgIAogICAgICAgICAgaWYgKGF0dHJzICYmICIiK2F0dHJzICE9PSAibnVsbCIgJiYgIiIrYXR0cnMgIT09ICIiICYmICIiK2F0dHJzLnNpemUoKT4wKXsKICAgICAgICAgICAgaWYgKGF0dHJzLnNpemUoKT09PTEpewogICAgICAgICAgICAgICAgYXR0cnMgPSBzaW5nbGVWYWx1ZShhdHRycyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGF0dHIgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgYXR0cnMgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgCiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5SZXF1ZXN0IEhlYWRlcnM8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvL2h0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj4iICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSArICI8L3RkPjwvdHI+IjsKICAgICAgdmFyIHJIZWFkZXJzID0gU3RyaW5nKHJlcXVlc3RIZWFkZXJzKS5zcGxpdCgnXSwgJykubWFwKGZ1bmN0aW9uIChoZWFkZXIpewogICAgICAgIHJldHVybiBoZWFkZXIuc3BsaXQoJz0nKVswXS5yZXBsYWNlKCd7JywnJykucmVwbGFjZSgnfScsJycpOyAKICAgICAgfSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBySGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uIChoZWFkZXJOYW1lKSB7CiAgICAgICAgdmFyIGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGhlYWRlck5hbWUgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgaGVhZGVyLmdldCgwKSArICI8L3RkPjwvdHI+IjsKICAgICAgfSk7ICAgIAogICAgCiAgICBodG1sICs9ICI8L3RhYmxlPiI7CiAgICAgIAogICAgcmV0dXJuIGh0bWw7CiAgfQogIAogIC8vYnVpbGRzIHRoZSBodG1sIHRvIGRpc3BsYXkgdGhlIG1lc3NhZ2UgaW4gdGhlIGJyb3dzZXIgb24gdGhlIGNhbGxiYWNrCiAgLy91c2UgdmlldyBzb3VyY2UgaW4gYnJvd3NlciBhbmQgbG9vayBmb3IgY2xhc3M9ImNhbGxiYWNrLWNvbXBvbmVudCIgdG8gc2VlIGh0bWwgcmVzcG9uc2UKICBmdW5jdGlvbiBkaXNwbGF5TWVzc2FnZShtZXNzYWdlKSB7CiAgICAgIHZhciBhbmNob3IgPSAiYW5jaG9yLSIuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgICAgIHZhciBoYWxpZ24gPSAibGVmdCI7CiAgICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICAgICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAgICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgbWVzc2FnZS5zdHlsZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICB9XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifSkiKQogICAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suVGV4dE91dHB1dENhbGxiYWNrLAogICAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICAgICkKICAgICAgaWYgKG1lc3NhZ2UubGVuZ3RoICYmIGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKAogICAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgICAgYW5jaG9yCiAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICAgICAgICkuYnVpbGQoKQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgICAgfQogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqIFRoaXMgaXMgbmVlZGVkIHRvIGhhdmUgYSB1bmlxdWUgZGl2KGFuY2hvci14KSBvbiB0aGUgaHRtbCBjYWxsYmFjayB0aGF0IHdlIGNhbiBwb3B1bGF0ZSBkYXRhCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICAgIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxMCB8IDA7CiAgICAgICAgICB2YXIgdiA9IHI7CiAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICAgIH0pOwogIH0KCiAgLy8gZ2V0IGEgc2luZ2xlVmFsdWUgZnJvbSBhIEhhc2hTZXQKICBmdW5jdGlvbiBzaW5nbGVWYWx1ZSh4KQogIHsKICAgIGlmKHguc2l6ZSgpPjApCiAgICAgIHsKICAgICAgICByZXR1cm4geC5pdGVyYXRvcigpLm5leHQoKTsKICAgICAgfQogICAgICAKICAgIHJldHVybiAiIjsKICAgIAogIH0KCn0oKSk7IC8vIHNlbGYtaW52b2tpbmcgZnVuY3Rpb24=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0414eed8-abfd-43bb-94b5-c841a8ba2c98\",\"name\":\"pushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjIiOwp2YXIgdGhyZXNob2xkID0gMjsKb3V0Y29tZSA9ICJkZWZhdWx0IjsKdmFyIG5vdyA9IG5ldyBEYXRlKCkgIAp2YXIgZXBvY2ggPSBNYXRoLnJvdW5kKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTsKdmFyIGVwb2NoQ3VycmVudE1pbnV0ZSA9IE1hdGgucm91bmQoZXBvY2gvNjApOwoKdmFyIHVzZXJBdHRyOwp2YXIgX2lkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIGVwb2NoQXR0ck1pbnV0ZT0wOwp2YXIgYXR0ZW1wdENvdW50PTE7Cgp2YXIgdXNlclByZWZlcmVuY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShfaWQsICJmci1pZG0tcHJlZmVyZW5jZXMiKS50b1N0cmluZygpOwoKaWYodXNlclByZWZlcmVuY2VzLmluZGV4T2YoIlwiY3VzdG9tX3B1c2hcIjp0cnVlIikgPiAtMSkKewogICAgb3V0Y29tZSA9ICJzdXNwZW5kZWQiOwp9CmVsc2UKewogIHZhciB1c2VyQXR0clJhdyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUpOwogIGlmICh1c2VyQXR0clJhdyAmJiB1c2VyQXR0clJhdy5pdGVyYXRvcigpLmhhc05leHQoKSkgewogICAgICB1c2VyQXR0ciA9IEpTT04ucGFyc2UodXNlckF0dHJSYXcuaXRlcmF0b3IoKS5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIGVwb2NoQXR0ck1pbnV0ZSA9IHVzZXJBdHRyWzBdOwogICAgICBhdHRlbXB0Q291bnQgPSB1c2VyQXR0clsxXTsKICAgICAgYXR0ZW1wdENvdW50ID0gYXR0ZW1wdENvdW50ICsgMTsKICB9CgogIC8vaWYoCgogIHZhciBuZXdBdHRyOwogIGlmKGVwb2NoQ3VycmVudE1pbnV0ZT09ZXBvY2hBdHRyTWludXRlKSB7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hBdHRyTWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSAgKyAiXSIpOwogIH0KICBlbHNlIHsKICAgICAgYXR0ZW1wdENvdW50PTE7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hDdXJyZW50TWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSArICJdIik7CiAgfQogIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCAiZnItYXR0ci1zdHIyIixbbmV3QXR0cl0pOwoKICBpZihhdHRlbXB0Q291bnQ+dGhyZXNob2xkKSB7CiAgICBvdXRjb21lID0gInRydWUiOwogIH0KICBlbHNlIHsKICAgIG91dGNvbWUgPSAiZmFsc2UiOwogIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"77e87451-bde9-40c0-84b1-02d4c97687f2\",\"name\":\"takeFavouriteFactor.js\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkKewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykKICB7CiAgICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICAgICAgcmV0dXJuIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV07CiAgfQp9Cgp2YXIgZmF2RmFjdG9yID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7Cm91dGNvbWUgPSBmYXZGYWN0b3I7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"46074930-6a38-4e36-8985-1ed90b4bdb3b\",\"name\":\"SaveLogin\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgLy8gQ3JlYXRlIG5ldyBlbnRyeSB3aXRoIGRldmljZSBwcm9maWxlIGFuZCBkYXRlCiAgdmFyIHByb2ZpbGUgPSBzaGFyZWRTdGF0ZS5nZXQoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpOwogIHZhciBkYXRlID0gRGF0ZS5ub3coKQogIHZhciBpZGVudGlmaWVyID0gcHJvZmlsZS5nZXQoImlkZW50aWZpZXIiKQogIHZhciBwbGF0Zm9ybSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoInBsYXRmb3JtIikKICB2YXIgZGV2aWNlTmFtZSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoImRldmljZU5hbWUiKQogIHZhciBsYXRpdHVkZSA9IHByb2ZpbGUuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKQogIHZhciBsb25naXR1ZGUgPSBwcm9maWxlLmdldCgibG9jYXRpb24iKS5nZXQoImxvbmdpdHVkZSIpCiAgdmFyIHVzZXJBZ2VudCA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgiYnJvd3NlciIpLmdldCgidXNlckFnZW50Iik7CiAgdmFyIGJyb3dzZXIgPSAiIgogIAogIC8vIFdvcmsgb3V0IHdoaWNoIGJyb3dzZXIgdGhpcyBpcwogIGlmICh1c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCJGSVJFRk9YIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJGaXJlZm94IjsKICB9IGVsc2UgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpID4gLTEgJiYgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgLy8gQ2hyb21lIGNhbiBzb21ldGltZXMgbGlzdCBDaHJvbWUgZm9sbG93ZWQgYnkgU2FmYXJpIGluIHVzZXJBZ2VudAogICAgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpIDwgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikpIHsKICAgICAgYnJvd3NlciA9ICJDaHJvbWUiOwogICAgfQogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiQ0hST01FIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJDaHJvbWUiOwogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJTYWZhcmkiOwogIH0KICAKICB2YXIgZW50cnkgPSB7CiAgICAiZGF0ZSI6IERhdGUoKS50b1N0cmluZygpLAogICAgImxhc3RTZWxlY3RlZERhdGUiOiBkYXRlLAogICAgImRldmljZSI6IHsKICAgICAgImlkZW50aWZpZXIiOiBTdHJpbmcoaWRlbnRpZmllciksCiAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAicGxhdGZvcm0iOiB7CiAgICAgICAgICAicGxhdGZvcm0iOiBTdHJpbmcocGxhdGZvcm0pLAogICAgICAgICAgImRldmljZU5hbWUiOiBTdHJpbmcoZGV2aWNlTmFtZSkKICAgICAgICB9LAogICAgICAgICJicm93c2VyIjogYnJvd3NlcgogICAgICB9CiAgICB9LAogICAgImxvY2F0aW9uIjogewogICAgICAibGF0aXR1ZGUiOiBTdHJpbmcobGF0aXR1ZGUpLAogICAgICAibG9uZ2l0dWRlIjogU3RyaW5nKGxvbmdpdHVkZSkKICAgIH0KICB9CiAgCiAgLy8gQWRkIGVudHJ5IHRvIG11bHRpIHZhbHVlCiAgdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKQogIHZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkxIgogIGlkUmVwb3NpdG9yeS5hZGRBdHRyaWJ1dGUodXNlcm5hbWUsIGF0dHJpYnV0ZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"743351b3-001a-4ec8-b3ac-a674ddb8de22\",\"name\":\"UOP Enrich Session\",\"description\":\"Enrich user session with UOP class ID.\",\"script\":\"LyogVU9QIEVucmljaCBTZXNzaW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIEFkZCBjdXJyZW50IGNsYXNzIElEIHRvIHVzZXIgc2Vzc2lvbi4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuIAogKiBJdCByZXF1aXJlcyB0aGUgSWRlbnRpZnkgRXhpc3RpbmcgVXNlciBub2RlIGJlZm9yZSBpdCBpcyBiZWluZyBjYWxsZWQuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKiAtIGZhbHNlCiAqLwpsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBzdGFydCIpOwpvdXRjb21lID0gImZhbHNlIjsKCmlmIChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBnb2luZyB0byBlbnJpY2ggc2Vzc2lvbiB3aXRoIGNsYXNzIGlkOiAiLmNvbmNhdChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpKTsKICAKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaQogICAgKTsKCiAgICB3aXRoIChmcikgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJVT1AgRW5yaWNoIFNlc3Npb246IEVuZCAob3V0Y29tZT0iLmNvbmNhdChvdXRjb21lKS5jb25jYXQoIikiKSk7CiAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8ob3V0Y29tZSkucHV0U2Vzc2lvblByb3BlcnR5KCJVT1BDbGFzc0lEIiwgc2hhcmVkU3RhdGUuZ2V0KCJ1b3BDdXJyZW50Q2xhc3NJRCIpKS5idWlsZCgpOwogICAgfQogIAp9IGVsc2UgewogICAgbG9nZ2VyLmVycm9yKCJVT1AgRW5yaWNoIFNlc3Npb246IG5vIGNsYXNzZXMhIik7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBFbmQgKG91dGNvbWU9Ii5jb25jYXQob3V0Y29tZSkuY29uY2F0KCIpIikpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"d030f9fb-6d2d-4f5a-834d-b4f6304b8eb9\",\"name\":\"Impossible Traveller\",\"description\":\"null\",\"script\":\"Ly8gR2VvVmVsb2NpdHkgLyBJbXBvc3NpYmxlIEpvdXJuZXkgYXV0aGVudGljYXRpb24gc2NyaXB0Ci8vCi8vIE91dGNvbWVzIGZvciB0aGlzIHNjcmlwdCBhcmU6Ci8vICAgICAibm9Mb2NhdGlvbiIgLSB0aGUgZGV2aWNlJ3MgY3VycmVudCBsb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHNoYXJlZFN0YXRlCi8vICAgICAibm9IaXN0b3J5IiAgLSB0aGUgdXNlcidzIHByb2ZpbGUgZG9lc24ndCB5ZXQgY29udGFpbiBwcmV2aW91cyBkZXZpY2UgaGlzdG9yeQovLyAgICAgIm9rIiAgICAgICAgIC0gdGhlIHVzZXIncyBnZW92ZWxvY2l0eSBpcyBsb3dlciB0aGFuIHRoZSBtYXggYWNjZXB0YWJsZSBzcGVlZAovLyAgICAgICAiaW1wb3NzaWJsZSIgLSB0aGUgdXNlcidzIGdlb3ZlbG9jaXR5IGV4Y2VlZHMgbWF4IGFjY2VwdGFibGUgc3BlZWQKTUFYX1ZFTE9DSVRZPTMwMApmdW5jdGlvbiBjYWxjdWxhdGVEaXN0YW5jZShmaXJzdCwgc2Vjb25kKSB7CiAgICB2YXIgZmFjdG9yID0gKE1hdGguUEkgLyAxODApLAogICAgICAgIHRoZXRhLAogICAgICAgIGRpc3Q7CiAgICBmdW5jdGlvbiBkZWdyZWVzVG9SYWRpYW5zKGRlZ3JlZXMpIHsKICAgICAgICByZXR1cm4gZGVncmVlcyAqIGZhY3RvcjsKICAgIH0KICAgIGZ1bmN0aW9uIHJhZGlhbnNUb0RlZ3JlZXMocmFkaWFucykgewogICAgICAgIHJldHVybiByYWRpYW5zIC8gZmFjdG9yOwogICAgfQogICAgdGhldGEgPSBmaXJzdC5sb25naXR1ZGUgLSBzZWNvbmQubG9uZ2l0dWRlOwogICAgZGlzdCA9IE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKwogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKgogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnModGhldGEpKTsKICAgIGRpc3QgPSBNYXRoLmFjb3MoZGlzdCk7CiAgICBkaXN0ID0gcmFkaWFuc1RvRGVncmVlcyhkaXN0KTsKICAgIGRpc3QgPSBkaXN0ICogNjAgKiAxLjE1MTU7CiAgICByZXR1cm4gZGlzdDsKfTsKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKLy9kZXZpY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZSh1c2VybmFtZSwgImRldmljZVByb2ZpbGVzIikudG9BcnJheSgpOwpsb2dpbkhpc3RvcnkgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAiZnItYXR0ci1pbXVsdGkxIikudG9BcnJheSgpOwppZiAobG9naW5IaXN0b3J5Lmxlbmd0aCA9PSAwKSBvdXRjb21lID0gIm5vSGlzdG9yeSI7CmVsc2UgewogICAgICBvdXRjb21lID0gIm5vTG9jYXRpb24iOwogICAgICBpZiAoc2hhcmVkU3RhdGUuY29udGFpbnNLZXkoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpICYmIHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIikuY29udGFpbnNLZXkoImxvY2F0aW9uIikpIHsKICAgICAgICB2YXIgdGhpc0RldmljZSA9IHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIik7CiAgICAgICAgICBvdXRjb21lID0gIm9rIjsKICAgICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpCiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxvZ2luSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciBlbnRyeSA9IEpTT04ucGFyc2UobG9naW5IaXN0b3J5W2ldKTsKICAgICAgICAgICAgICB2YXIgbGFzdFNlbGVjdGVkRGF0ZSA9IGVudHJ5WyJsYXN0U2VsZWN0ZWREYXRlIl07CiAgICAgICAgICAgICAgdmFyIGxhc3RMb2NhdGlvbiA9IGVudHJ5WyJsb2NhdGlvbiJdOwogICAgICAgICAgICAgIHZhciB0aW1lRGlmZiA9IG5vdyAtIHBhcnNlSW50KGxhc3RTZWxlY3RlZERhdGUpOwogICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBjYWxjdWxhdGVEaXN0YW5jZSh7ICJsYXRpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKSwgImxvbmdpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibG9uZ2l0dWRlIikgfSwgbGFzdExvY2F0aW9uKTsKICAgICAgICAgICAgICB2ZWxvY2l0eSA9IGRpc3RhbmNlIC8gKHRpbWVEaWZmIC8gMzYwMDAwMCk7CiAgICAgICAgICAgICAgaWYgKHZlbG9jaXR5ID4gTUFYX1ZFTE9DSVRZKSBvdXRjb21lID0gImltcG9zc2libGUiOwogICAgICAgIH0KICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0ca79cb0-ea11-4e87-adac-7f8aeebc8c03\",\"name\":\"Save Mobile OATH Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgWyJvYXRoIl0pOwogIAogIG91dGNvbWUgPSAidHJ1ZSIKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e3b1018f-1b2e-4e96-9950-087bdfa13d6d\",\"name\":\"Set New Favourite\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkgewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpIHsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCnZhciBhdHRyID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7CmlmICghYXR0cil7CnNldEN1c3RvbUF0dHJWYWx1ZSAoImN1c3RvbV9mYXZvdXJpdGVGYWN0b3IiLCJXZWJBdXRoTiIpOwp9CgoKCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICov\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"634fb0b2-8873-4e78-8913-9a669e4f3816\",\"name\":\"Debug Shared State\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgZGVidWcgPSBTdHJpbmcoIlNoYXJlZCBzdGF0ZTogIiArIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGRlYnVnID0gU3RyaW5nKGRlYnVnICsgIlJlcXVlc3QgaGVhZGVyczogIiArIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdTZXNzaW9uICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgZGVidWcgPSBTdHJpbmcoZGVidWcgKyAiRXhpc3Rpbmcgc2Vzc2lvbjogIiArICJcXG4iKTsKICAgICAgfSAgCiAgICAgICAgIGxvZ2dlci5lcnJvcigiSk9OSzogIiArIGRlYnVnKTsKICAgICAgc2NyaXB0ID0gU3RyaW5nKCdhbGVydCgiJytkZWJ1ZysnIik7Jyk7CiAgICAgIGFjdGlvbiA9IEFjdGlvbi5zZW5kKG5ldyBTY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KSkuYnVpbGQoKTsKICB9CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"40a38167-2371-4d49-bbf1-e0e97ace3132\",\"name\":\"pwdlessCheck.js\",\"description\":\"null\",\"script\":\"b3V0Y29tZSA9ICJsZWdhY3kiOwp2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZihnZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiKT09dHJ1ZSkgewogIG91dGNvbWUgPSAicHdkbGVzcyI7Cn0KCmZ1bmN0aW9uIGdldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01bec3a8-105d-45dc-9f80-d003e1b33fa2\",\"name\":\"updateWebAuthNProfileNickname.js\",\"description\":\"null\",\"script\":\"dmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIHByb2ZpbGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIpOwp2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwp2YXIgbmV3Tmlja05hbWUgPSBvYmplY3RBdHRyaWJ1dGVzLmdldCgiY3VzdG9tX25pY2tuYW1lIik7Cgp2YXIgcHJvZmlsZXNBcnJheSA9IHByb2ZpbGVzLnRvQXJyYXkoKTsKCmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgcHJvZmlsZXNBcnJheVtpXT1wcm9maWxlc0FycmF5W2ldLnJlcGxhY2UoIk5ldyBTZWN1cml0eSBLZXkiLG5ld05pY2tOYW1lKTsKfQppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIixbXSk7CmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIscHJvZmlsZXNBcnJheVtpXSk7Cn0Kb3V0Y29tZSA9ICJzdWNjZXNzIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"18940a0d-2997-49af-8cb9-9d8da38b4145\",\"name\":\"resetPush.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCAicHVzaERldmljZVByb2ZpbGVzIixbXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"343b3cc5-38f4-4e37-9d92-8ba0830936da\",\"name\":\"wks-RemoveButton\",\"description\":\"RemoveButton\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7b88752e-5529-459c-a970-1fb78ff0d87f\",\"name\":\"Set Email Verified\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjEiCiAKICBpZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKHVzZXJuYW1lLCBhdHRyaWJ1dGUsIFsidmVyaWZpZWQiXSk7CiAgCiAgb3V0Y29tZSA9ICJ0cnVlIgp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":95,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 433770, + "text": "{\"result\":[{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICov\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"994a4e8f-2741-424a-83e7-3c5f78da01f5\",\"name\":\"Saml2 IDP Adapter Always Auth - imported (2)\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKewogICAgIkBvZGF0YS5jb250ZXh0IjogImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92MS4wLyRtZXRhZGF0YSN1c2Vycy8kZW50aXR5IiwKICAgICJAb2RhdGEuaWQiOiAiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YyLzcxMWZmYTljLTU5NzItNDcxMy1hY2UzLTY4OGM5NzMyNjE0YS9kaXJlY3RvcnlPYmplY3RzLzdkNzc1OWUyLTM2ZDgtNGU2NC1iMTczLTNmODkwZDdkNDZkNi9NaWNyb3NvZnQuRGlyZWN0b3J5U2VydmljZXMuVXNlciIsCiAgICAiYnVzaW5lc3NQaG9uZXMiOiBbCiAgICAgICAgIjE4MDE0NzM1NDUxIgogICAgXSwKICAgICJkaXNwbGF5TmFtZSI6ICJWb2xrZXIgU2NoZXViZXIiLAogICAgImdpdmVuTmFtZSI6ICJWb2xrZXIiLAogICAgImpvYlRpdGxlIjogbnVsbCwKICAgICJtYWlsIjogInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tIiwKICAgICJtb2JpbGVQaG9uZSI6IG51bGwsCiAgICAib2ZmaWNlTG9jYXRpb24iOiBudWxsLAogICAgInByZWZlcnJlZExhbmd1YWdlIjogbnVsbCwKICAgICJzdXJuYW1lIjogIlNjaGV1YmVyIiwKICAgICJ1c2VyUHJpbmNpcGFsTmFtZSI6ICJ2c2NoZXViZXJAdnNjaGV1YmVyLm9ubWljcm9zb2Z0LmNvbSIsCiAgICAiaWQiOiAiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2Igp9CiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci5tZXNzYWdlKCJLYXVhaSBNaWNyb3NvZnQgUHJvZmlsZSBOb3JtYWxpemF0aW9uOiByYXdQcm9maWxlPXt9IiwgcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgiZ3JvdXBzIiwgcmF3UHJvZmlsZS5ncm91cHMpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d2dc1ae7-ca1b-4ce4-81b8-5d58dfba73b1\",\"name\":\"Saml2 IDP Adapter Always Auth - imported (1)\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5ce0d38a-154c-4be5-bd22-f9879c77e895\",\"name\":\"FrodoSPAdapter - imported (1)\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fdb60c75-d58b-409f-bef2-ce4ebb04c77c\",\"name\":\"GitHub Profile Normalization (VS) - imported (2)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6002c349-f1d0-4317-baa2-a18590fc3cff\",\"name\":\"Okta Profile Normalization - imported (1)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"647f2a33-9211-4315-a83f-a521d8b77d7b\",\"name\":\"Okta Profile Normalization - imported (2)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fb09ba1b-e9b9-4517-8f11-a7cfe8b65dfd\",\"name\":\"FrodoSPAdapter - imported (2)\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5pbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZVxuXG5Kc29uVmFsdWUgbWFuYWdlZFVzZXIgPSBqc29uKG9iamVjdChcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcbiAgICAgICAgZmllbGQoXCJzblwiLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSxcbiAgICAgICAgZmllbGQoXCJtYWlsXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSxcbiAgICAgICAgZmllbGQoXCJ1c2VyTmFtZVwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxuXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwicG9zdGFsQWRkcmVzc1wiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxuaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwiY2l0eVwiLCBub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkpXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwic3RhdGVQcm92aW5jZVwiLCBub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzUmVnaW9uKVxuaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcInBvc3RhbENvZGVcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcbmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXCJjb3VudHJ5XCIsIG5vcm1hbGl6ZWRQcm9maWxlLmNvdW50cnkpXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcInRlbGVwaG9uZU51bWJlclwiLCBub3JtYWxpemVkUHJvZmlsZS5waG9uZSlcblxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XG4vLyB0aGVuIGFkZCBhIGJvb2xlYW4gZmxhZyB0byB0aGUgc2hhcmVkIHN0YXRlIHRvIGluZGljYXRlIG5hbWVzIGFyZSBub3QgcHJlc2VudFxuLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZVxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcbi8vIHRoZSB1c2VyIG9iamVjdCB3aXRoIGJsYW5rIHZhbHVlcyB3aGVuIGdpdmVuTmFtZSAgYW5kIGZhbWlseU5hbWUgaXMgbm90IHByZXNlbnRcbmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKVxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXG5zaGFyZWRTdGF0ZS5wdXQoXCJuYW1lRW1wdHlPck51bGxcIiwgbm9HaXZlbk5hbWUgJiYgbm9GYW1pbHlOYW1lKVxuXG5yZXR1cm4gbWFuYWdlZFVzZXJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"Ii8qXG4gKiBDdXN0b20gRGV2aWNlIE1hdGNoIFNjcmlwdFxuICovXG5cbm91dGNvbWUgPSBcInRydWVcIjsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiY2hhbmdlQG1lLmNvbSIKdmFyIHN1YmplY3RJZCA9IHJhd1Byb2ZpbGUuc3ViCnZhciB1c2VybmFtZSA9IHN1YmplY3RJZAp2YXIgZmlyc3ROYW1lID0gIiAiCnZhciBsYXN0TmFtZSA9ICIgIgoKaWYgKHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpICE9IG51bGwgJiYgc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikuZW1haWwgIT0gbnVsbCkgewogICAgZW1haWwgPSBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbAogICAgdXNlcm5hbWUgPSBlbWFpbAp9CgppZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoIm5hbWUiKSAmJiByYXdQcm9maWxlLm5hbWUuaXNOb3ROdWxsKCkpIHsKICAgIHZhciBzcGxpdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuYXNTdHJpbmcoKS5zcGxpdCgiICIpCiAgICBmaXJzdE5hbWUgPSBzcGxpdE5hbWVbMF0KICAgIGxhc3ROYW1lID0gc3BsaXROYW1lWy0xXQp9CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCBlbWFpbCksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIGZpcnN0TmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCBsYXN0TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgdXNlcm5hbWUpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"207f172f-ffb5-439d-b7df-e8e80408830b\",\"name\":\"GitHub Profile Normalization (VS) - imported (1)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"Ii8qIENoZWNrIFVzZXJuYW1lXG4gKlxuICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbVxuICogXG4gKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIGNvbGxlY3RlZC5cbiAqIFJldHVybiBcImtub3duXCIgaWYgeWVzLCBcInVua25vd25cIiBvdGhlcndpc2UuXG4gKiBcbiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuXG4gKiBcbiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDpcbiAqIC0ga25vd25cbiAqIC0gdW5rbm93blxuICovXG4oZnVuY3Rpb24gKCkge1xuICAgIGlmIChudWxsICE9IHNoYXJlZFN0YXRlLmdldChcInVzZXJuYW1lXCIpKSB7XG4gICAgICAgIG91dGNvbWUgPSBcImtub3duXCI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBvdXRjb21lID0gXCJ1bmtub3duXCI7XG4gICAgfVxufSgpKTsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQ==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5sb2dnZXIud2FybmluZyhcIkdpdEh1YiByYXdQcm9maWxlOiBcIityYXdQcm9maWxlKVxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSki\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XG4gKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy5cbiAqL1xuXG4vKlxuICogVGhpcyBzY3JpcHQgcmV0dXJucyB0aGUgc29jaWFsIGlkZW50aXR5IHByb2ZpbGUgaW5mb3JtYXRpb24gZm9yIHRoZSBhdXRoZW50aWNhdGluZyB1c2VyXG4gKiBpbiBhIHN0YW5kYXJkIGZvcm0gZXhwZWN0ZWQgYnkgdGhlIFNvY2lhbCBQcm92aWRlciBIYW5kbGVyIE5vZGUuXG4gKlxuICogRGVmaW5lZCB2YXJpYWJsZXM6XG4gKiByYXdQcm9maWxlIC0gVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBwcm9maWxlIGluZm9ybWF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpbmcgdXNlci5cbiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLlxuICogbG9nZ2VyIC0gVGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZTpcbiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuXG4gKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS5cbiAqICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIHJlYWxtIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0aW5nIHRvLlxuICogcmVxdWVzdEhlYWRlcnMgLSBUcmVlTWFwICgyKS5cbiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OlxuICogICAgICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuXG4gKiByZXF1ZXN0UGFyYW1ldGVycyAtIFRyZWVNYXAgKDIpLlxuICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy5cbiAqIHNlbGVjdGVkSWRwIC0gU3RyaW5nIChwcmltaXRpdmUpLlxuICogICAgICAgICAgICAgICBUaGUgc29jaWFsIGlkZW50aXR5IHByb3ZpZGVyIG5hbWUuIEZvciBleGFtcGxlOiBnb29nbGUuXG4gKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLlxuICogICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBhdXRoZW50aWNhdGlvbiB0cmVlIGFuZCBhbGxvd3MgZGF0YSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBzdGF0ZWxlc3Mgbm9kZXM6XG4gKiAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS5cbiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuXG4gKiAgICAgICAgICAgICAgICAgIFRoZSBvYmplY3QgZm9yIHN0b3Jpbmcgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHRoYXQgbXVzdCBub3QgbGVhdmUgdGhlIHNlcnZlciB1bmVuY3J5cHRlZCxcbiAqICAgICAgICAgICAgICAgICAgYW5kIHRoYXQgbWF5IG5vdCBuZWVkIHRvIHBlcnNpc3QgYmV0d2VlbiBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cyBkdXJpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHNlc3Npb246XG4gKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS5cbiAqXG4gKiBSZXR1cm4gLSBhIEpzb25WYWx1ZSAoMSkuXG4gKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuXG4gKiAgICAgICAgICBDdXJyZW50bHksIHRoZSBJbW1lZGlhdGVseSBJbnZva2VkIEZ1bmN0aW9uIEV4cHJlc3Npb24gKGFsc28ga25vd24gYXMgU2VsZi1FeGVjdXRpbmcgQW5vbnltb3VzIEZ1bmN0aW9uKVxuICogICAgICAgICAgaXMgdGhlIGxhc3QgKGFuZCBvbmx5KSBzdGF0ZW1lbnQgaW4gdGhpcyBzY3JpcHQsIGFuZCBpdHMgcmV0dXJuIHZhbHVlIHdpbGwgYmVjb21lIHRoZSBzY3JpcHQgcmVzdWx0LlxuICogICAgICAgICAgRG8gbm90IHVzZSBcInJldHVybiB2YXJpYWJsZVwiIHN0YXRlbWVudCBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gZGVmaW5pdGlvbi5cbiAqXG4gKiAgICAgICAgICBUaGlzIHNjcmlwdCdzIGxhc3Qgc3RhdGVtZW50IHNob3VsZCByZXN1bHQgaW4gYSBKc29uVmFsdWUgKDEpIHdpdGggdGhlIGZvbGxvd2luZyBrZXlzOlxuICogICAgICAgICAge1xuICogICAgICAgICAgICAgIHtcImRpc3BsYXlOYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiZW1haWxcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJmYW1pbHlOYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiZ2l2ZW5OYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiaWRcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJsb2NhbGVcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJwaG90b1VybFwiOiBcImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlXCJ9LFxuICogICAgICAgICAgICAgIHtcInVzZXJuYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn1cbiAqICAgICAgICAgIH1cbiAqXG4gKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC5cbiAqICAgICAgICAgIEZvciBleGFtcGxlLCB0aGUgc2NyaXB0IGFzc29jaWF0ZWQgd2l0aCB0aGUgU29jaWFsIFByb3ZpZGVyIEhhbmRsZXIgTm9kZSBhbmQsXG4gKiAgICAgICAgICB1bHRpbWF0ZWx5LCB0aGUgbWFuYWdlZCBvYmplY3QgY3JlYXRlZC91cGRhdGVkIHdpdGggdGhpcyBkYXRhXG4gKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLlxuICogICAgICAgICAgSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6XG4gKiAgICAgICAgICB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cbiAqXG4gKiAgICAgICAgICBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlXG4gKiAgICAgICAgICBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cbiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLlxuICpcbiAqICgxKSBKc29uVmFsdWUgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svanNvbi9Kc29uVmFsdWUuaHRtbC5cbiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuXG4gKiAoMykgTGlua2VkSGFzaE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLlxuICovXG5cbihmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcihcbiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZVxuICAgICk7XG5cbiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpO1xuICBcbiAgXHQvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTtcblxuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2lkJywgcmF3UHJvZmlsZS5nZXQoJ3N1YicpLmFzU3RyaW5nKCkpO1xuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdlbWFpbCcsIHJhd1Byb2ZpbGUuZ2V0KCdtYWlsJykuYXNTdHJpbmcoKSk7XG4gICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgnZ2l2ZW5OYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkpO1xuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCd1c2VybmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCd1cG4nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdyb2xlcycsIHJhd1Byb2ZpbGUuZ2V0KCdyb2xlcycpLmFzU3RyaW5nKCkpO1xuICBcbiAgXHQvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gbm9ybWFsaXplZFByb2ZpbGVEYXRhOiAnK25vcm1hbGl6ZWRQcm9maWxlRGF0YSk7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZFByb2ZpbGVEYXRhO1xufSgpKTsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":77,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -112,17 +112,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "transfer-encoding", - "value": "chunked" - }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" + "value": "Mon, 09 Sep 2024 22:21:24 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -139,168 +135,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:22.535Z", - "time": 103, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 103 - } - }, - { - "_id": "07d163ce19bcc152182b85d8f79a2690", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-ReadUserName\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-ReadUserName%22" - }, - "response": { - "bodySize": 1500, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1500, - "text": "{\"result\":[{\"_id\":\"bae52680-c1ea-4a4b-be80-25db364d822a\",\"name\":\"wks-ReadUserName\",\"description\":\"Reading userName from Query Parameter \",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJmYWxzZSI7CmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikpIHsKICAgIHZhciB1c2VyTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikuZ2V0KDApKTsKICAgIHZhciBvYmplY3RBdHRyaWJ1dGVzID0gewogICAgICB1c2VyTmFtZTogdXNlck5hbWUKICAgIH0KICBzaGFyZWRTdGF0ZS5wdXQoIm9iamVjdEF0dHJpYnV0ZXMiLCBvYmplY3RBdHRyaWJ1dGVzKTsKICBvdXRjb21lID0gInRydWUiOwp9Ci8qCmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoImVtYWlsIikpIHsKICAgIHZhciBleHRlcm5hbGVtYWlsID0gcmVxdWVzdFBhcmFtZXRlcnMuZ2V0KCJlbWFpbCIpLmdldCgwKTsKICAgIHZhciBkZWNvZGVkRW1haWwgPSBkZWNvZGVVUklDb21wb25lbnQoZXh0ZXJuYWxlbWFpbCk7CiAgICB2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHsKICAgICAgZnJJbmRleGVkU3RyaW5nNTogZGVjb2RlZEVtYWlsCiAgICB9CiAgc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQoqLwoKCgoK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1500" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" }, { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 794, + "headersSize": 800, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:22.644Z", - "time": 52, + "startedDateTime": "2024-09-09T22:21:25.040Z", + "time": 177, "timings": { "blocked": -1, "connect": -1, @@ -308,11 +156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 52 + "wait": 177 } }, { - "_id": "306f5b3f9bae72de54660fbbffcb0b35", + "_id": "d83a6d63597bbf914f2080cfe22d9dda", "_order": 0, "cache": {}, "request": { @@ -329,11 +177,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -352,23 +200,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1666, + "headersSize": 2035, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"havePush.js\"" + "value": "name eq \"test-script-with-secrets-and-variables\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22havePush.js%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22test-script-with-secrets-and-variables%22" }, "response": { - "bodySize": 677, + "bodySize": 244, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 677, - "text": "{\"result\":[{\"_id\":\"0cc09f53-7183-4829-a93a-1b3308318ba9\",\"name\":\"havePush.js\",\"description\":\"null\",\"script\":\"dmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpOwppZihwdXNoRGV2aWNlUHJvZmlsZXMubGVuPjApIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cgp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 244, + "text": "{\"result\":[{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -390,7 +238,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -418,15 +266,15 @@ }, { "name": "content-length", - "value": "677" + "value": "244" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -451,8 +299,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:22.702Z", - "time": 53, + "startedDateTime": "2024-09-09T22:21:25.225Z", + "time": 349, "timings": { "blocked": -1, "connect": -1, @@ -460,11 +308,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 349 } }, { - "_id": "91ace92f5115d94b26cb380ff635ab0f", + "_id": "51a2d1bdf5235218615e430a782c680e", "_order": 0, "cache": {}, "request": { @@ -481,11 +329,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -504,23 +352,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1728, + "headersSize": 2036, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"Alpha endUserUIClient OAuth2 Access Token Modification Script\"" + "value": "name eq \"My Other Example Library Script\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20endUserUIClient%20OAuth2%20Access%20Token%20Modification%20Script%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Other%20Example%20Library%20Script%22" }, "response": { - "bodySize": 1061, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1061, - "text": "{\"result\":[{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 237, + "text": "{\"result\":[{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -542,7 +390,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -570,15 +418,15 @@ }, { "name": "content-length", - "value": "1061" + "value": "237" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -597,14 +445,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:22.762Z", - "time": 54, + "startedDateTime": "2024-09-09T22:21:25.580Z", + "time": 103, "timings": { "blocked": -1, "connect": -1, @@ -612,11 +460,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 103 } }, { - "_id": "fab0981ac687745158b06222a5c6fa65", + "_id": "d5a690f315ecdca4895304f9ae857943", "_order": 0, "cache": {}, "request": { @@ -633,11 +481,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -656,23 +504,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1670, + "headersSize": 2019, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"wks-NEO-Twillio\"" + "value": "name eq \"My Example Library\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-NEO-Twillio%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Example%20Library%22" }, "response": { - "bodySize": 8417, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 8417, - "text": "{\"result\":[{\"_id\":\"6aa47a41-af3d-4df3-a7a1-b1766cfeaf6b\",\"name\":\"wks-NEO-Twillio\",\"description\":\"null\",\"script\":\"LyoqCiAqIEBmaWxlIFRoaXMgc2NyaXB0IGRlbGl2ZXJzIGEgbWVzc2FnZSB3aXRoIHZhbHVlcyBmcm9tIHNoYXJlZCBzdGF0ZSB2aWEgVHdpbGlvIFNNUywgdXNpbmcgdGhlIGN1cnJlbnQgdXNlcidzIHRlbGVwaG9uZU51bWJlcgogKiBAdmVyc2lvbiAwLjEuMQogKiBAa2V5d29yZHMgc21zIG90cCBtZmEgdHdpbGlvIAogKi8KCi8qKgogKiBFbnZpcm9ubWVudCBzcGVjaWZpYyBUd2lsaW8gY29uZmlnIAogKi8KCnZhciB0d2lsaW9BY2NvdW50U2lkID0gIjxzZWNyZXQ+IjsgICAKdmFyIHR3aWxpb0FwaUtleVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9BcGlLZXlTZWNyZXQgPSAiPHNlY3JldD4iOwp2YXIgdHdpbGlvTWVzc2FnaW5nU2VydmljZVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9QaG9uZU51bWJlckZyb20gPSAiPHNlY3JldD4iOyAgICAKCi8qKgogKiBGdWxsIENvbmZpZ3VyYXRpb24gCiAqLwoKdmFyIGNvbmZpZyA9IHsKICAgIGFjY291bnRTaWQ6IHR3aWxpb0FjY291bnRTaWQsICAgIAogICAgYXBpS2V5U2lkOiB0d2lsaW9BcGlLZXlTaWQsCiAgICBhcGlLZXlTZWNyZXQ6IHR3aWxpb0FwaUtleVNlY3JldCwKICAgIHBob25lTnVtYmVyRnJvbTogdHdpbGlvUGhvbmVOdW1iZXJGcm9tLCAKICAgIG1lc3NhZ2luZ1NlcnZpY2VTaWQ6IHR3aWxpb01lc3NhZ2luZ1NlcnZpY2VTaWQsIAogICAgYmFzZVVyaTogImh0dHBzOi8vYXBpLnR3aWxpby5jb20vMjAxMC0wNC0wMSIsCiAgICBzaGFyZWRTdGF0ZUlkRmllbGQ6ICJfaWQiLAogICAgcGhvbmVOdW1iZXJGaWVsZDogInRlbGVwaG9uZU51bWJlciIsCiAgICBtZXNzYWdlVGVtcGxhdGU6ICJZb3VyIHNlY3VyaXR5IGNvZGUgaXMge3tvbmVUaW1lUGFzc3dvcmR9fSIsCiAgICBub2RlTmFtZTogInR3aWxpb1NtcyIKfTsKCi8qKgogKiBOb2RlIG91dGNvbWVzCiAqLwoKIHZhciBOb2RlT3V0Y29tZSA9IHsKICAgIERFTElWRVJFRDogICJkZWxpdmVyZWQiLAogICAgQVVUSEZBSUxFRDogImF1dGhGYWlsZWQiLAogICAgTk9QSE9ORTogICAgIm5vUGhvbmUiLAogICAgRVJST1I6ICAgICAgImVycm9yIgp9OwoKLyoqCiAqIEV4dGVybmFsIGRlcGVuZGVuY2llcwogKi8KCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sudXRpbC5lbmNvZGUuQmFzZTY0LAogICAgamF2YS5sYW5nLlN0cmluZwopOwoKLyoqCiAqIEFkZCB0aGUgbm9kZSBpbmZvIHByZWZpeCB0byBhIGxvZyBtZXNzYWdlCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gdGhlIG1lc3NhZ2UgYm9keQogKiBAcmV0dXJucyBhIHRhZ2dlZCB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlCiAqLwpmdW5jdGlvbiB0YWcobWVzc2FnZSkgewogICAgcmV0dXJuICIqKioiLmNvbmNhdChjb25maWcubm9kZU5hbWUpLmNvbmNhdCgiICIpLmNvbmNhdChtZXNzYWdlKTsKfQoKLyoqCiAqIExvZyBhbiBIVFRQIHJlc3BvbnNlCiAqIAogKiBAcGFyYW0ge1Jlc3BvbnNlfSBIVFRQIHJlc3BvbnNlIG9iamVjdAogKi8KZnVuY3Rpb24gbG9nUmVzcG9uc2UocmVzcG9uc2UpIHsKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiU2NyaXB0ZWQgTm9kZSBIVFRQIFJlc3BvbnNlOiAiICsgcmVzcG9uc2UuZ2V0U3RhdHVzKCkgKyAiLCBCb2R5OiAiICsgcmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpKTsKfQoKLyoqCiAqIFJlc29sdmUgaGFuZGxlYmFyIHBsYWNlaG9sZGVycyBmcm9tIHNoYXJlZCBzdGF0ZQogKiAKICogQHBhcmFtIHt0ZW1wbGF0ZX0gaGFuZGxlYmFyIHRlbXBsYXRlCiAqLwpmdW5jdGlvbiByZXNvbHZlUGxhY2Vob2xkZXJzKHRlbXBsYXRlKSB7CiAgY29uc3QgcmVnZXggPSAve3suKj99fS9nOwogIGNvbnN0IHZhcmlhYmxlcyA9IHRlbXBsYXRlLm1hdGNoKHJlZ2V4KTsKCiAgaWYgKCF2YXJpYWJsZXMpIHsKICAgIHJldHVybiB0ZW1wbGF0ZTsKICB9CiAgCiAgdmFyIHJlc3VsdCA9IHRlbXBsYXRlOwogIAogIHZhcmlhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uIHN1YihlbGVtZW50KSB7IAogICAgdmFyIHZhck5hbWUgPSBlbGVtZW50LnJlcGxhY2UoL1t7fV0vZywiIik7CiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShlbGVtZW50LHNoYXJlZFN0YXRlLmdldCh2YXJOYW1lKSk7CiAgfSk7CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKLyoqCiAqIFNlbmQgYW4gU01TIHZpYSBUd2lsaW8KICogCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UgdG8gc2VuZAogKiBAcGFyYW0ge3N0cmluZ30gbnVtYmVyRnJvbSAtIFRoZSBvcmlnaW5hdGluZyBwaG9uZSBudW1iZXIvc2hvcnRjb2RlCiAqIEBwYXJhbSB7c3RyaW5nfSBudW1iZXJUbyAtIFRoZSBwaG9uZSBudW1iZXIgdG8gc2VuZCB0bwogKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnaW5nU2VydmljZVNpZCAtIFR3aWxpbyBtZXNzYWdpbmcgc2VydmljZSBTSUQKICogQHBhcmFtIHtzdHJpZ30gdXJpIC0gVGhlIFVSSSBvZiB0aGUgVHdpbGlvIEFQSSBlbmRwb2ludCAKICogQHBhcmFtIHtzdHJpbmd9IHNpZCAtIFRoZSBUd2lsaW8gYWNjb3VudCBvciBBUEkga2V5IFNJRAogKiBAcGFyYW0geyp9IHNlY3JldCAtIFRoZSBUd2lsaW8gYWNjb3VudCBhdXRoa2V5IG9yIEFQSSBrZXkgc2VjcmV0CiAqIEByZXR1cm5zIC0gQSBub2RlIG91dGNvbWUgCiAqLwpmdW5jdGlvbiBzZW5kU01TKG1lc3NhZ2UsIG51bWJlckZyb20sIG51bWJlclRvLCBtZXNzYWdpbmdTZXJ2aWNlU2lkLCB1cmksIHNpZCwgc2VjcmV0KSB7CgogICAgbG9nZ2VyLm1lc3NhZ2UodGFnKCJDYWxsaW5nIFR3aWxpbyBlbmRwb2ludCAiICsgdXJpKSk7CiAgICBsb2dnZXIubWVzc2FnZSh0YWcoIlNlbmRpbmcgdG8gIiArIG51bWJlclRvKSk7CgogICAgLy8gVHdpbGlvIHNlZW1zIG5vdCB0byBleHBlY3QgdGhlIGZvcm0gdmFsdWVzIHRvIGJlIFVSTCBlbmNvZGVkCgogICAgY29uc3QgcmVxdWVzdEJvZHkgPSAiQm9keT0iLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQobWVzc2FnZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZGcm9tPSIpLmNvbmNhdChudW1iZXJGcm9tKSAgCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZUbz0iKS5jb25jYXQobnVtYmVyVG8pCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZNZXNzYWdpbmdTZXJ2aWNlU2lkPSIpLmNvbmNhdChtZXNzYWdpbmdTZXJ2aWNlU2lkKTsKICAKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiTWVzc2FnZSBib2R5ICIgKyByZXF1ZXN0Qm9keSkpOwoKICAgIGNvbnN0IGJhc2ljQXV0aCA9IGZyLkJhc2U2NC5lbmNvZGUoZnIuU3RyaW5nKHNpZC5jb25jYXQoIjoiKS5jb25jYXQoc2VjcmV0KSkuZ2V0Qnl0ZXMoKSk7CiAgICAKICAgIHZhciByZXNwb25zZTsKCiAgICB0cnkgewogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIlBPU1QiKTsKICAgICAgICByZXF1ZXN0LnNldFVyaSh1cmkpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQXV0aG9yaXphdGlvbiIsIkJhc2ljICIgKyBiYXNpY0F1dGgpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgcmVxdWVzdC5nZXRFbnRpdHkoKS5zZXRTdHJpbmcocmVxdWVzdEJvZHkpOwoKICAgICAgICByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIH0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiRXhjZXB0aW9uIGNhbGxpbmcgdHdpbGlvIGVuZHBvaW50ICIgKyBlKSk7CiAgICAgICAgcmV0dXJuIE5vZGVPdXRjb21lLkVSUk9SOwogICAgfQoKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLmdldFN0YXR1cygpLmdldENvZGUoKTsKCiAgICBpZiAoc3RhdHVzID09PSA0MDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJUd2lsaW8gYXV0aGVudGljYXRpb24gZmFpbGVkIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5BVVRIRkFJTEVEOyAgICAKICAgIH0KCiAgICBpZiAoc3RhdHVzICE9PSAyMDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJCYWQgSFRUUCByZXNwb25zZSBmcm9tIFR3aWxpbzogIiArIHN0YXR1cykpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsgICAgCiAgICB9CgogICAgdmFyIHJlc3BvbnNlSnNvbiA9IHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpOwoKICAgIGlmICghcmVzcG9uc2VKc29uKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIHZhciByZXNwb25zZU9iaiA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uKTsKCiAgICBpZiAoIXJlc3BvbnNlT2JqKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIGlmICghKHJlc3BvbnNlT2JqLmhhc093blByb3BlcnR5KCJzaWQiKSkpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBzaWQgcHJvcGVydHkgaW4gVHdpbGlvIHJlc3BvbnNlIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsKICAgIH0gIAoKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygibWVzc2FnZSBkZWxpdmVyZWQgc3VjY2Vzc2Z1bGx5IikpOwogICAgcmV0dXJuIE5vZGVPdXRjb21lLkRFTElWRVJFRDsKfQoKLyoqCiAqIE5vZGUgZW50cnkgcG9pbnQKICovCgpsb2dnZXIubWVzc2FnZSh0YWcoIm5vZGUgZXhlY3V0aW5nIikpOwoKdmFyIGlkOwp2YXIgdGVsZXBob25lTnVtYmVyczsKdmFyIG51bWJlclRvOwoKaWYgKCEoaWQgPSBzaGFyZWRTdGF0ZS5nZXQoY29uZmlnLnNoYXJlZFN0YXRlSWRGaWVsZCkpKSB7CiAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBpZCBpbiBzaGFyZWQgc3RhdGUiKSk7CiAgICBvdXRjb21lID0gTm9kZU91dGNvbWUuRVJST1I7Cn0KZWxzZSBpZiAoISh0ZWxlcGhvbmVOdW1iZXJzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgY29uZmlnLnBob25lTnVtYmVyRmllbGQpKSkgewogICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcGhvbmUgbnVtYmVycyBmb3IgdXNlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKCEobnVtYmVyVG8gPSB0ZWxlcGhvbmVOdW1iZXJzLnRvQXJyYXkoKVswXSkpIHsKICAgIGxvZ2dlci5lcnJvcih0YWcoIm5vIHRlbGVwaG9uZU51bWJlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKG51bWJlclRvID09PSAiIikgewogICAgbG9nZ2VyLmVycm9yKHRhZygiYmxhbmsgdGVsZXBob25lTnVtYmVyIikpOwogICAgb3V0Y29tZSA9IE5vZGVPdXRjb21lLk5PUEhPTkU7Cn0KZWxzZSB7CiAgICB2YXIgbWVzc2FnZSA9IHJlc29sdmVQbGFjZWhvbGRlcnMoY29uZmlnLm1lc3NhZ2VUZW1wbGF0ZSk7CiAgICB2YXIgdHdpbGlvVXJpID0gY29uZmlnLmJhc2VVcmkuY29uY2F0KCIvQWNjb3VudHMvIikuY29uY2F0KGNvbmZpZy5hY2NvdW50U2lkKS5jb25jYXQoIi9NZXNzYWdlcy5qc29uIik7CiAgICBvdXRjb21lID0gc2VuZFNNUyhtZXNzYWdlLCBjb25maWcucGhvbmVOdW1iZXJGcm9tLCBudW1iZXJUbywgY29uZmlnLm1lc3NhZ2luZ1NlcnZpY2VTaWQsIHR3aWxpb1VyaSwgY29uZmlnLmFwaUtleVNpZCwgY29uZmlnLmFwaUtleVNlY3JldCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 396, + "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"exports\":[{\"id\":\"MSG\",\"type\":\"String\"},{\"id\":\"add\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotal\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotalWithMessage\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -694,7911 +542,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:22.821Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "a8164adca1e0bf44ebac017fc5d0f3eb", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript2\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript2%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:22.877Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "b427b3c2ce2b156e6d63e4a2594eb9c4", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Save MFA Preference\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Save%20MFA%20Preference%22" - }, - "response": { - "bodySize": 1045, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1045, - "text": "{\"result\":[{\"_id\":\"39e615b2-898e-4178-ba30-f58bcc095797\",\"name\":\"Save MFA Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWYgKHNoYXJlZFN0YXRlLmdldCgid2ViLWF1dGhuLWNoYWxsZW5nZSIpICE9IG51bGwpIHsKICAgIG1mYVR5cGUgPSAid2ViYXV0aG4iOwogIH0gZWxzZSBpZiAoc2hhcmVkU3RhdGUuZ2V0KCJwdXNoUmVnaXN0cmF0aW9uVGltZW91dCIpICE9IG51bGwpIHsKICAgICAgIG1mYVR5cGUgPSAicHVzaCIKICB9CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgW21mYVR5cGVdKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1045" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:22.935Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "6d3985b76be90a623421cf1f1dab241b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1696, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"ADFS Profile Normalization (JS)\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22ADFS%20Profile%20Normalization%20%28JS%29%22" - }, - "response": { - "bodySize": 7358, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7358, - "text": "{\"result\":[{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7358" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:22.994Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "3e120ffd0f3a240e12418e808b5ff1eb", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"MutilevelSelect\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22MutilevelSelect%22" - }, - "response": { - "bodySize": 7033, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7033, - "text": "{\"result\":[{\"_id\":\"cf63df8d-30e4-4839-b671-5b24006a3204\",\"name\":\"MutilevelSelect\",\"description\":\"null\",\"script\":\"Ly8gbGVnYWN5IC0gbXVsdGlwbGUgY2hvaWNlIGNhbGxiYWNrcwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0LAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZSwKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLkNob2ljZUNhbGxiYWNrLAogIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ29uZmlybWF0aW9uQ2FsbGJhY2ssCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuSGlkZGVuVmFsdWVDYWxsYmFjaywKICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2ssCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0SW5wdXRDYWxsYmFjaywKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuQm9vbGVhbkF0dHJpYnV0ZUlucHV0Q2FsbGJhY2sKKTsKCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uKGMpIHsKICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpKjEwfDA7CiAgICAgIHZhciB2ID0gcjsKICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTApOwogIH0pOwp9CgpmdW5jdGlvbiBnZXRDb3VudHJpZXMoZGF0YSkgewogIHZhciBjID0gW107CiAgZGF0YS5mb3JFYWNoKGU9PmMucHVzaChlLm5hbWUpKTsKICByZXR1cm4gYzsKfQoKZnVuY3Rpb24gZ2V0U3RhdGVzKGRhdGEsIGMpIHsKICB2YXIgcyA9IFtdOwogIGRhdGFbY10uc3RhdGVzLmZvckVhY2goZT0+cy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBzOwp9CgpmdW5jdGlvbiBnZXRDaXRpZXMoZGF0YSwgYywgcykgewogIHZhciBjaSA9IFtdOwogIGRhdGFbY10uc3RhdGVzW3NdLmNpdGllcy5mb3JFYWNoKGU9PmNpLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIGNpOwp9CgpmdW5jdGlvbiBnZXREYXRhKCkgewogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICByZXF1ZXN0LnNldFVyaShyZXF1ZXN0VVJMKTsKICByZXF1ZXN0LnNldE1ldGhvZCgnR0VUJyk7CiAgcmVxdWVzdC5nZXRIZWFkZXJzKCkuYWRkKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsnKTsKICAKICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7ICAKICB2YXIgcmVzcG9uc2VDb2RlID0gcmVzcG9uc2UuZ2V0U3RhdHVzKCkuZ2V0Q29kZSgpOwogIGlmIChyZXNwb25zZUNvZGUgPT09IDIwMCkgewogICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogIH0gZWxzZSB7CiAgICByZXR1cm4gbnVsbDsKICB9Cn0KCihmdW5jdGlvbiAoKSB7CiAgdHJ5IHsKICAgIHZhciBhbmNob3IgPSBnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4Jyk7CiAgICB2YXIgZGF0YSA9IGdldERhdGEoKTsKICAgIHZhciBzdGF0ZXMgPSBbXTsKICAgIHZhciBjaXRpZXMgPSBbXTsKICAgIHZhciBzZWxlY3RlZENvdW50cnkgPSAwOwogICAgdmFyIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgc2VsZWN0ZWRDb3VudHJ5ID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKT9wYXJzZUludChub2RlU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKSk6MDsKICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICBzZWxlY3RlZFN0YXRlID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZFN0YXRlJyk/cGFyc2VJbnQobm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpKTowOwogICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgdmFyIGNiTGlzdCA9IFtdOwogICAgICB2YXIgY291bnRyeUNiID0gbmV3IGZyLkNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIGNvdW50cnlDYi5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIGNiTGlzdC5wdXNoKGNvdW50cnlDYik7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICB2YXIgc3RhdGVDYiA9IG5ldyBmci5DaG9pY2VDYWxsYmFjaygnU2VsZWN0IHN0YXRlJywgc3RhdGVzLCBzZWxlY3RlZFN0YXRlLCBmYWxzZSk7CiAgICAgIHN0YXRlQ2Iuc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZFN0YXRlKTsKICAgICAgY2JMaXN0LnB1c2goc3RhdGVDYik7CiAgICAgIGNpdGllcyA9IGdldENpdGllcyhkYXRhLCBzZWxlY3RlZENvdW50cnksIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGBMaXN0IG9mIGNpdGllcyBpbiAke3N0YXRlc1tzZWxlY3RlZFN0YXRlXX1gKSk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGUpKTsKICAgICAgfSk7CgogICAgICB2YXIgc2NyaXB0ID0gYAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnc2NyaXB0IGVudGVyJyk7CiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXNlbGVjdF9fb3B0aW9uJykuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zdCBodkNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlbGVjdGlvbkNoYW5nZWQnKTsKICAgICAgICAgICAgICBjb25zdCBldiA9IG5ldyBFdmVudCgiY2hhbmdlIik7CiAgICAgICAgICAgICAgaHZDYi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3RydWUnKTsKICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaW52b2tpbmcgY2hhbmdlIG9uIGhpZGRlbiB2YWx1ZSBpbnB1dCcpOwogICAgICAgICAgICAgIGh2Q2IuZGlzcGF0Y2hFdmVudChldik7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3N1Ym1pdHRpbmcuLi4nKTsKICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9naW5CdXR0b25fMCcpLmNsaWNrKCk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9KQogICAgICAgICAgfSkKICAgICAgICB9LCA1MCk7CiAgICAgIGA7CiAgICAgIGNiTGlzdC5wdXNoKG5ldyBmci5IaWRkZW5WYWx1ZUNhbGxiYWNrKCdzZWxlY3Rpb25DaGFuZ2VkJywgJ2ZhbHNlJykpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuQ29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydGaW5pc2gnXSwgMCkpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkpOwogICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZC5hcHBseShudWxsLCBjYkxpc3QpLmJ1aWxkKCk7CiAgICB9IGVsc2UgewogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGhpZGRlbiB0ZXh0IGlucHV0OiB7fScsIGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpKTsKICAgICAgaWYgKGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpID09ICd0cnVlJykgeyAvLyBjaGVjayB2YWx1ZSBvZiB0ZXh0IGlucHV0IGNhbGxiYWNrCiAgICAgICAgLy8gb25lIG9mIHRoZSBjYXRlZ29yeSBwaWNrZXJzIHdhcyBjaGFuZ2VkCiAgICAgICAgaWYoc2VsZWN0ZWRDb3VudHJ5ICE9IGNhbGxiYWNrcy5nZXQoMCkuZ2V0U2VsZWN0ZWRJbmRleGVzKClbMF0pIHsKICAgICAgICAgIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZWxlY3RlZFN0YXRlID0gY2FsbGJhY2tzLmdldCgxKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICB9CiAgICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBjb3VudHJ5IHt9Jywgc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOyAgCiAgICAgICAgc2hhcmVkU3RhdGUucHV0KCdzZWxlY3RlZENvdW50cnknLCBzZWxlY3RlZENvdW50cnkpOwogICAgICAgIHNoYXJlZFN0YXRlLnB1dCgnc2VsZWN0ZWRTdGF0ZScsIHNlbGVjdGVkU3RhdGUpOwogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCd1cGRhdGUnKS5idWlsZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHVzZXIgY2xpY2tlZCAiZmluaXNoIgogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCdjb21wbGV0ZScpLmJ1aWxkKCk7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7033" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.054Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "363a71f39643a664381fab9835743d38", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Check Username\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Check%20Username%22" - }, - "response": { - "bodySize": 1129, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1129, - "text": "{\"result\":[{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1129" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.114Z", - "time": 65, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 65 - } - }, - { - "_id": "1765289e6f5d93f97516bbad71fa265d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoSPAdapter\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoSPAdapter%22" - }, - "response": { - "bodySize": 10747, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10747, - "text": "{\"result\":[{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.183Z", - "time": 57, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 57 - } - }, - { - "_id": "e7c65f07a991b9e8c707db71628693e6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1668, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pwdlessSet.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pwdlessSet.js%22" - }, - "response": { - "bodySize": 1467, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1467, - "text": "{\"result\":[{\"_id\":\"f203173e-bceb-4e8e-8bde-52f2616b7278\",\"name\":\"pwdlessSet.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwpzZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiLCB0cnVlKTsKaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImFzc2lnbmVkRGFzaGJvYXJkIixbInJlZ2lzdGVyV2ViQXV0aE5EZXZpY2UiLCJzZXRVc2VybmFtZUxlc3MiLCJwZWVyUmVjb3ZlcnlFbWFpbCIsInBlZXJSZWNvdmVyeTFGQSIsICJyZWdpc3RlclB1c2giXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdCA9IEpTT04ucGFyc2UoU3RyaW5nKGZySWRtQ3VzdG9tQXR0cmlidXRlcy50b0FycmF5KClbMF0pKTsKICAgIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV0gPSBjdXN0b21BdHRyVmFsdWU7CiAgICB2YXIganNvbl9zdHJpbmcgPSBKU09OLnN0cmluZ2lmeShmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QpOwogICAgaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImZyLWlkbS1jdXN0b20tYXR0cnMiLFtqc29uX3N0cmluZ10pOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1467" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.244Z", - "time": 59, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 59 - } - }, - { - "_id": "6b041cdd91b1a940e2f050d4a2c575a6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1668, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Test-Script-1\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Test-Script-1%22" - }, - "response": { - "bodySize": 854, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 854, - "text": "{\"result\":[{\"_id\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\",\"name\":\"Test-Script-1\",\"description\":\"A test script that uses an environment variable and a secret variable\",\"script\":\"Ly8gQ2FsY3VsYXRlIEU9bWNeMiB1c2luZyBtID0gNDIKY29uc3QgYzIgPSBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi50ZXN0LnZhcmlhYmxlLmxpZ2h0Iik7CmNvbnNvbGUubG9nKGBFID0gJHs0MiAqIGMyICogYzJ9YCk7Ci8vIENhbGN1bGF0ZSB0aGUgYXJlYSBvZiBhIGNpcmNsZSB3aXRoIHJhZGl1cyByID0gNDIKY29uc3QgcGkgPSBwYXJzZUZsb2F0KHN5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LnBpIikpOwpjb25zb2xlLmxvZyhgQSA9ICR7cGkgKiA0MiAqIDQyfWApOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "854" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.307Z", - "time": 78, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 78 - } - }, - { - "_id": "9ae5250c7c369e659926259583ec72fe", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"hasWebAuthN.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22hasWebAuthN.js%22" - }, - "response": { - "bodySize": 776, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 776, - "text": "{\"result\":[{\"_id\":\"29be3f4a-cf40-4aca-8fe3-de40c9a801dd\",\"name\":\"hasWebAuthN.js\",\"description\":\"null\",\"script\":\"dmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKc2hhcmVkU3RhdGUucHV0KCJkZWJ1ZyIsd2ViYXV0aG5EZXZpY2VQcm9maWxlcyk7CmlmKHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMubGVuZ3RoPjIpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "776" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.390Z", - "time": 62, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 62 - } - }, - { - "_id": "0b5bdd5efa8fa86e894e34cbb0737401", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript3\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript3%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"3b2f6836-184c-4ee9-8a1d-557cb01837a5\",\"name\":\"FrodoTestScript3\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.458Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "5b160758e77e5641a3f36258878baa00", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"timerButton.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22timerButton.js%22" - }, - "response": { - "bodySize": 3752, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3752, - "text": "{\"result\":[{\"_id\":\"13aaf8de-cd8c-4b0e-9167-39ca1fb590a4\",\"name\":\"timerButton.js\",\"description\":\"null\",\"script\":\"Ly8gVGltZXIgQnV0dG9uIG5vZGUKLy8gT3V0Y29tZXM6IFsgInRydWUiLCAidGltZXIiIF0KCgpERUxBWT0xMDsKTUVTU0FHRT0iU2tpcCB0byB5b3VyIHByZWZlcnJlZCBtZXRob2QuLi4gIjsKQlVUVE9OVEVYVD0iU2VsZWN0IGFub3RoZXIgbG9naW4gbWV0aG9kIjsKCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5OYW1lQ2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKZnVuY3Rpb24gY3JlYXRlU2NyaXB0KCkgewogICAgcmV0dXJuIFN0cmluZygiIFxuXAogICAgICAgIHZhciBDT1VOVCA9ICIgKyBERUxBWSArICI7IFxuXAogICAgICAgIGZ1bmN0aW9uIGdvKG9icykgeyBcblwKICAgICAgICAgICAgY29uc3QgcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdOyBcblwKICAgICAgICAgICAgaWYgKHApIHsgXG5cCiAgICAgICAgICAgICAgICBwLmhpZGRlbiA9IHRydWU7IFxuXAogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGFiZWxbZm9yPScgKyBwLmlkICsgJ10nKS5oaWRkZW4gPSB0cnVlOyBcblwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpLmlubmVyVGV4dCA9ICciICsgQlVUVE9OVEVYVCArICInOyBcblwKICAgICAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7IFxuXAogICAgICAgICAgICAgICAgYi5jbGFzc0xpc3QuYWRkKFwiYnRuXCIsIFwibXQtM1wiLCBcImJ0bi1zZWNvbmRhcnlcIik7IFxuXAogICAgICAgICAgICAgICAgYi5pbm5lckhUTUwgPSAnIiArIE1FU1NBR0UgKyAiJyArIENPVU5UICsgJ3MnOyBcblwKICAgICAgICAgICAgICAgIGIub25jbGljayA9IGZ1bmN0aW9uKCkgeyBwLnZhbHVlPSdfX19USU1FX19fJzsgcC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7IH07IFxuXAogICAgICAgICAgICAgICAgcC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLCBwLm5leHRTaWJsaW5nKTsgXG5cCiAgICAgICAgICAgICAgICB2YXIgdCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeyBcblwKICAgICAgICAgICAgICAgICAgICBpZiAoQ09VTlQgPT0gMSkgeyBcblwKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0KTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHAudmFsdWU9J19fX1RJTUVfX18nOyBwLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dpbkJ1dHRvbl8wJykuY2xpY2soKTsgfSwgMjAwKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIENPVU5ULS07IFxuXAogICAgICAgICAgICAgICAgICAgICAgICBiLmlubmVySFRNTCA9ICciICsgTUVTU0FHRSArICInICsgQ09VTlQgKyAncyc7IFxuXAogICAgICAgICAgICAgICAgICAgIH0gXG5cCiAgICAgICAgICAgICAgICB9LCAxMDAwICk7IFxuXAogICAgICAgICAgICAgICAgaWYgKG9icykgb2JzLmRpc2Nvbm5lY3QoKTsgXG5cCiAgICAgICAgICAgICAgICByZXR1cm47IFxuXAogICAgICAgICAgICB9IFxuXAogICAgICAgIH0gXG5cCiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdKSBnbygpOyBcblwKICAgICAgICBlbHNlIHsgXG5cCiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucywgb2JzKSA9PiB7IGdvKG9icyk7IH0pOyBcblwKICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7IFxuXAogICAgICAgIH0gXG5cCiAgICAiKTsKfQoKCmlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKGNyZWF0ZVNjcmlwdCgpKSwKICAgICAgICBuZXcgZnIuTmFtZUNhbGxiYWNrKCJEVU1NWSIpCiAgICApLmJ1aWxkKCkKfSBlbHNlIHsKICAgIHZhciBjYiA9IGNhbGxiYWNrcy5nZXQoMSkuZ2V0TmFtZSgpOwogICAgaWYgKGNiID09PSAiX19fVElNRV9fXyIpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidGltZXIiKS5idWlsZCgpOwogICAgfSBlbHNlIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7CiAgICB9Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3752" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:22 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.519Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "196330af484d2bef6f816b5f21b41a08", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"MultilevelSelect\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22MultilevelSelect%22" - }, - "response": { - "bodySize": 4634, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4634, - "text": "{\"result\":[{\"_id\":\"95143d29-e417-49a8-a86c-a3b4cf8fd8ed\",\"name\":\"MultilevelSelect\",\"description\":\"null\",\"script\":\"CmZ1bmN0aW9uIGdldENvdW50cmllcyhkYXRhKSB7CiAgdmFyIGMgPSBbXTsKICBkYXRhLmZvckVhY2goZT0+Yy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBjOwp9CgpmdW5jdGlvbiBnZXRTdGF0ZXMoZGF0YSwgYykgewogIHZhciBzID0gW107CiAgZGF0YVtjXS5zdGF0ZXMuZm9yRWFjaChlPT5zLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIHM7Cn0KCmZ1bmN0aW9uIGdldENpdGllcyhkYXRhLCBjLCBzKSB7CiAgdmFyIGNpID0gW107CiAgZGF0YVtjXS5zdGF0ZXNbc10uY2l0aWVzLmZvckVhY2goZT0+Y2kucHVzaChlLm5hbWUpKTsKICByZXR1cm4gY2k7Cn0KCmZ1bmN0aW9uIGdldERhdGEoKSB7CiAgdmFyIHJlcXVlc3RPcHRpb25zID0gewogICAgbWV0aG9kOiAnR0VUJywKICB9CgogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3RVUkwsIHJlcXVlc3RPcHRpb25zKS5nZXQoKTsKCiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7CiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXNwb25zZS50ZXh0KCkpOwogIH0gZWxzZSB7CiAgICBudWxsOwogIH0KfQoKKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIGRhdGEgPSBnZXREYXRhKCk7CiAgICB2YXIgc3RhdGVzID0gW107CiAgICB2YXIgY2l0aWVzID0gW107CiAgICB2YXIgc2VsZWN0ZWRDb3VudHJ5ID0gMDsKICAgIHZhciBzZWxlY3RlZFN0YXRlID0gMDsKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIHNlbGVjdGVkQ291bnRyeSA9IG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpKTowOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNlbGVjdGVkIGNvdW50cnkge30nLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBzZWxlY3RlZFN0YXRlID0gbm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkU3RhdGUnKSk6MDsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3Qgc3RhdGUnLCBzdGF0ZXMsIHNlbGVjdGVkU3RhdGUsIGZhbHNlKTsKICAgICAgY2l0aWVzID0gZ2V0Q2l0aWVzKGRhdGEsIHNlbGVjdGVkQ291bnRyeSwgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAxJyk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBlKTsKICAgICAgfSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAyJyk7CiAgICAgIGNhbGxiYWNrc0J1aWxkZXIuY29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydVcGRhdGUnLCAnQ29tcGxldGUnXSwgMCk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAzOiB7fScsIGNhbGxiYWNrcy5nZXRDaG9pY2VDYWxsYmFja3MoKS5zaXplKCkpOwogICAgICBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDApLnNldFNlbGVjdGVkSW5kZXgoc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDQnKTsKICAgICAgY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgxKS5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkU3RhdGUpOwoKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDUnKTsKICAgICAgdmFyIHNjcmlwdCA9IGAKICAgICAgICAgIGZ1bmN0aW9uIHNob3dPcmdEZXRhaWxzKCkgewogICAgICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CiAgICAgICAgICAgIHdyYXBwZXIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsICc8ZGl2PnRlc3Q8L2Rpdj4nKTsKICAgICAgICAgIH0KICAgICAgICAgIHNldFRpbWVvdXQoc2hvd09yZ0RldGFpbHMsIDEwMCk7CiAgICAgICAgICBgOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLnNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLmhpZGRlblZhbHVlQ2FsbGJhY2soJ3NlbGVjdGlvbkNoYW5nZWQnLCAnZmFsc2UnKQogICAgfSBlbHNlIHsKICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgwKVswXTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZXQgc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ3NlbGVjdGVkQ291bnRyeScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIHNlbGVjdGVkU3RhdGUgPSBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDEpWzBdOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCdzZWxlY3RlZFN0YXRlJywgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGlmIChjYWxsYmFja3MuZ2V0Q29uZmlybWF0aW9uQ2FsbGJhY2tzKCkuZ2V0KDApID09IDApIHsKICAgICAgICBvdXRjb21lID0gJ3VwZGF0ZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgb3V0Y29tZSA9ICdjb21wbGV0ZSc7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4634" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.578Z", - "time": 58, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 58 - } - }, - { - "_id": "1a05176e811af286cab7cd2351a67f5d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1698, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"GitHub Profile Normalization (VS)\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22GitHub%20Profile%20Normalization%20%28VS%29%22" - }, - "response": { - "bodySize": 1570, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1570, - "text": "{\"result\":[{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1570" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.641Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "14aafb5a130f24e5f2a8a21ebc2a8630", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"resetPushBomb.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22resetPushBomb.js%22" - }, - "response": { - "bodySize": 614, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 614, - "text": "{\"result\":[{\"_id\":\"e387c5d7-ceb8-459e-87e6-d09eca512385\",\"name\":\"resetPushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIF9pZCA9IHNoYXJlZFN0YXRlLmdldCgiX2lkIik7CnZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1zdHIyIjsKCmlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUsWyIiXSk7CgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "614" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.701Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "52794446c8f3a5d849b464d74d5ec188", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1673, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"selectFavFactor.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22selectFavFactor.js%22" - }, - "response": { - "bodySize": 4348, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4348, - "text": "{\"result\":[{\"_id\":\"3c9d3b4a-b38c-4c77-a8d7-4b937e48f62f\",\"name\":\"selectFavFactor.js\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheXMgTUZBIG9wdGlvbnMgZmlsdGVyZWQgYnkgdXNlcnMgcHJlZmVyZW5jZXMKdmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKdmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpLnRvU3RyaW5nKCk7Cgp2YXIgaGFzV2ViQXV0aE49ZmFsc2U7CnZhciBoYXNQdXNoPWZhbHNlOwoKaWYod2ViYXV0aG5EZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzV2ViQXV0aE4gPSB0cnVlOwp9CmlmKHB1c2hEZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzUHVzaCA9IHRydWU7Cn0KCgptZmFzID0geyAKICAgICAgICAgICJQdXNoIjogIlB1c2ggbm90aWZpY2F0aW9uIHZpYSBhdXRoZW50aWNhdG9yIGFwcCIsIAogICAgICAgICAiV2ViQXV0aE4iOiAiU2VjdXJpdHkgS2V5L1RvdWNoSUQvV2luZG93c0hlbGxvL1Bhc3NLZXkiLCAKICAgICAgICAgICAvLyJRUiIgOiAiUVIgQ29kZSBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgICJTTVMiIDogIlNNUyBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8iRW1haWwiIDogIkUtbWFpbCBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8gIlNNU01MIiA6ICJTTVMgTWFnaWMgTGluayIKICAgICAgIH07CgoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ2hvaWNlQ2FsbGJhY2sKKQoKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKCi8vIEFkZCBlbnRyeSB0byBtdWx0aSB2YWx1ZQp2YXIgY2hvaWNlcyA9IFtdOwppZihoYXNQdXNoPT10cnVlKXsKICAgICAgY2hvaWNlcy5wdXNoKG1mYXMuUHVzaCk7Cn0KaWYoaGFzV2ViQXV0aE49PXRydWUpewogICAgICBjaG9pY2VzLnB1c2gobWZhcy5XZWJBdXRoTik7CiAgICAgIC8vY2hvaWNlcy5wdXNoKG1mYXMuUVIpOwogICAgICAvL2Nob2ljZXMucHVzaChtZmFzLlNNUyk7CiAgICAvL2Nob2ljZXMucHVzaChtZmFzLkVtYWlsKTsKCn0KLy9jaG9pY2VzLnB1c2gobWZhcy5TTVNNTCk7CmZ1bmN0aW9uIHNldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUsY3VzdG9tQXR0clZhbHVlKQp7CiAgdmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCdfaWQnKTsKICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgJ2ZyLWlkbS1jdXN0b20tYXR0cnMnKTsKICBpZiAoZnJJZG1DdXN0b21BdHRyaWJ1dGVzKQogIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCgovL0NhbGxiYWNrIHRvIHByZXNlbnQgYW5kIHJldHJpZXZlIHNlbGVjdGVkIG9yZyBhbmQgc2V0Ci8vc2VsZWN0ZWQgdGhlbWUgZm9yIHNldHRpbmcgaW4gdGhlIG5leHQgbm9kZQoKCgp3aXRoIChmcikgewogICAgICBpZiAoY2hvaWNlcy5sZW5ndGggPCAyKSBhY3Rpb24gPSBBY3Rpb24uZ29UbyhvdXRjb21lKS5idWlsZCgpOwogICAgZWxzZSB7CiAgICAgICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAiU3Ryb25nIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkLiBQbGVhc2Ugc2VsZWN0IHlvdXIgcHJlZmVycmVkIGZvcm0gb2Ygc3Ryb25nIGF1dGhlbnRpY2F0aW9uIGZyb20gdGhlIGxpc3QgYmVsb3cuIiwKICAgICAgICAgICAgICAgICAgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApLndpdGhTdGFnZShKU09OLnN0cmluZ2lmeSh7ICJDaG9pY2VDYWxsYmFjayI6IFsgeyAiZGlzcGxheVR5cGUiOiJyYWRpbyIgfSBdIH0pKS53aXRoSGVhZGVyKCJDaG9vc2UgTWV0aG9kIikuYnVpbGQoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkTmFtZTsKICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG1mYXMpIGlmIChjaG9pY2VzW3NlbGVjdGVkSW5kZXhdID09IG1mYXNba2V5XSkgc2VsZWN0ZWROYW1lID0ga2V5OwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoInNlbGVjdGVkTmFtZSIsIHNlbGVjdGVkTmFtZSk7CiAgICAgICAgICAgICAgc2V0Q3VzdG9tQXR0clZhbHVlICgiY3VzdG9tX2Zhdm91cml0ZUZhY3RvciIsc2VsZWN0ZWROYW1lKTsKICAgICAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8oc2VsZWN0ZWROYW1lKS5idWlsZCgpOwogICAgICAgIH0gICAKICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4348" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.757Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "193c3c2054d3f1715bf9afab6efb5428", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1674, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"CheckIfValidSession\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22CheckIfValidSession%22" - }, - "response": { - "bodySize": 616, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 616, - "text": "{\"result\":[{\"_id\":\"3b7c5bbe-5a80-4ba1-8918-6a3e2ef891c4\",\"name\":\"CheckIfValidSession\",\"description\":\"Check if a valid session already exists\",\"script\":\"aWYgKHR5cGVvZiBleGlzdGluZ1Nlc3Npb24gIT09ICd1bmRlZmluZWQnKQp7CiAgb3V0Y29tZSA9ICJoYXNTZXNzaW9uIjsKfQplbHNlCnsKICBvdXRjb21lID0gIm5vU2Vzc2lvbiI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "616" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.813Z", - "time": 50, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 50 - } - }, - { - "_id": "3061b032426771626e9bedd19872123e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript1\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript1%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.866Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "48a4e51decbcd68b9b96980ee4cf93b3", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1683, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Demo - Journey Chooser\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Demo%20-%20Journey%20Chooser%22" - }, - "response": { - "bodySize": 6552, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 6552, - "text": "{\"result\":[{\"_id\":\"320012d2-ad02-401a-871e-3973db81a3d7\",\"name\":\"Demo - Journey Chooser\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheSBjaG9pY2Ugb2Ygam91cm5leXMKLy8gU2VlIGh0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20gZm9yIGV4YW1wbGUgaWNvbnMKdmFyIGpvdXJuZXlzID0gWwogIC8veyAibmFtZSI6ICJMZWdhY3kgTG9naW4iLCAidXJsIjogIkxvZ2luIiwgImljb24iOiAiMTI4LzYzMTcvNjMxNzU3Ny5wbmciIH0sCiAgeyAibmFtZSI6ICJMb2dpbiIsICJ1cmwiOiAiUGFzc3dvcmRsZXNzLU1hc3RlciIsICJpY29uIjogIjEyOC85Njk5Lzk2OTk1ODIucG5nIiB9LAogIC8veyAibmFtZSI6ICJSZWdpc3RlciIsICJ1cmwiOiAiRGVtby1Qd2RsZXNzLU5ldy1Vc2VyICIsICJpY29uIjogIjEyOC8xNjk4LzE2OTg1NzIucG5nIiB9LAogIC8veyAibmFtZSI6ICJRUiBMb2dpbiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVFSIiwgImljb24iOiAiMTI4LzEyODcvMTI4NzU1OC5wbmciIH0sCiAgLy97ICJuYW1lIjogIlNNUyBXZWJBdXRoTiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUyIsICJpY29uIjogIjEyOC8yNzA0LzI3MDQxNjcucG5nIiB9LAogIC8veyAibmFtZSI6ICJTTVMgTWFnaWMgTGluayIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUy1TaW1wbGUiLCAiaWNvbiI6ICIxMjgvMjcwNC8yNzA0MTY3LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiSUQgUHJvb2ZpbmciLCAidXJsIjogIkRlbW8tT25GaWRvIiwgImljb24iOiAiMTI4LzYwNjEvNjA2MTM5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlJlZ2lzdGVyK0lEVi1MaXZlIiwgInVybCI6ICJEZW1vLVNlbGZSZWdpc3RyYXRpb24iLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVnaXN0ZXIrSURWLVNhbmRib3giLCAidXJsIjogIkRlbW8tU2VsZlJlZ2lzdHJhdGlvblNhbmRib3giLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVtZW1iZXIgVXNlcm5hbWVzIiwgInVybCI6ICJEZW1vLVJlbWVtYmVyTXlVc2VybmFtZSIsICJpY29uIjogIjEyOC84ODkvODg5NjY4LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGVlciBSZWNvdmVyeSIsICJ1cmwiOiAiRGVtby1SZWNvdmVyeSIsICJpY29uIjogIjEyOC8yNTk3LzI1OTcxNDMucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIiwgInVybCI6ICJGaW5nZXJwcmludEpTIiwgImljb24iOiAiLzEyOC84MzM3LzgzMzc3MDIucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIFBybyIsICJ1cmwiOiAiRmluZ2VycHJpbnRQcm9KUyIsICJpY29uIjogIi8xMjgvODMzNy84MzM3NzAyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVzZXQgUGFzc3dvcmQiLCAidXJsIjogIlJlc2V0UGFzc3dvcmQiLCAiaWNvbiI6ICIxMjgvMTAwMC8xMDAwOTMzLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU29jaWFsIExvZ2luIiwgInVybCI6ICJEZW1vLVNvY2lhbCIsICJpY29uIjogIjEyOC8zMDAvMzAwMjIxLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU0FNTCIsICJ1cmwiOiAiRGVtby1TQU1MIiwgImljb24iOiAiMTI4LzI5LzI5NjExLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLU9BVEgiLCAidXJsIjogIkRlbW8tTUZBLU9BVEgiLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLVB1c2giLCAidXJsIjogIkRlbW8tTUZBLVB1c2giLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGFzc3dvcmRsZXNzIiwgInVybCI6ICJEZW1vLU1GQS1QYXNzd2RsZXNzIiwgImljb24iOiAiMTI4LzI3NjcvMjc2NzE0Ni5wbmciIH0sICAKICAvL3sgIm5hbWUiOiAiTUZBLUNob2ljZSIsICJ1cmwiOiAiRGVtby1NRkEtQ2hvaWNlIiwgImljb24iOiAiMTI4Lzc0NzYvNzQ3Njc5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlByb2dyZXNzaXZlIFByb2ZpbGUiLCAidXJsIjogIlByb2dyZXNzaXZlUHJvZmlsZSIsICJpY29uIjogIjEyOC83MzE5LzczMTk1MDkucG5nIiB9LAogIC8veyAibmFtZSI6ICJBZ2UtQmFzZWQgTG9naW4iLCAidXJsIjogIkRlbW8tQWdlQmFzZWRMb2dpbiIsICJpY29uIjogIjEyOC8zMDgxLzMwODE5NjkucG5nIiB9LAogIC8veyAibmFtZSI6ICJNdWx0aSBCcmFuZCIsICJ1cmwiOiAiRGVtby1NdWx0aUJyYW5kIiwgImljb24iOiAiMTI4LzY5ODAvNjk4MDczNS5wbmciIH0sCiAgLy97ICJuYW1lIjogIkFudGkgRnJhdWQiLCAidXJsIjogIjEtRGVtby1DaG9vc2VyLUF1dG9BY2Nlc3MiLCAiaWNvbiI6ICIxMjgvMjg2Ny8yODY3NzI1LnBuZyIgfSwKICAKICAKXQoKCnZhciBJQ09OUyA9ICJodHRwczovL2Nkbi1pY29ucy1wbmcuZmxhdGljb24uY29tLyIKdmFyIFNJWkUgPSAiMjQiOwoKdmFyIGNzcyA9ICIqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSAgLmNvbHVtbiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOmxlZnQ7IH0gLnJvdzphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDsgfSAuYm94IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgIGhlaWdodDogNjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwIDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgY29sb3I6IHJnYigwLCAwLCAwKTsgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMCk7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDoxcHg7IG1hcmdpbi1ib3R0b206IDJweDsgIH0gLmljb24geyBoZWlnaHQ6IDMycHg7IG1pbi13aWR0aDogMzJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0iOwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKCndpdGgoZnIpIHsKICAgIHZhciBzY3JpcHQ7CiAgICBmdW5jdGlvbiBjcmVhdGVTY3JpcHQoKSB7CiAgICAgICAgICB2YXIgbGVmdCA9ICIiOwogICAgICAgIHZhciByaWdodCA9ICIiOwogICAgICAgICAgZm9yIChpIGluIGpvdXJuZXlzKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gJzxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tYmxvY2sgYm94XCIgaHJlZj1cImh0dHBzOi8vb3BlbmFtLXZvbGtlci1kZW1vLmZvcmdlYmxvY2tzLmNvbS9hbS9YVUk/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPScgKyBqb3VybmV5c1tpXVsidXJsIl0gKyAnXCI+PGltZyBjbGFzcz1cImljb25cIiBzcmM9XCInICsgSUNPTlMgKyBqb3VybmV5c1tpXVsiaWNvbiJdICsgJ1wiPjxzcGFuPicgKyBqb3VybmV5c1tpXVsibmFtZSJdICsgJzwvc3Bhbj48L2E+JzsKICAgICAgICAgICAgICBpZiAoaSAlIDIgPT0gMCkgCiAgICAgICAgICAgICAgICAgIGxlZnQgKz0gZWxlbTsKICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgICAgICByaWdodCArPSBlbGVtOwogICAgICAgIH0KICAgICAgICByZXR1cm4gU3RyaW5nKCJkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkuaW5uZXJIVE1MID0gJyIgKyBjc3MgKyAiJyBcblwKICAgICAgICAgICAgdmFyIGNob29zZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaWQgPSAnY2hvb3Nlcic7IFxuXAogICAgICAgICAgICB2YXIgY2IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FsbGJhY2tzUGFuZWwnKTsgXG5cCiAgICAgICAgICAgIGNiLmluc2VydEJlZm9yZShjaG9vc2VyLCBjYi5maXJzdENoaWxkKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJyb3dcIj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IitsZWZ0KyI8L2Rpdj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IityaWdodCsiPC9kaXY+PC9kaXY+JyBcblwKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpKSB7IFxuXAogICAgICAgICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblt0eXBlPXN1Ym1pdF0nKTsgXG5cCiAgICAgICAgICAgICAgICBiLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbigpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nob29zZXInKS5yZW1vdmUoKTsgIH0pOyBcblwKICAgICAgICAgICAgfSBcblwKICAgICAgICAiKTsKICAgIH0gIAogIAogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IFNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhjcmVhdGVTY3JpcHQoKSkKICAgICAgICApLmJ1aWxkKCkKICAgIH0gZWxzZSBhY3Rpb24gPSBBY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "6552" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.921Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "bc60b63002c1eecace0496edd0cf81dd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1674, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-DisplayUserName\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-DisplayUserName%22" - }, - "response": { - "bodySize": 3288, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3288, - "text": "{\"result\":[{\"_id\":\"0ab1dc10-a54f-476f-ad07-2a04915cd443\",\"name\":\"wks-DisplayUserName\",\"description\":\"DisplayUserName\",\"script\":\"LyogRGlzcGxheSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBEaXNwbGF5IHRoZSB1c2VybmFtZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIG91dGNvbWUgPSAndHJ1ZSc7CiAgICB2YXIgdXNlcm5hbWUgPSBub2RlU3RhdGUuZ2V0KCd1c2VybmFtZScpLmFzU3RyaW5nKCk7CgogICAgLy8gU3BlY2lmeSB0aGUgbWVzc2FnZSB5b3Ugd2FudCB0byBkaXNwbGF5LiBZb3UgbWF5IHVzZSBIVE1MIGZvciBmb3JtYXR0aW5nLiBBdm9pZCBsaW5lIGJyZWFrcyEgVXNlIDxicj4gaW5zdGVhZC4KICAgIHZhciBtZXNzYWdlID0gJ1lvdXIgRW5jb3JlIHVzZXJuYW1lIGlzOjxoMyBzdHlsZT0iY29sb3I6IzI5NDhBNzsiPicrdXNlcm5hbWUrJzwvaDM+JzsKCiAgICB2YXIgYW5jaG9yID0gJ2FuY2hvci0nK2dlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKTsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gXAogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiBcCiAgICAgIGZ1bmN0aW9uIChlKSB7XG4gXAogICAgICAgIHZhciBtZXNzYWdlID0gZS5maXJzdEVsZW1lbnRDaGlsZDtcbiBcCiAgICAgICAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIithbmNob3IrIicpIHtcbiBcCiAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciK21lc3NhZ2UrIic7XG4gXAogICAgICAgIH1cbiBcCiAgICAgIH0pIjsKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgICAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICAgICkKICAgIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgICAgICBhbmNob3IKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9CiAgICBlbHNlIHsKICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgIH0KICB9IGNhdGNoIChlcnJvcikgewogICAgbG9nZ2VyLmVycm9yKCdFcnJvcjogJyArIGVycm9yKTsKICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7CiAgfQoKICAgLyoKICAgICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAgICogCiAgICAqIEV4YW1wbGU6CiAgICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICAqLwogIGZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbihjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkqMTB8MDsKICAgICAgICAgIHZhciB2ID0gcjsKICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDEwKTsKICAgICAgfSk7CiAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3288" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:23.979Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "cdfe982399a02cf5e2c34a763a4473ef", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1680, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Get esv admin token\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Get%20esv%20admin%20token%22" - }, - "response": { - "bodySize": 844, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 844, - "text": "{\"result\":[{\"_id\":\"9674f7d1-7448-4544-879e-91587bb04f46\",\"name\":\"Get esv admin token\",\"description\":\"Get esc admin token\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwp2YXIgYWRtaW5Ub2tlbiA9ICBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi5hZG1pbi50b2tlbiIpOwpzaGFyZWRTdGF0ZS5wdXQoJ2FkbWluVG9rZW4nLCBhZG1pblRva2VuKTsKb3V0Y29tZSA9ICJ0cnVlIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "844" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.036Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "de7aeea45f0d5f5bc11451a836edabc8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1663, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FR-Debug\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FR-Debug%22" - }, - "response": { - "bodySize": 16721, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 16721, - "text": "{\"result\":[{\"_id\":\"c0413dae-fdd1-45b7-9302-61d6ae02b194\",\"name\":\"FR-Debug\",\"description\":\"Debug to show AM States\",\"script\":\"LyogRElTQ0xBSU1FUjogVGhpcyBjb2RlIGlzIHByb3ZpZGVkIHRvIHlvdSBleHByZXNzbHkgYXMgYW4gZXhhbXBsZSAgKOKAnFNhbXBsZSBDb2Rl4oCdKS4gSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBpbmRpdmlkdWFsIHJlY2lwaWVudCB1c2VyLCBpbiBoaXMvaGVyIHNvbGUgZGlzY3JldGlvbiwgdG8gZGlsaWdlbmNlIHN1Y2ggU2FtcGxlIENvZGUgZm9yIGFjY3VyYWN5LCBjb21wbGV0ZW5lc3MsIHNlY3VyaXR5LCBhbmQgZmluYWwgZGV0ZXJtaW5hdGlvbiBmb3IgYXBwcm9wcmlhdGVuZXNzIG9mIHVzZS4gCiAqIEFOWSBTQU1QTEUgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiDigJxBUyBJU+KAnSBJUyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORC4gRk9SR0VST0NLIEFORCBJVFMgTElDRU5TT1JTIEVYUFJFU1NMWSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUywgIFdIRVRIRVIgRVhQUkVTUywgSU1QTElFRCwgT1IgU1RBVFVUT1JZLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTICBPRiBNRVJDSEFOVEFCSUxJVFksIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKiBGT1JHRVJPQ0sgU0hBTEwgTk9UIEhBVkUgQU5ZIExJQUJJTElUWSBBUklTSU5HIE9VVCBPRiBPUiBSRUxBVElORyBUTyBBTlkgVVNFLCBJTVBMRU1FTlRBVElPTiwgSU5URUdSQVRJT04sIE9SIENPTkZJR1VSQVRJT04gT0YgQU5ZIFNBTVBMRSBDT0RFIElOIEFOWSBQUk9EVUNUSU9OIEVOVklST05NRU5UIE9SIEZPUiBBTlkgQ09NTUVSQ0lBTCBERVBMT1lNRU5UKFMpLgogKgogKiBTY3JpcHQgTmFtZTogQU0gSm91cm5leSBUZW1wbGF0ZQogKgogKiBBdXRob3JzOiBzZUBmb3JnZXJvY2suY29tCiAqIAogKiBUaGlzIHNjcmlwdCBzaG93cyBhIGRlZmF1bHQgdGVtcGxhdGUgb24gaG93IHlvdXIgU2NyaXB0aW5nIERlY2lzaW9uIE5vZGUgc2NyaXB0cyBzaG91bGQgYmUgd3JpdHRlbi4KICogSXQgc2hvd3MgeW91IGhvdyB0byB3b3JrIHdpdGggc2hhcmVkU3RhdGUsIHRyYW5zaWVudFN0YXRlLCBzZWN1cmVTdGF0ZS4KICogVGhpcyBpcyBhIGdyZWF0IGRlYnVnIHNjcmlwdCB0byB1c2UgaW4gYW5kIG9mIGl0c2VsZiBhcyBpdCB3aWxsIGRpc3BsYXkgYWxsIHRocmVlIHN0YXRlcyBtZW50aW9uZWQgYWJvdmUgaW4gYSBmb3JtYXR0ZWQgdGFibGUKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBhcyBpcy4gCiAqIEl0IHJlcXVpcmVzIHNvbWUgbm9kZXMgdGhhdCBzZXQgYXQgbGVhc3Qgc2hhcmVkU3RhdGUgYmVmb3JlIGl0IGNhbiBvcGVyYXRlLgogKiBGb3IgZXhhbXBsZSwgc2V0IGEgcGFnZSBub2RlIHdpdGggUGxhdGZvcm0gVXNlcm5hbWUgYW5kIFBsYXRmb3JtIFBhc3N3b3JkIG5vZGVzCiAqIAogKiBUaGlzIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKKi8KCi8vIERvIGV2ZXJ5dGhpbmcgaW4gYSBzZWxmLWludm9raW5nIGZ1bmN0aW9uIGFuZCBkbyBub3Qgd3JpdGUgY29kZSBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gb3IgeW91IHdpbGwgcGF5IGRlYXJseS4gCi8vIFRoaXMgaXMgYmVjYXVzZSBvZiB0b3AtbGV2ZWwgc2NvcGluZy93aGl0ZWxpc3RpbmcvZXRjIGlzc3VlcyB0aGF0IGdpdmUgeW91ICd1bmRlZmluZWQnIGVycm9ycy4KKGZ1bmN0aW9uICgpIHsKICBsb2dnZXIubWVzc2FnZSgiU2NyaXB0OiBzdGFydCIpOyAvLyBiZWdpbmcgb2Ygc2NyaXB0IG1haW4KICBvdXRjb21lID0gInRydWUiOyAvLyA8LSBmaWxsIGluIGRlZmF1bHQgb3V0Y29tZSBoZXJlIGFuZCBpdCBzaG91bGQgbWF0Y2ggYSAiU2NyaXB0IE91dGNvbWVzIiBzZXR0aW5nIG9uIHRoaXMgbm9kZSBpdHNlbGYKCiAgLy8gYnVpbGQgb3V0cHV0IGh0bWwgdGFibGUgdGhhdCB3aWxsIGJlIHNlbnQgYmFjayB0byBicm93c2VyCiAgdmFyIG91dHB1dCA9IGNyZWF0ZUh0bWwoKTsKCiAgLy8gaXNzdWUgY2FsbGJhY2sgdG8gYnJvd3NlciBhZnRlciBvdXRwdXQgaHRtbCBpcyBidWlsdCBmcm9tIGNyZWF0ZUh0bWwoKSBmdW5jdGlvbgogIGRpc3BsYXlNZXNzYWdlKG91dHB1dCk7CiAgCiAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmlwdDogZW5kIik7IC8vIGVuZCBvZiBzY3JpcHQgbWFpbgoKICAvKgogICogUHV0IGZ1bmN0aW9ucyBiZWxvdyBoZXJlCiAgKi8KICBmdW5jdGlvbiBjcmVhdGVIdG1sKCkgewogICAgICB2YXIgaHRtbCA9ICI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkXCI+IjsKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlNoYXJlZCBTdGF0ZSBWYXJpYWJsZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIgogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICIiCiAgICAgICAgICAgICYmICIiK3N0YXRlS2V5ICE9PSAib2JqZWN0QXR0cmlidXRlcyIgIC8vIGdvaW5nIHRvIHB1bGwgb3V0IG9iamVjdEF0dHJpYnV0ZXMgbGF0ZXIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCiAgICAgICAgewogICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzdGF0ZUtleSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlRyYW5zaWVudCBTdGF0ZSBWYXJpYWJsZXMgKHRyYW5zaWVudFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmICh0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiB0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIiAKICAgICAgICAgICAgJiYgdHJhbnNpZW50U3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAiIgogICAgICAgICAgICAmJiAiIitzdGF0ZUtleSAhPT0gIm9iamVjdEF0dHJpYnV0ZXMiKSAKICAgICAgICB7CiAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHN0YXRlS2V5ICsgIjwvdGQ+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHRyYW5zaWVudFN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIC8vIEJ1aWxkIHRoZSB0YWJsZSBvZiBvYmplY3RBdHRyaWJ1dGVzIGluIHNoYXJlZFN0YXRlCiAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKSkKICAgICAgeyAgIAogICAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5TaGFyZWQgT2JqZWN0IEF0dHJpYnV0ZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAgIHZhciBlbnRyaWVzID0gc2hhcmVkU3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZW50cnlTZXQoKS50b0FycmF5KCk7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2UgZW50cnlTZXQoKS4gQ2FuIHVzZSBrZXlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRLZXkoKSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRWYWx1ZSgpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj5FTVBUWTwvdGQ+PC90cj4iOwogICAgICB9CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2Ygb2JqZWN0QXR0cmlidXRlcyBpbiB0cmFuc2llbnRTdGF0ZQogICAgICBpZiAodHJhbnNpZW50U3RhdGUuZ2V0KCJvYmplY3RBdHRyaWJ1dGVzIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+VHJhbnNpZW50IE9iamVjdCBBdHRyaWJ1dGVzICh0cmFuc2llbnRTdGF0ZS5nZXQpPC90aD48L3RyPjwvdGhlYWQ+IjsKICAgICAgICB2YXIga2V5cyA9IHRyYW5zaWVudFN0YXRlLmdldCgnb2JqZWN0QXR0cmlidXRlcycpLmtleVNldCgpLnRvQXJyYXkoKTsKICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2Uga2V5U2V0KCkuIENhbiB1c2UgZW50cnlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBrZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgdHJhbnNpZW50U3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZ2V0KGtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjb2xzcGFuPVwiMlwiPkVNUFRZPC90ZD48L3RyPiI7CiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5ub2RlU3RhdGUuZ2V0ICh0cmFuc2llbnRTdGF0ZSwgc2VjdXJlU3RhdGUsIHNoYXJlZFN0YXRlKTwvdGg+PC90cj48L3RoZWFkPiI7CiAgICAgIC8vIGdldCBhbGwgdGhlIGtleXMgaW4gbm9kZVN0YXRlCiAgICAgIHZhciBpdGVyYXRvciA9IG5vZGVTdGF0ZS5rZXlzKCkuaXRlcmF0b3IoKTsKICAgICAgdmFyIHN0YXRlS2V5cyA9IFtdOwogICAgICB3aGlsZSAoaXRlcmF0b3IuaGFzTmV4dCgpKSB7CiAgICAgICAgICBzdGF0ZUtleXMucHVzaChpdGVyYXRvci5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIH0KICAgICAgc3RhdGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlS2V5KSB7CiAgICAgICAgaWYgKG5vZGVTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBub2RlU3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAibnVsbCIKICAgICAgICAgICAgJiYgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkudG9TdHJpbmcoKSAhPT0gIiIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCgogICAgICAgIHsKICAgICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgc3RhdGVLZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBsb29raW5nIGZvciBhIHdheSB0byBidWlsZCB0aGlzIEFNIFVzZXIgUHJvZmlsZSBsaXN0IGR5bmFtaWNhbGx5CiAgICAgIHZhciBvYmpBTUF0dHJzID0gWwogICAgICAgICJ1aWQiLAogICAgICAgICJjbiIsCiAgICAgICAgImluZXRVc2VyU3RhdHVzIiwKICAgICAgICAiZ2l2ZW5OYW1lIiwKICAgICAgICAic24iLAogICAgICAgICJtYWlsIiwKICAgICAgICAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0ZWxlcGhvbmVOdW1iZXIiLAogICAgICAgICJzdHJlZXQiLAogICAgICAgICJsIiwKICAgICAgICAicG9zdGFsQ29kZSIsCiAgICAgICAgImNvIiwKICAgICAgICAic3QiLAogICAgICAgICJkaXNwbGF5TmFtZSIsCiAgICAgICAgImZyLWF0dHItaXN0cjEiLAogICAgICAgICJmci1hdHRyLWlzdHIyIiwKICAgICAgICAiZnItYXR0ci1pc3RyMyIsCiAgICAgICAgImZyLWF0dHItaXN0cjQiLAogICAgICAgICJmci1hdHRyLWlzdHI1IiwKICAgICAgICAiZnItYXR0ci1zdHIxIiwKICAgICAgICAiZnItYXR0ci1zdHIyIiwKICAgICAgICAiZnItYXR0ci1zdHIzIiwKICAgICAgICAiZnItYXR0ci1zdHI0IiwKICAgICAgICAiZnItYXR0ci1zdHI1IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkxIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkyIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk0IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk1IiwKICAgICAgICAiZnItYXR0ci1tdWx0aTEiLAogICAgICAgICJmci1hdHRyLW11bHRpMiIsCiAgICAgICAgImZyLWF0dHItbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1tdWx0aTQiLAogICAgICAgICJmci1hdHRyLW11bHRpNSIsCiAgICAgICAgImZyLWF0dHItaWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTIiLAogICAgICAgICJmci1hdHRyLWlkYXRlMyIsCiAgICAgICAgImZyLWF0dHItaWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTUiLAogICAgICAgICJmci1hdHRyLWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1kYXRlMiIsCiAgICAgICAgImZyLWF0dHItZGF0ZTMiLAogICAgICAgICJmci1hdHRyLWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1kYXRlNSIsCiAgICAgICAgImZyLWF0dHItaWludDEiLAogICAgICAgICJmci1hdHRyLWlpbnQyIiwKICAgICAgICAiZnItYXR0ci1paW50MyIsCiAgICAgICAgImZyLWF0dHItaWludDQiLAogICAgICAgICJmci1hdHRyLWlpbnQ1IiwKICAgICAgICAiZnItYXR0ci1pbnQxIiwKICAgICAgICAiZnItYXR0ci1pbnQyIiwKICAgICAgICAiZnItYXR0ci1pbnQzIiwKICAgICAgICAiZnItYXR0ci1pbnQ0IiwKICAgICAgICAiZnItYXR0ci1pbnQ1IgogICAgICBdOyAgCgogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2YgaWRSZXBvc2l0b3J5IGJpbmRpbmcKICAgICAgdmFyIGF0dHJzMjsKICAgICAgaWYgKHNoYXJlZFN0YXRlLmdldCgiX2lkIikgJiYgaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpLCAidWlkIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+aWRSZXBvc2l0b3J5IEFNIFVzZXIgUHJvZmlsZTwvdGg+PC90cj48L3RoZWFkPiI7ICAgICAgICAKICAgICAgICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwogICAgICAgIG9iakFNQXR0cnMuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikgewogICAgICAgICAgYXR0cnMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCBhdHRyKTsgIAogICAgICAgICAgaWYgKGF0dHJzICYmICIiK2F0dHJzICE9PSAibnVsbCIgJiYgIiIrYXR0cnMgIT09ICIiICYmICIiK2F0dHJzLnNpemUoKT4wKXsKICAgICAgICAgICAgaWYgKGF0dHJzLnNpemUoKT09PTEpewogICAgICAgICAgICAgICAgYXR0cnMgPSBzaW5nbGVWYWx1ZShhdHRycyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGF0dHIgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgYXR0cnMgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgCiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5SZXF1ZXN0IEhlYWRlcnM8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvL2h0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj4iICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSArICI8L3RkPjwvdHI+IjsKICAgICAgdmFyIHJIZWFkZXJzID0gU3RyaW5nKHJlcXVlc3RIZWFkZXJzKS5zcGxpdCgnXSwgJykubWFwKGZ1bmN0aW9uIChoZWFkZXIpewogICAgICAgIHJldHVybiBoZWFkZXIuc3BsaXQoJz0nKVswXS5yZXBsYWNlKCd7JywnJykucmVwbGFjZSgnfScsJycpOyAKICAgICAgfSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBySGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uIChoZWFkZXJOYW1lKSB7CiAgICAgICAgdmFyIGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGhlYWRlck5hbWUgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgaGVhZGVyLmdldCgwKSArICI8L3RkPjwvdHI+IjsKICAgICAgfSk7ICAgIAogICAgCiAgICBodG1sICs9ICI8L3RhYmxlPiI7CiAgICAgIAogICAgcmV0dXJuIGh0bWw7CiAgfQogIAogIC8vYnVpbGRzIHRoZSBodG1sIHRvIGRpc3BsYXkgdGhlIG1lc3NhZ2UgaW4gdGhlIGJyb3dzZXIgb24gdGhlIGNhbGxiYWNrCiAgLy91c2UgdmlldyBzb3VyY2UgaW4gYnJvd3NlciBhbmQgbG9vayBmb3IgY2xhc3M9ImNhbGxiYWNrLWNvbXBvbmVudCIgdG8gc2VlIGh0bWwgcmVzcG9uc2UKICBmdW5jdGlvbiBkaXNwbGF5TWVzc2FnZShtZXNzYWdlKSB7CiAgICAgIHZhciBhbmNob3IgPSAiYW5jaG9yLSIuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgICAgIHZhciBoYWxpZ24gPSAibGVmdCI7CiAgICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICAgICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAgICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgbWVzc2FnZS5zdHlsZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICB9XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifSkiKQogICAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suVGV4dE91dHB1dENhbGxiYWNrLAogICAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICAgICkKICAgICAgaWYgKG1lc3NhZ2UubGVuZ3RoICYmIGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKAogICAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgICAgYW5jaG9yCiAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICAgICAgICkuYnVpbGQoKQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgICAgfQogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqIFRoaXMgaXMgbmVlZGVkIHRvIGhhdmUgYSB1bmlxdWUgZGl2KGFuY2hvci14KSBvbiB0aGUgaHRtbCBjYWxsYmFjayB0aGF0IHdlIGNhbiBwb3B1bGF0ZSBkYXRhCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICAgIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxMCB8IDA7CiAgICAgICAgICB2YXIgdiA9IHI7CiAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICAgIH0pOwogIH0KCiAgLy8gZ2V0IGEgc2luZ2xlVmFsdWUgZnJvbSBhIEhhc2hTZXQKICBmdW5jdGlvbiBzaW5nbGVWYWx1ZSh4KQogIHsKICAgIGlmKHguc2l6ZSgpPjApCiAgICAgIHsKICAgICAgICByZXR1cm4geC5pdGVyYXRvcigpLm5leHQoKTsKICAgICAgfQogICAgICAKICAgIHJldHVybiAiIjsKICAgIAogIH0KCn0oKSk7IC8vIHNlbGYtaW52b2tpbmcgZnVuY3Rpb24=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.097Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "5e9aaa7940499ae88cb8e5c5b2d83090", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript4\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript4%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.159Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "abae260899074b15f700a18919a6f82f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1666, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pushBomb.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pushBomb.js%22" - }, - "response": { - "bodySize": 2069, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2069, - "text": "{\"result\":[{\"_id\":\"0414eed8-abfd-43bb-94b5-c841a8ba2c98\",\"name\":\"pushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjIiOwp2YXIgdGhyZXNob2xkID0gMjsKb3V0Y29tZSA9ICJkZWZhdWx0IjsKdmFyIG5vdyA9IG5ldyBEYXRlKCkgIAp2YXIgZXBvY2ggPSBNYXRoLnJvdW5kKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTsKdmFyIGVwb2NoQ3VycmVudE1pbnV0ZSA9IE1hdGgucm91bmQoZXBvY2gvNjApOwoKdmFyIHVzZXJBdHRyOwp2YXIgX2lkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIGVwb2NoQXR0ck1pbnV0ZT0wOwp2YXIgYXR0ZW1wdENvdW50PTE7Cgp2YXIgdXNlclByZWZlcmVuY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShfaWQsICJmci1pZG0tcHJlZmVyZW5jZXMiKS50b1N0cmluZygpOwoKaWYodXNlclByZWZlcmVuY2VzLmluZGV4T2YoIlwiY3VzdG9tX3B1c2hcIjp0cnVlIikgPiAtMSkKewogICAgb3V0Y29tZSA9ICJzdXNwZW5kZWQiOwp9CmVsc2UKewogIHZhciB1c2VyQXR0clJhdyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUpOwogIGlmICh1c2VyQXR0clJhdyAmJiB1c2VyQXR0clJhdy5pdGVyYXRvcigpLmhhc05leHQoKSkgewogICAgICB1c2VyQXR0ciA9IEpTT04ucGFyc2UodXNlckF0dHJSYXcuaXRlcmF0b3IoKS5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIGVwb2NoQXR0ck1pbnV0ZSA9IHVzZXJBdHRyWzBdOwogICAgICBhdHRlbXB0Q291bnQgPSB1c2VyQXR0clsxXTsKICAgICAgYXR0ZW1wdENvdW50ID0gYXR0ZW1wdENvdW50ICsgMTsKICB9CgogIC8vaWYoCgogIHZhciBuZXdBdHRyOwogIGlmKGVwb2NoQ3VycmVudE1pbnV0ZT09ZXBvY2hBdHRyTWludXRlKSB7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hBdHRyTWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSAgKyAiXSIpOwogIH0KICBlbHNlIHsKICAgICAgYXR0ZW1wdENvdW50PTE7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hDdXJyZW50TWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSArICJdIik7CiAgfQogIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCAiZnItYXR0ci1zdHIyIixbbmV3QXR0cl0pOwoKICBpZihhdHRlbXB0Q291bnQ+dGhyZXNob2xkKSB7CiAgICBvdXRjb21lID0gInRydWUiOwogIH0KICBlbHNlIHsKICAgIG91dGNvbWUgPSAiZmFsc2UiOwogIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2069" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.218Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "afa15dc27a4267006563eb6adc5fc01a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"debug\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22debug%22" - }, - "response": { - "bodySize": 3308, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3308, - "text": "{\"result\":[{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3308" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.274Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "2309a7f49a1fe4728cc77e95bde7fe41", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1696, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"My Example Script Using Libraries\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22My%20Example%20Script%20Using%20Libraries%22" - }, - "response": { - "bodySize": 796, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 796, - "text": "{\"result\":[{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "796" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.334Z", - "time": 57, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 57 - } - }, - { - "_id": "1f8cce56ecc6a4b46438c8bef34eec8c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"takeFavouriteFactor.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22takeFavouriteFactor.js%22" - }, - "response": { - "bodySize": 1032, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1032, - "text": "{\"result\":[{\"_id\":\"77e87451-bde9-40c0-84b1-02d4c97687f2\",\"name\":\"takeFavouriteFactor.js\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkKewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykKICB7CiAgICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICAgICAgcmV0dXJuIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV07CiAgfQp9Cgp2YXIgZmF2RmFjdG9yID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7Cm91dGNvbWUgPSBmYXZGYWN0b3I7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1032" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.396Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "75d67cb54b1596db4dd7aef88161182c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1710, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha OAuth2 Access Token Modification Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20OAuth2%20Access%20Token%20Modification%20Script%22" - }, - "response": { - "bodySize": 10105, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10105, - "text": "{\"result\":[{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.455Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "383132fe28b74d67e177962008c53d13", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"level\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22level%22" - }, - "response": { - "bodySize": 834, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 834, - "text": "{\"result\":[{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "834" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.513Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "314adfb3c1b8ba601a880bcd4515d2b6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1664, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"SaveLogin\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22SaveLogin%22" - }, - "response": { - "bodySize": 2987, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2987, - "text": "{\"result\":[{\"_id\":\"46074930-6a38-4e36-8985-1ed90b4bdb3b\",\"name\":\"SaveLogin\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgLy8gQ3JlYXRlIG5ldyBlbnRyeSB3aXRoIGRldmljZSBwcm9maWxlIGFuZCBkYXRlCiAgdmFyIHByb2ZpbGUgPSBzaGFyZWRTdGF0ZS5nZXQoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpOwogIHZhciBkYXRlID0gRGF0ZS5ub3coKQogIHZhciBpZGVudGlmaWVyID0gcHJvZmlsZS5nZXQoImlkZW50aWZpZXIiKQogIHZhciBwbGF0Zm9ybSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoInBsYXRmb3JtIikKICB2YXIgZGV2aWNlTmFtZSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoImRldmljZU5hbWUiKQogIHZhciBsYXRpdHVkZSA9IHByb2ZpbGUuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKQogIHZhciBsb25naXR1ZGUgPSBwcm9maWxlLmdldCgibG9jYXRpb24iKS5nZXQoImxvbmdpdHVkZSIpCiAgdmFyIHVzZXJBZ2VudCA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgiYnJvd3NlciIpLmdldCgidXNlckFnZW50Iik7CiAgdmFyIGJyb3dzZXIgPSAiIgogIAogIC8vIFdvcmsgb3V0IHdoaWNoIGJyb3dzZXIgdGhpcyBpcwogIGlmICh1c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCJGSVJFRk9YIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJGaXJlZm94IjsKICB9IGVsc2UgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpID4gLTEgJiYgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgLy8gQ2hyb21lIGNhbiBzb21ldGltZXMgbGlzdCBDaHJvbWUgZm9sbG93ZWQgYnkgU2FmYXJpIGluIHVzZXJBZ2VudAogICAgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpIDwgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikpIHsKICAgICAgYnJvd3NlciA9ICJDaHJvbWUiOwogICAgfQogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiQ0hST01FIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJDaHJvbWUiOwogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJTYWZhcmkiOwogIH0KICAKICB2YXIgZW50cnkgPSB7CiAgICAiZGF0ZSI6IERhdGUoKS50b1N0cmluZygpLAogICAgImxhc3RTZWxlY3RlZERhdGUiOiBkYXRlLAogICAgImRldmljZSI6IHsKICAgICAgImlkZW50aWZpZXIiOiBTdHJpbmcoaWRlbnRpZmllciksCiAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAicGxhdGZvcm0iOiB7CiAgICAgICAgICAicGxhdGZvcm0iOiBTdHJpbmcocGxhdGZvcm0pLAogICAgICAgICAgImRldmljZU5hbWUiOiBTdHJpbmcoZGV2aWNlTmFtZSkKICAgICAgICB9LAogICAgICAgICJicm93c2VyIjogYnJvd3NlcgogICAgICB9CiAgICB9LAogICAgImxvY2F0aW9uIjogewogICAgICAibGF0aXR1ZGUiOiBTdHJpbmcobGF0aXR1ZGUpLAogICAgICAibG9uZ2l0dWRlIjogU3RyaW5nKGxvbmdpdHVkZSkKICAgIH0KICB9CiAgCiAgLy8gQWRkIGVudHJ5IHRvIG11bHRpIHZhbHVlCiAgdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKQogIHZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkxIgogIGlkUmVwb3NpdG9yeS5hZGRBdHRyaWJ1dGUodXNlcm5hbWUsIGF0dHJpYnV0ZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2987" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:23 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.568Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "36cf1b4232865b8ec590209687e762ee", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1703, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha endUserUIClient OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20endUserUIClient%20OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41559, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41559, - "text": "{\"result\":[{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.627Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "1e5d993ae7967c35c67920283d9c1839", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1659, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"mode\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22mode%22" - }, - "response": { - "bodySize": 2093, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2093, - "text": "{\"result\":[{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2093" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.683Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "0ef369f427baa872ca4ee159a6fe7dc7", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"UOP Enrich Session\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22UOP%20Enrich%20Session%22" - }, - "response": { - "bodySize": 1914, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1914, - "text": "{\"result\":[{\"_id\":\"743351b3-001a-4ec8-b3ac-a674ddb8de22\",\"name\":\"UOP Enrich Session\",\"description\":\"Enrich user session with UOP class ID.\",\"script\":\"LyogVU9QIEVucmljaCBTZXNzaW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIEFkZCBjdXJyZW50IGNsYXNzIElEIHRvIHVzZXIgc2Vzc2lvbi4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuIAogKiBJdCByZXF1aXJlcyB0aGUgSWRlbnRpZnkgRXhpc3RpbmcgVXNlciBub2RlIGJlZm9yZSBpdCBpcyBiZWluZyBjYWxsZWQuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKiAtIGZhbHNlCiAqLwpsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBzdGFydCIpOwpvdXRjb21lID0gImZhbHNlIjsKCmlmIChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBnb2luZyB0byBlbnJpY2ggc2Vzc2lvbiB3aXRoIGNsYXNzIGlkOiAiLmNvbmNhdChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpKTsKICAKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaQogICAgKTsKCiAgICB3aXRoIChmcikgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJVT1AgRW5yaWNoIFNlc3Npb246IEVuZCAob3V0Y29tZT0iLmNvbmNhdChvdXRjb21lKS5jb25jYXQoIikiKSk7CiAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8ob3V0Y29tZSkucHV0U2Vzc2lvblByb3BlcnR5KCJVT1BDbGFzc0lEIiwgc2hhcmVkU3RhdGUuZ2V0KCJ1b3BDdXJyZW50Q2xhc3NJRCIpKS5idWlsZCgpOwogICAgfQogIAp9IGVsc2UgewogICAgbG9nZ2VyLmVycm9yKCJVT1AgRW5yaWNoIFNlc3Npb246IG5vIGNsYXNzZXMhIik7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBFbmQgKG91dGNvbWU9Ii5jb25jYXQob3V0Y29tZSkuY29uY2F0KCIpIikpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1914" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.745Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "3137a01335cedaf6a0d12265a00efda2", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1692, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Saml2 IDP Adapter Always Auth\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Saml2%20IDP%20Adapter%20Always%20Auth%22" - }, - "response": { - "bodySize": 7583, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7583, - "text": "{\"result\":[{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7583" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.802Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "94adfa06e33c4effe46def70f02b0ac3", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"EmailAsUsername\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22EmailAsUsername%22" - }, - "response": { - "bodySize": 925, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 925, - "text": "{\"result\":[{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "925" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.859Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "94b6f5831f71f65277b35a24d9930465", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1672, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Format Username\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Format%20Username%22" - }, - "response": { - "bodySize": 577, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 577, - "text": "{\"result\":[{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "577" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.914Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "5815d86994223e9f331ece096e7b80d0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"My Example Library\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22My%20Example%20Library%22" - }, - "response": { - "bodySize": 864, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 864, - "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "864" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:24.972Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "485f6b9ace3f0b78fc8fab7ff58f08f6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Impossible Traveller\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Impossible%20Traveller%22" - }, - "response": { - "bodySize": 3466, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3466, - "text": "{\"result\":[{\"_id\":\"d030f9fb-6d2d-4f5a-834d-b4f6304b8eb9\",\"name\":\"Impossible Traveller\",\"description\":\"null\",\"script\":\"Ly8gR2VvVmVsb2NpdHkgLyBJbXBvc3NpYmxlIEpvdXJuZXkgYXV0aGVudGljYXRpb24gc2NyaXB0Ci8vCi8vIE91dGNvbWVzIGZvciB0aGlzIHNjcmlwdCBhcmU6Ci8vICAgICAibm9Mb2NhdGlvbiIgLSB0aGUgZGV2aWNlJ3MgY3VycmVudCBsb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHNoYXJlZFN0YXRlCi8vICAgICAibm9IaXN0b3J5IiAgLSB0aGUgdXNlcidzIHByb2ZpbGUgZG9lc24ndCB5ZXQgY29udGFpbiBwcmV2aW91cyBkZXZpY2UgaGlzdG9yeQovLyAgICAgIm9rIiAgICAgICAgIC0gdGhlIHVzZXIncyBnZW92ZWxvY2l0eSBpcyBsb3dlciB0aGFuIHRoZSBtYXggYWNjZXB0YWJsZSBzcGVlZAovLyAgICAgICAiaW1wb3NzaWJsZSIgLSB0aGUgdXNlcidzIGdlb3ZlbG9jaXR5IGV4Y2VlZHMgbWF4IGFjY2VwdGFibGUgc3BlZWQKTUFYX1ZFTE9DSVRZPTMwMApmdW5jdGlvbiBjYWxjdWxhdGVEaXN0YW5jZShmaXJzdCwgc2Vjb25kKSB7CiAgICB2YXIgZmFjdG9yID0gKE1hdGguUEkgLyAxODApLAogICAgICAgIHRoZXRhLAogICAgICAgIGRpc3Q7CiAgICBmdW5jdGlvbiBkZWdyZWVzVG9SYWRpYW5zKGRlZ3JlZXMpIHsKICAgICAgICByZXR1cm4gZGVncmVlcyAqIGZhY3RvcjsKICAgIH0KICAgIGZ1bmN0aW9uIHJhZGlhbnNUb0RlZ3JlZXMocmFkaWFucykgewogICAgICAgIHJldHVybiByYWRpYW5zIC8gZmFjdG9yOwogICAgfQogICAgdGhldGEgPSBmaXJzdC5sb25naXR1ZGUgLSBzZWNvbmQubG9uZ2l0dWRlOwogICAgZGlzdCA9IE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKwogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKgogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnModGhldGEpKTsKICAgIGRpc3QgPSBNYXRoLmFjb3MoZGlzdCk7CiAgICBkaXN0ID0gcmFkaWFuc1RvRGVncmVlcyhkaXN0KTsKICAgIGRpc3QgPSBkaXN0ICogNjAgKiAxLjE1MTU7CiAgICByZXR1cm4gZGlzdDsKfTsKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKLy9kZXZpY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZSh1c2VybmFtZSwgImRldmljZVByb2ZpbGVzIikudG9BcnJheSgpOwpsb2dpbkhpc3RvcnkgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAiZnItYXR0ci1pbXVsdGkxIikudG9BcnJheSgpOwppZiAobG9naW5IaXN0b3J5Lmxlbmd0aCA9PSAwKSBvdXRjb21lID0gIm5vSGlzdG9yeSI7CmVsc2UgewogICAgICBvdXRjb21lID0gIm5vTG9jYXRpb24iOwogICAgICBpZiAoc2hhcmVkU3RhdGUuY29udGFpbnNLZXkoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpICYmIHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIikuY29udGFpbnNLZXkoImxvY2F0aW9uIikpIHsKICAgICAgICB2YXIgdGhpc0RldmljZSA9IHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIik7CiAgICAgICAgICBvdXRjb21lID0gIm9rIjsKICAgICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpCiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxvZ2luSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciBlbnRyeSA9IEpTT04ucGFyc2UobG9naW5IaXN0b3J5W2ldKTsKICAgICAgICAgICAgICB2YXIgbGFzdFNlbGVjdGVkRGF0ZSA9IGVudHJ5WyJsYXN0U2VsZWN0ZWREYXRlIl07CiAgICAgICAgICAgICAgdmFyIGxhc3RMb2NhdGlvbiA9IGVudHJ5WyJsb2NhdGlvbiJdOwogICAgICAgICAgICAgIHZhciB0aW1lRGlmZiA9IG5vdyAtIHBhcnNlSW50KGxhc3RTZWxlY3RlZERhdGUpOwogICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBjYWxjdWxhdGVEaXN0YW5jZSh7ICJsYXRpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKSwgImxvbmdpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibG9uZ2l0dWRlIikgfSwgbGFzdExvY2F0aW9uKTsKICAgICAgICAgICAgICB2ZWxvY2l0eSA9IGRpc3RhbmNlIC8gKHRpbWVEaWZmIC8gMzYwMDAwMCk7CiAgICAgICAgICAgICAgaWYgKHZlbG9jaXR5ID4gTUFYX1ZFTE9DSVRZKSBvdXRjb21lID0gImltcG9zc2libGUiOwogICAgICAgIH0KICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3466" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.028Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "65ed6dc43f368c735b1a0551b4cc17da", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41562, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41562, - "text": "{\"result\":[{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.086Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "a66d8fba03800d3791c7f6cfc04cbcc5", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1688, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Save Mobile OATH Preference\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Save%20Mobile%20OATH%20Preference%22" - }, - "response": { - "bodySize": 813, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 813, - "text": "{\"result\":[{\"_id\":\"0ca79cb0-ea11-4e87-adac-7f8aeebc8c03\",\"name\":\"Save Mobile OATH Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgWyJvYXRoIl0pOwogIAogIG91dGNvbWUgPSAidHJ1ZSIKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "813" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.147Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "bb0185bbe618edf37b3b81573659c176", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1676, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Set New Favourite\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Set%20New%20Favourite%22" - }, - "response": { - "bodySize": 1811, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1811, - "text": "{\"result\":[{\"_id\":\"e3b1018f-1b2e-4e96-9950-087bdfa13d6d\",\"name\":\"Set New Favourite\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkgewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpIHsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCnZhciBhdHRyID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7CmlmICghYXR0cil7CnNldEN1c3RvbUF0dHJWYWx1ZSAoImN1c3RvbV9mYXZvdXJpdGVGYWN0b3IiLCJXZWJBdXRoTiIpOwp9CgoKCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1811" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.204Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "d8b36e9647bacb5fb5169afeae53598f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1661, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"shared\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22shared%22" - }, - "response": { - "bodySize": 814, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 814, - "text": "{\"result\":[{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "814" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.260Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "d7355a4b7f7900930cfa14fc0e22eef6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Dummy\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Dummy%22" - }, - "response": { - "bodySize": 452, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 452, - "text": "{\"result\":[{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "452" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.321Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "fec901470ad24ffd46e16c9425bc5b3b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Debug Shared State\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Debug%20Shared%20State%22" - }, - "response": { - "bodySize": 1300, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1300, - "text": "{\"result\":[{\"_id\":\"634fb0b2-8873-4e78-8913-9a669e4f3816\",\"name\":\"Debug Shared State\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgZGVidWcgPSBTdHJpbmcoIlNoYXJlZCBzdGF0ZTogIiArIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGRlYnVnID0gU3RyaW5nKGRlYnVnICsgIlJlcXVlc3QgaGVhZGVyczogIiArIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdTZXNzaW9uICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgZGVidWcgPSBTdHJpbmcoZGVidWcgKyAiRXhpc3Rpbmcgc2Vzc2lvbjogIiArICJcXG4iKTsKICAgICAgfSAgCiAgICAgICAgIGxvZ2dlci5lcnJvcigiSk9OSzogIiArIGRlYnVnKTsKICAgICAgc2NyaXB0ID0gU3RyaW5nKCdhbGVydCgiJytkZWJ1ZysnIik7Jyk7CiAgICAgIGFjdGlvbiA9IEFjdGlvbi5zZW5kKG5ldyBTY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KSkuYnVpbGQoKTsKICB9CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1300" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.377Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "edb389c22d25c98fc8a100c57f0da42f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pwdlessCheck.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pwdlessCheck.js%22" - }, - "response": { - "bodySize": 1093, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1093, - "text": "{\"result\":[{\"_id\":\"40a38167-2371-4d49-bbf1-e0e97ace3132\",\"name\":\"pwdlessCheck.js\",\"description\":\"null\",\"script\":\"b3V0Y29tZSA9ICJsZWdhY3kiOwp2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZihnZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiKT09dHJ1ZSkgewogIG91dGNvbWUgPSAicHdkbGVzcyI7Cn0KCmZ1bmN0aW9uIGdldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1093" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.435Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "5466b43a77ca475a4e01825da5f1af63", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"updateWebAuthNProfileNickname.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22updateWebAuthNProfileNickname.js%22" - }, - "response": { - "bodySize": 1238, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1238, - "text": "{\"result\":[{\"_id\":\"01bec3a8-105d-45dc-9f80-d003e1b33fa2\",\"name\":\"updateWebAuthNProfileNickname.js\",\"description\":\"null\",\"script\":\"dmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIHByb2ZpbGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIpOwp2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwp2YXIgbmV3Tmlja05hbWUgPSBvYmplY3RBdHRyaWJ1dGVzLmdldCgiY3VzdG9tX25pY2tuYW1lIik7Cgp2YXIgcHJvZmlsZXNBcnJheSA9IHByb2ZpbGVzLnRvQXJyYXkoKTsKCmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgcHJvZmlsZXNBcnJheVtpXT1wcm9maWxlc0FycmF5W2ldLnJlcGxhY2UoIk5ldyBTZWN1cml0eSBLZXkiLG5ld05pY2tOYW1lKTsKfQppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIixbXSk7CmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIscHJvZmlsZXNBcnJheVtpXSk7Cn0Kb3V0Y29tZSA9ICJzdWNjZXNzIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1238" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.493Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "11fc76fd2f9a228b971725c8a994284b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Custom Device Match Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Custom%20Device%20Match%20Script%22" - }, - "response": { - "bodySize": 542, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 542, - "text": "{\"result\":[{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "542" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.551Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "329d94aa7b0eb4bf87dfbf6db589c1d9", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1667, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"resetPush.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22resetPush.js%22" - }, - "response": { - "bodySize": 578, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 578, - "text": "{\"result\":[{\"_id\":\"18940a0d-2997-49af-8cb9-9d8da38b4145\",\"name\":\"resetPush.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCAicHVzaERldmljZVByb2ZpbGVzIixbXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "578" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:24 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.606Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "c1c393209e95869bcd07a4e023ad042d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1689, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Inactive Device Match Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Inactive%20Device%20Match%20Script%22" - }, - "response": { - "bodySize": 546, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 546, - "text": "{\"result\":[{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "546" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.663Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "91b80ebe4ad9d6d3babb4519ccfd3574", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-RemoveButton\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-RemoveButton%22" - }, - "response": { - "bodySize": 1686, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"result\":[{\"_id\":\"343b3cc5-38f4-4e37-9d92-8ba0830936da\",\"name\":\"wks-RemoveButton\",\"description\":\"RemoveButton\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1686" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.719Z", - "time": 49, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 49 - } - }, - { - "_id": "a1a476f7f90af798330625d10b5e75d8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Remove Button\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Remove%20Button%22" - }, - "response": { - "bodySize": 1695, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1695, - "text": "{\"result\":[{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1695" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.771Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "d03f9e8a49c3663717f6f44885052a82", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Okta Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Okta%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1579, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1579, - "text": "{\"result\":[{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1579" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.827Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "945e3364d6ed180bc93576ef2f0f323d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Set Email Verified\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Set%20Email%20Verified%22" - }, - "response": { - "bodySize": 756, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 756, - "text": "{\"result\":[{\"_id\":\"7b88752e-5529-459c-a970-1fb78ff0d87f\",\"name\":\"Set Email Verified\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjEiCiAKICBpZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKHVzZXJuYW1lLCBhdHRyaWJ1dGUsIFsidmVyaWZpZWQiXSk7CiAgCiAgb3V0Y29tZSA9ICJ0cnVlIgp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -8626,15 +570,15 @@ }, { "name": "content-length", - "value": "756" + "value": "396" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -8659,8 +603,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:25.884Z", - "time": 50, + "startedDateTime": "2024-09-09T22:21:25.692Z", + "time": 138, "timings": { "blocked": -1, "connect": -1, @@ -8668,7 +612,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 138 } } ], diff --git a/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/2-Export-all-scripts-including-default-scripts_2102777644/recording.har b/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/2-Export-all-scripts-including-default-scripts_2102777644/recording.har index 44b8d2560..d69b5a5c7 100644 --- a/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/2-Export-all-scripts-including-default-scripts_2102777644/recording.har +++ b/src/test/mock-recordings/ScriptOps_3024995978/exportScripts_3396715418/2-Export-all-scripts-including-default-scripts_2102777644/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -48,7 +48,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1641, + "headersSize": 1981, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -60,11 +60,11 @@ "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=true" }, "response": { - "bodySize": 464939, + "bodySize": 433770, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 464939, - "text": "{\"result\":[{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae52680-c1ea-4a4b-be80-25db364d822a\",\"name\":\"wks-ReadUserName\",\"description\":\"Reading userName from Query Parameter \",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJmYWxzZSI7CmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikpIHsKICAgIHZhciB1c2VyTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikuZ2V0KDApKTsKICAgIHZhciBvYmplY3RBdHRyaWJ1dGVzID0gewogICAgICB1c2VyTmFtZTogdXNlck5hbWUKICAgIH0KICBzaGFyZWRTdGF0ZS5wdXQoIm9iamVjdEF0dHJpYnV0ZXMiLCBvYmplY3RBdHRyaWJ1dGVzKTsKICBvdXRjb21lID0gInRydWUiOwp9Ci8qCmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoImVtYWlsIikpIHsKICAgIHZhciBleHRlcm5hbGVtYWlsID0gcmVxdWVzdFBhcmFtZXRlcnMuZ2V0KCJlbWFpbCIpLmdldCgwKTsKICAgIHZhciBkZWNvZGVkRW1haWwgPSBkZWNvZGVVUklDb21wb25lbnQoZXh0ZXJuYWxlbWFpbCk7CiAgICB2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHsKICAgICAgZnJJbmRleGVkU3RyaW5nNTogZGVjb2RlZEVtYWlsCiAgICB9CiAgc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQoqLwoKCgoK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0cc09f53-7183-4829-a93a-1b3308318ba9\",\"name\":\"havePush.js\",\"description\":\"null\",\"script\":\"dmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpOwppZihwdXNoRGV2aWNlUHJvZmlsZXMubGVuPjApIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cgp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6aa47a41-af3d-4df3-a7a1-b1766cfeaf6b\",\"name\":\"wks-NEO-Twillio\",\"description\":\"null\",\"script\":\"LyoqCiAqIEBmaWxlIFRoaXMgc2NyaXB0IGRlbGl2ZXJzIGEgbWVzc2FnZSB3aXRoIHZhbHVlcyBmcm9tIHNoYXJlZCBzdGF0ZSB2aWEgVHdpbGlvIFNNUywgdXNpbmcgdGhlIGN1cnJlbnQgdXNlcidzIHRlbGVwaG9uZU51bWJlcgogKiBAdmVyc2lvbiAwLjEuMQogKiBAa2V5d29yZHMgc21zIG90cCBtZmEgdHdpbGlvIAogKi8KCi8qKgogKiBFbnZpcm9ubWVudCBzcGVjaWZpYyBUd2lsaW8gY29uZmlnIAogKi8KCnZhciB0d2lsaW9BY2NvdW50U2lkID0gIjxzZWNyZXQ+IjsgICAKdmFyIHR3aWxpb0FwaUtleVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9BcGlLZXlTZWNyZXQgPSAiPHNlY3JldD4iOwp2YXIgdHdpbGlvTWVzc2FnaW5nU2VydmljZVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9QaG9uZU51bWJlckZyb20gPSAiPHNlY3JldD4iOyAgICAKCi8qKgogKiBGdWxsIENvbmZpZ3VyYXRpb24gCiAqLwoKdmFyIGNvbmZpZyA9IHsKICAgIGFjY291bnRTaWQ6IHR3aWxpb0FjY291bnRTaWQsICAgIAogICAgYXBpS2V5U2lkOiB0d2lsaW9BcGlLZXlTaWQsCiAgICBhcGlLZXlTZWNyZXQ6IHR3aWxpb0FwaUtleVNlY3JldCwKICAgIHBob25lTnVtYmVyRnJvbTogdHdpbGlvUGhvbmVOdW1iZXJGcm9tLCAKICAgIG1lc3NhZ2luZ1NlcnZpY2VTaWQ6IHR3aWxpb01lc3NhZ2luZ1NlcnZpY2VTaWQsIAogICAgYmFzZVVyaTogImh0dHBzOi8vYXBpLnR3aWxpby5jb20vMjAxMC0wNC0wMSIsCiAgICBzaGFyZWRTdGF0ZUlkRmllbGQ6ICJfaWQiLAogICAgcGhvbmVOdW1iZXJGaWVsZDogInRlbGVwaG9uZU51bWJlciIsCiAgICBtZXNzYWdlVGVtcGxhdGU6ICJZb3VyIHNlY3VyaXR5IGNvZGUgaXMge3tvbmVUaW1lUGFzc3dvcmR9fSIsCiAgICBub2RlTmFtZTogInR3aWxpb1NtcyIKfTsKCi8qKgogKiBOb2RlIG91dGNvbWVzCiAqLwoKIHZhciBOb2RlT3V0Y29tZSA9IHsKICAgIERFTElWRVJFRDogICJkZWxpdmVyZWQiLAogICAgQVVUSEZBSUxFRDogImF1dGhGYWlsZWQiLAogICAgTk9QSE9ORTogICAgIm5vUGhvbmUiLAogICAgRVJST1I6ICAgICAgImVycm9yIgp9OwoKLyoqCiAqIEV4dGVybmFsIGRlcGVuZGVuY2llcwogKi8KCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sudXRpbC5lbmNvZGUuQmFzZTY0LAogICAgamF2YS5sYW5nLlN0cmluZwopOwoKLyoqCiAqIEFkZCB0aGUgbm9kZSBpbmZvIHByZWZpeCB0byBhIGxvZyBtZXNzYWdlCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gdGhlIG1lc3NhZ2UgYm9keQogKiBAcmV0dXJucyBhIHRhZ2dlZCB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlCiAqLwpmdW5jdGlvbiB0YWcobWVzc2FnZSkgewogICAgcmV0dXJuICIqKioiLmNvbmNhdChjb25maWcubm9kZU5hbWUpLmNvbmNhdCgiICIpLmNvbmNhdChtZXNzYWdlKTsKfQoKLyoqCiAqIExvZyBhbiBIVFRQIHJlc3BvbnNlCiAqIAogKiBAcGFyYW0ge1Jlc3BvbnNlfSBIVFRQIHJlc3BvbnNlIG9iamVjdAogKi8KZnVuY3Rpb24gbG9nUmVzcG9uc2UocmVzcG9uc2UpIHsKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiU2NyaXB0ZWQgTm9kZSBIVFRQIFJlc3BvbnNlOiAiICsgcmVzcG9uc2UuZ2V0U3RhdHVzKCkgKyAiLCBCb2R5OiAiICsgcmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpKTsKfQoKLyoqCiAqIFJlc29sdmUgaGFuZGxlYmFyIHBsYWNlaG9sZGVycyBmcm9tIHNoYXJlZCBzdGF0ZQogKiAKICogQHBhcmFtIHt0ZW1wbGF0ZX0gaGFuZGxlYmFyIHRlbXBsYXRlCiAqLwpmdW5jdGlvbiByZXNvbHZlUGxhY2Vob2xkZXJzKHRlbXBsYXRlKSB7CiAgY29uc3QgcmVnZXggPSAve3suKj99fS9nOwogIGNvbnN0IHZhcmlhYmxlcyA9IHRlbXBsYXRlLm1hdGNoKHJlZ2V4KTsKCiAgaWYgKCF2YXJpYWJsZXMpIHsKICAgIHJldHVybiB0ZW1wbGF0ZTsKICB9CiAgCiAgdmFyIHJlc3VsdCA9IHRlbXBsYXRlOwogIAogIHZhcmlhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uIHN1YihlbGVtZW50KSB7IAogICAgdmFyIHZhck5hbWUgPSBlbGVtZW50LnJlcGxhY2UoL1t7fV0vZywiIik7CiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShlbGVtZW50LHNoYXJlZFN0YXRlLmdldCh2YXJOYW1lKSk7CiAgfSk7CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKLyoqCiAqIFNlbmQgYW4gU01TIHZpYSBUd2lsaW8KICogCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UgdG8gc2VuZAogKiBAcGFyYW0ge3N0cmluZ30gbnVtYmVyRnJvbSAtIFRoZSBvcmlnaW5hdGluZyBwaG9uZSBudW1iZXIvc2hvcnRjb2RlCiAqIEBwYXJhbSB7c3RyaW5nfSBudW1iZXJUbyAtIFRoZSBwaG9uZSBudW1iZXIgdG8gc2VuZCB0bwogKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnaW5nU2VydmljZVNpZCAtIFR3aWxpbyBtZXNzYWdpbmcgc2VydmljZSBTSUQKICogQHBhcmFtIHtzdHJpZ30gdXJpIC0gVGhlIFVSSSBvZiB0aGUgVHdpbGlvIEFQSSBlbmRwb2ludCAKICogQHBhcmFtIHtzdHJpbmd9IHNpZCAtIFRoZSBUd2lsaW8gYWNjb3VudCBvciBBUEkga2V5IFNJRAogKiBAcGFyYW0geyp9IHNlY3JldCAtIFRoZSBUd2lsaW8gYWNjb3VudCBhdXRoa2V5IG9yIEFQSSBrZXkgc2VjcmV0CiAqIEByZXR1cm5zIC0gQSBub2RlIG91dGNvbWUgCiAqLwpmdW5jdGlvbiBzZW5kU01TKG1lc3NhZ2UsIG51bWJlckZyb20sIG51bWJlclRvLCBtZXNzYWdpbmdTZXJ2aWNlU2lkLCB1cmksIHNpZCwgc2VjcmV0KSB7CgogICAgbG9nZ2VyLm1lc3NhZ2UodGFnKCJDYWxsaW5nIFR3aWxpbyBlbmRwb2ludCAiICsgdXJpKSk7CiAgICBsb2dnZXIubWVzc2FnZSh0YWcoIlNlbmRpbmcgdG8gIiArIG51bWJlclRvKSk7CgogICAgLy8gVHdpbGlvIHNlZW1zIG5vdCB0byBleHBlY3QgdGhlIGZvcm0gdmFsdWVzIHRvIGJlIFVSTCBlbmNvZGVkCgogICAgY29uc3QgcmVxdWVzdEJvZHkgPSAiQm9keT0iLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQobWVzc2FnZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZGcm9tPSIpLmNvbmNhdChudW1iZXJGcm9tKSAgCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZUbz0iKS5jb25jYXQobnVtYmVyVG8pCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZNZXNzYWdpbmdTZXJ2aWNlU2lkPSIpLmNvbmNhdChtZXNzYWdpbmdTZXJ2aWNlU2lkKTsKICAKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiTWVzc2FnZSBib2R5ICIgKyByZXF1ZXN0Qm9keSkpOwoKICAgIGNvbnN0IGJhc2ljQXV0aCA9IGZyLkJhc2U2NC5lbmNvZGUoZnIuU3RyaW5nKHNpZC5jb25jYXQoIjoiKS5jb25jYXQoc2VjcmV0KSkuZ2V0Qnl0ZXMoKSk7CiAgICAKICAgIHZhciByZXNwb25zZTsKCiAgICB0cnkgewogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIlBPU1QiKTsKICAgICAgICByZXF1ZXN0LnNldFVyaSh1cmkpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQXV0aG9yaXphdGlvbiIsIkJhc2ljICIgKyBiYXNpY0F1dGgpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgcmVxdWVzdC5nZXRFbnRpdHkoKS5zZXRTdHJpbmcocmVxdWVzdEJvZHkpOwoKICAgICAgICByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIH0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiRXhjZXB0aW9uIGNhbGxpbmcgdHdpbGlvIGVuZHBvaW50ICIgKyBlKSk7CiAgICAgICAgcmV0dXJuIE5vZGVPdXRjb21lLkVSUk9SOwogICAgfQoKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLmdldFN0YXR1cygpLmdldENvZGUoKTsKCiAgICBpZiAoc3RhdHVzID09PSA0MDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJUd2lsaW8gYXV0aGVudGljYXRpb24gZmFpbGVkIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5BVVRIRkFJTEVEOyAgICAKICAgIH0KCiAgICBpZiAoc3RhdHVzICE9PSAyMDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJCYWQgSFRUUCByZXNwb25zZSBmcm9tIFR3aWxpbzogIiArIHN0YXR1cykpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsgICAgCiAgICB9CgogICAgdmFyIHJlc3BvbnNlSnNvbiA9IHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpOwoKICAgIGlmICghcmVzcG9uc2VKc29uKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIHZhciByZXNwb25zZU9iaiA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uKTsKCiAgICBpZiAoIXJlc3BvbnNlT2JqKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIGlmICghKHJlc3BvbnNlT2JqLmhhc093blByb3BlcnR5KCJzaWQiKSkpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBzaWQgcHJvcGVydHkgaW4gVHdpbGlvIHJlc3BvbnNlIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsKICAgIH0gIAoKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygibWVzc2FnZSBkZWxpdmVyZWQgc3VjY2Vzc2Z1bGx5IikpOwogICAgcmV0dXJuIE5vZGVPdXRjb21lLkRFTElWRVJFRDsKfQoKLyoqCiAqIE5vZGUgZW50cnkgcG9pbnQKICovCgpsb2dnZXIubWVzc2FnZSh0YWcoIm5vZGUgZXhlY3V0aW5nIikpOwoKdmFyIGlkOwp2YXIgdGVsZXBob25lTnVtYmVyczsKdmFyIG51bWJlclRvOwoKaWYgKCEoaWQgPSBzaGFyZWRTdGF0ZS5nZXQoY29uZmlnLnNoYXJlZFN0YXRlSWRGaWVsZCkpKSB7CiAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBpZCBpbiBzaGFyZWQgc3RhdGUiKSk7CiAgICBvdXRjb21lID0gTm9kZU91dGNvbWUuRVJST1I7Cn0KZWxzZSBpZiAoISh0ZWxlcGhvbmVOdW1iZXJzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgY29uZmlnLnBob25lTnVtYmVyRmllbGQpKSkgewogICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcGhvbmUgbnVtYmVycyBmb3IgdXNlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKCEobnVtYmVyVG8gPSB0ZWxlcGhvbmVOdW1iZXJzLnRvQXJyYXkoKVswXSkpIHsKICAgIGxvZ2dlci5lcnJvcih0YWcoIm5vIHRlbGVwaG9uZU51bWJlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKG51bWJlclRvID09PSAiIikgewogICAgbG9nZ2VyLmVycm9yKHRhZygiYmxhbmsgdGVsZXBob25lTnVtYmVyIikpOwogICAgb3V0Y29tZSA9IE5vZGVPdXRjb21lLk5PUEhPTkU7Cn0KZWxzZSB7CiAgICB2YXIgbWVzc2FnZSA9IHJlc29sdmVQbGFjZWhvbGRlcnMoY29uZmlnLm1lc3NhZ2VUZW1wbGF0ZSk7CiAgICB2YXIgdHdpbGlvVXJpID0gY29uZmlnLmJhc2VVcmkuY29uY2F0KCIvQWNjb3VudHMvIikuY29uY2F0KGNvbmZpZy5hY2NvdW50U2lkKS5jb25jYXQoIi9NZXNzYWdlcy5qc29uIik7CiAgICBvdXRjb21lID0gc2VuZFNNUyhtZXNzYWdlLCBjb25maWcucGhvbmVOdW1iZXJGcm9tLCBudW1iZXJUbywgY29uZmlnLm1lc3NhZ2luZ1NlcnZpY2VTaWQsIHR3aWxpb1VyaSwgY29uZmlnLmFwaUtleVNpZCwgY29uZmlnLmFwaUtleVNlY3JldCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39e615b2-898e-4178-ba30-f58bcc095797\",\"name\":\"Save MFA Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWYgKHNoYXJlZFN0YXRlLmdldCgid2ViLWF1dGhuLWNoYWxsZW5nZSIpICE9IG51bGwpIHsKICAgIG1mYVR5cGUgPSAid2ViYXV0aG4iOwogIH0gZWxzZSBpZiAoc2hhcmVkU3RhdGUuZ2V0KCJwdXNoUmVnaXN0cmF0aW9uVGltZW91dCIpICE9IG51bGwpIHsKICAgICAgIG1mYVR5cGUgPSAicHVzaCIKICB9CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgW21mYVR5cGVdKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf63df8d-30e4-4839-b671-5b24006a3204\",\"name\":\"MutilevelSelect\",\"description\":\"null\",\"script\":\"Ly8gbGVnYWN5IC0gbXVsdGlwbGUgY2hvaWNlIGNhbGxiYWNrcwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0LAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZSwKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLkNob2ljZUNhbGxiYWNrLAogIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ29uZmlybWF0aW9uQ2FsbGJhY2ssCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuSGlkZGVuVmFsdWVDYWxsYmFjaywKICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2ssCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0SW5wdXRDYWxsYmFjaywKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuQm9vbGVhbkF0dHJpYnV0ZUlucHV0Q2FsbGJhY2sKKTsKCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uKGMpIHsKICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpKjEwfDA7CiAgICAgIHZhciB2ID0gcjsKICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTApOwogIH0pOwp9CgpmdW5jdGlvbiBnZXRDb3VudHJpZXMoZGF0YSkgewogIHZhciBjID0gW107CiAgZGF0YS5mb3JFYWNoKGU9PmMucHVzaChlLm5hbWUpKTsKICByZXR1cm4gYzsKfQoKZnVuY3Rpb24gZ2V0U3RhdGVzKGRhdGEsIGMpIHsKICB2YXIgcyA9IFtdOwogIGRhdGFbY10uc3RhdGVzLmZvckVhY2goZT0+cy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBzOwp9CgpmdW5jdGlvbiBnZXRDaXRpZXMoZGF0YSwgYywgcykgewogIHZhciBjaSA9IFtdOwogIGRhdGFbY10uc3RhdGVzW3NdLmNpdGllcy5mb3JFYWNoKGU9PmNpLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIGNpOwp9CgpmdW5jdGlvbiBnZXREYXRhKCkgewogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICByZXF1ZXN0LnNldFVyaShyZXF1ZXN0VVJMKTsKICByZXF1ZXN0LnNldE1ldGhvZCgnR0VUJyk7CiAgcmVxdWVzdC5nZXRIZWFkZXJzKCkuYWRkKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsnKTsKICAKICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7ICAKICB2YXIgcmVzcG9uc2VDb2RlID0gcmVzcG9uc2UuZ2V0U3RhdHVzKCkuZ2V0Q29kZSgpOwogIGlmIChyZXNwb25zZUNvZGUgPT09IDIwMCkgewogICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogIH0gZWxzZSB7CiAgICByZXR1cm4gbnVsbDsKICB9Cn0KCihmdW5jdGlvbiAoKSB7CiAgdHJ5IHsKICAgIHZhciBhbmNob3IgPSBnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4Jyk7CiAgICB2YXIgZGF0YSA9IGdldERhdGEoKTsKICAgIHZhciBzdGF0ZXMgPSBbXTsKICAgIHZhciBjaXRpZXMgPSBbXTsKICAgIHZhciBzZWxlY3RlZENvdW50cnkgPSAwOwogICAgdmFyIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgc2VsZWN0ZWRDb3VudHJ5ID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKT9wYXJzZUludChub2RlU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKSk6MDsKICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICBzZWxlY3RlZFN0YXRlID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZFN0YXRlJyk/cGFyc2VJbnQobm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpKTowOwogICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgdmFyIGNiTGlzdCA9IFtdOwogICAgICB2YXIgY291bnRyeUNiID0gbmV3IGZyLkNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIGNvdW50cnlDYi5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIGNiTGlzdC5wdXNoKGNvdW50cnlDYik7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICB2YXIgc3RhdGVDYiA9IG5ldyBmci5DaG9pY2VDYWxsYmFjaygnU2VsZWN0IHN0YXRlJywgc3RhdGVzLCBzZWxlY3RlZFN0YXRlLCBmYWxzZSk7CiAgICAgIHN0YXRlQ2Iuc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZFN0YXRlKTsKICAgICAgY2JMaXN0LnB1c2goc3RhdGVDYik7CiAgICAgIGNpdGllcyA9IGdldENpdGllcyhkYXRhLCBzZWxlY3RlZENvdW50cnksIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGBMaXN0IG9mIGNpdGllcyBpbiAke3N0YXRlc1tzZWxlY3RlZFN0YXRlXX1gKSk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGUpKTsKICAgICAgfSk7CgogICAgICB2YXIgc2NyaXB0ID0gYAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnc2NyaXB0IGVudGVyJyk7CiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXNlbGVjdF9fb3B0aW9uJykuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zdCBodkNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlbGVjdGlvbkNoYW5nZWQnKTsKICAgICAgICAgICAgICBjb25zdCBldiA9IG5ldyBFdmVudCgiY2hhbmdlIik7CiAgICAgICAgICAgICAgaHZDYi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3RydWUnKTsKICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaW52b2tpbmcgY2hhbmdlIG9uIGhpZGRlbiB2YWx1ZSBpbnB1dCcpOwogICAgICAgICAgICAgIGh2Q2IuZGlzcGF0Y2hFdmVudChldik7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3N1Ym1pdHRpbmcuLi4nKTsKICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9naW5CdXR0b25fMCcpLmNsaWNrKCk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9KQogICAgICAgICAgfSkKICAgICAgICB9LCA1MCk7CiAgICAgIGA7CiAgICAgIGNiTGlzdC5wdXNoKG5ldyBmci5IaWRkZW5WYWx1ZUNhbGxiYWNrKCdzZWxlY3Rpb25DaGFuZ2VkJywgJ2ZhbHNlJykpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuQ29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydGaW5pc2gnXSwgMCkpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkpOwogICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZC5hcHBseShudWxsLCBjYkxpc3QpLmJ1aWxkKCk7CiAgICB9IGVsc2UgewogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGhpZGRlbiB0ZXh0IGlucHV0OiB7fScsIGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpKTsKICAgICAgaWYgKGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpID09ICd0cnVlJykgeyAvLyBjaGVjayB2YWx1ZSBvZiB0ZXh0IGlucHV0IGNhbGxiYWNrCiAgICAgICAgLy8gb25lIG9mIHRoZSBjYXRlZ29yeSBwaWNrZXJzIHdhcyBjaGFuZ2VkCiAgICAgICAgaWYoc2VsZWN0ZWRDb3VudHJ5ICE9IGNhbGxiYWNrcy5nZXQoMCkuZ2V0U2VsZWN0ZWRJbmRleGVzKClbMF0pIHsKICAgICAgICAgIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZWxlY3RlZFN0YXRlID0gY2FsbGJhY2tzLmdldCgxKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICB9CiAgICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBjb3VudHJ5IHt9Jywgc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOyAgCiAgICAgICAgc2hhcmVkU3RhdGUucHV0KCdzZWxlY3RlZENvdW50cnknLCBzZWxlY3RlZENvdW50cnkpOwogICAgICAgIHNoYXJlZFN0YXRlLnB1dCgnc2VsZWN0ZWRTdGF0ZScsIHNlbGVjdGVkU3RhdGUpOwogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCd1cGRhdGUnKS5idWlsZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHVzZXIgY2xpY2tlZCAiZmluaXNoIgogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCdjb21wbGV0ZScpLmJ1aWxkKCk7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"f203173e-bceb-4e8e-8bde-52f2616b7278\",\"name\":\"pwdlessSet.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwpzZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiLCB0cnVlKTsKaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImFzc2lnbmVkRGFzaGJvYXJkIixbInJlZ2lzdGVyV2ViQXV0aE5EZXZpY2UiLCJzZXRVc2VybmFtZUxlc3MiLCJwZWVyUmVjb3ZlcnlFbWFpbCIsInBlZXJSZWNvdmVyeTFGQSIsICJyZWdpc3RlclB1c2giXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdCA9IEpTT04ucGFyc2UoU3RyaW5nKGZySWRtQ3VzdG9tQXR0cmlidXRlcy50b0FycmF5KClbMF0pKTsKICAgIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV0gPSBjdXN0b21BdHRyVmFsdWU7CiAgICB2YXIganNvbl9zdHJpbmcgPSBKU09OLnN0cmluZ2lmeShmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QpOwogICAgaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImZyLWlkbS1jdXN0b20tYXR0cnMiLFtqc29uX3N0cmluZ10pOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgbWFuYWdlZFVzZXIgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlck5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKQoKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQWRkcmVzcyIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MpCmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgiY2l0eSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24uaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgic3RhdGVQcm92aW5jZSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24pCmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInBvc3RhbENvZGUiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlKQppZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjb3VudHJ5Iiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBob25lLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInRlbGVwaG9uZU51bWJlciIsIG5vcm1hbGl6ZWRQcm9maWxlLnBob25lKQoKLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5Ci8vIHRoZW4gYWRkIGEgYm9vbGVhbiBmbGFnIHRvIHRoZSBzaGFyZWQgc3RhdGUgdG8gaW5kaWNhdGUgbmFtZXMgYXJlIG5vdCBwcmVzZW50Ci8vIHRoaXMgY291bGQgYmUgdXNlZCBlbHNld2hlcmUKLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmcKLy8gdGhlIHVzZXIgb2JqZWN0IHdpdGggYmxhbmsgdmFsdWVzIHdoZW4gZ2l2ZW5OYW1lICBhbmQgZmFtaWx5TmFtZSBpcyBub3QgcHJlc2VudApib29sZWFuIG5vR2l2ZW5OYW1lID0gbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpCnNoYXJlZFN0YXRlLnB1dCgibmFtZUVtcHR5T3JOdWxsIiwgbm9HaXZlbk5hbWUgJiYgbm9GYW1pbHlOYW1lKQoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\",\"name\":\"Test-Script-1\",\"description\":\"A test script that uses an environment variable and a secret variable\",\"script\":\"Ly8gQ2FsY3VsYXRlIEU9bWNeMiB1c2luZyBtID0gNDIKY29uc3QgYzIgPSBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi50ZXN0LnZhcmlhYmxlLmxpZ2h0Iik7CmNvbnNvbGUubG9nKGBFID0gJHs0MiAqIGMyICogYzJ9YCk7Ci8vIENhbGN1bGF0ZSB0aGUgYXJlYSBvZiBhIGNpcmNsZSB3aXRoIHJhZGl1cyByID0gNDIKY29uc3QgcGkgPSBwYXJzZUZsb2F0KHN5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LnBpIikpOwpjb25zb2xlLmxvZyhgQSA9ICR7cGkgKiA0MiAqIDQyfWApOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"29be3f4a-cf40-4aca-8fe3-de40c9a801dd\",\"name\":\"hasWebAuthN.js\",\"description\":\"null\",\"script\":\"dmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKc2hhcmVkU3RhdGUucHV0KCJkZWJ1ZyIsd2ViYXV0aG5EZXZpY2VQcm9maWxlcyk7CmlmKHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMubGVuZ3RoPjIpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3b2f6836-184c-4ee9-8a1d-557cb01837a5\",\"name\":\"FrodoTestScript3\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13aaf8de-cd8c-4b0e-9167-39ca1fb590a4\",\"name\":\"timerButton.js\",\"description\":\"null\",\"script\":\"Ly8gVGltZXIgQnV0dG9uIG5vZGUKLy8gT3V0Y29tZXM6IFsgInRydWUiLCAidGltZXIiIF0KCgpERUxBWT0xMDsKTUVTU0FHRT0iU2tpcCB0byB5b3VyIHByZWZlcnJlZCBtZXRob2QuLi4gIjsKQlVUVE9OVEVYVD0iU2VsZWN0IGFub3RoZXIgbG9naW4gbWV0aG9kIjsKCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5OYW1lQ2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKZnVuY3Rpb24gY3JlYXRlU2NyaXB0KCkgewogICAgcmV0dXJuIFN0cmluZygiIFxuXAogICAgICAgIHZhciBDT1VOVCA9ICIgKyBERUxBWSArICI7IFxuXAogICAgICAgIGZ1bmN0aW9uIGdvKG9icykgeyBcblwKICAgICAgICAgICAgY29uc3QgcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdOyBcblwKICAgICAgICAgICAgaWYgKHApIHsgXG5cCiAgICAgICAgICAgICAgICBwLmhpZGRlbiA9IHRydWU7IFxuXAogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGFiZWxbZm9yPScgKyBwLmlkICsgJ10nKS5oaWRkZW4gPSB0cnVlOyBcblwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpLmlubmVyVGV4dCA9ICciICsgQlVUVE9OVEVYVCArICInOyBcblwKICAgICAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7IFxuXAogICAgICAgICAgICAgICAgYi5jbGFzc0xpc3QuYWRkKFwiYnRuXCIsIFwibXQtM1wiLCBcImJ0bi1zZWNvbmRhcnlcIik7IFxuXAogICAgICAgICAgICAgICAgYi5pbm5lckhUTUwgPSAnIiArIE1FU1NBR0UgKyAiJyArIENPVU5UICsgJ3MnOyBcblwKICAgICAgICAgICAgICAgIGIub25jbGljayA9IGZ1bmN0aW9uKCkgeyBwLnZhbHVlPSdfX19USU1FX19fJzsgcC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7IH07IFxuXAogICAgICAgICAgICAgICAgcC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLCBwLm5leHRTaWJsaW5nKTsgXG5cCiAgICAgICAgICAgICAgICB2YXIgdCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeyBcblwKICAgICAgICAgICAgICAgICAgICBpZiAoQ09VTlQgPT0gMSkgeyBcblwKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0KTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHAudmFsdWU9J19fX1RJTUVfX18nOyBwLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dpbkJ1dHRvbl8wJykuY2xpY2soKTsgfSwgMjAwKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIENPVU5ULS07IFxuXAogICAgICAgICAgICAgICAgICAgICAgICBiLmlubmVySFRNTCA9ICciICsgTUVTU0FHRSArICInICsgQ09VTlQgKyAncyc7IFxuXAogICAgICAgICAgICAgICAgICAgIH0gXG5cCiAgICAgICAgICAgICAgICB9LCAxMDAwICk7IFxuXAogICAgICAgICAgICAgICAgaWYgKG9icykgb2JzLmRpc2Nvbm5lY3QoKTsgXG5cCiAgICAgICAgICAgICAgICByZXR1cm47IFxuXAogICAgICAgICAgICB9IFxuXAogICAgICAgIH0gXG5cCiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdKSBnbygpOyBcblwKICAgICAgICBlbHNlIHsgXG5cCiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucywgb2JzKSA9PiB7IGdvKG9icyk7IH0pOyBcblwKICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7IFxuXAogICAgICAgIH0gXG5cCiAgICAiKTsKfQoKCmlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKGNyZWF0ZVNjcmlwdCgpKSwKICAgICAgICBuZXcgZnIuTmFtZUNhbGxiYWNrKCJEVU1NWSIpCiAgICApLmJ1aWxkKCkKfSBlbHNlIHsKICAgIHZhciBjYiA9IGNhbGxiYWNrcy5nZXQoMSkuZ2V0TmFtZSgpOwogICAgaWYgKGNiID09PSAiX19fVElNRV9fXyIpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidGltZXIiKS5idWlsZCgpOwogICAgfSBlbHNlIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7CiAgICB9Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"95143d29-e417-49a8-a86c-a3b4cf8fd8ed\",\"name\":\"MultilevelSelect\",\"description\":\"null\",\"script\":\"CmZ1bmN0aW9uIGdldENvdW50cmllcyhkYXRhKSB7CiAgdmFyIGMgPSBbXTsKICBkYXRhLmZvckVhY2goZT0+Yy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBjOwp9CgpmdW5jdGlvbiBnZXRTdGF0ZXMoZGF0YSwgYykgewogIHZhciBzID0gW107CiAgZGF0YVtjXS5zdGF0ZXMuZm9yRWFjaChlPT5zLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIHM7Cn0KCmZ1bmN0aW9uIGdldENpdGllcyhkYXRhLCBjLCBzKSB7CiAgdmFyIGNpID0gW107CiAgZGF0YVtjXS5zdGF0ZXNbc10uY2l0aWVzLmZvckVhY2goZT0+Y2kucHVzaChlLm5hbWUpKTsKICByZXR1cm4gY2k7Cn0KCmZ1bmN0aW9uIGdldERhdGEoKSB7CiAgdmFyIHJlcXVlc3RPcHRpb25zID0gewogICAgbWV0aG9kOiAnR0VUJywKICB9CgogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3RVUkwsIHJlcXVlc3RPcHRpb25zKS5nZXQoKTsKCiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7CiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXNwb25zZS50ZXh0KCkpOwogIH0gZWxzZSB7CiAgICBudWxsOwogIH0KfQoKKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIGRhdGEgPSBnZXREYXRhKCk7CiAgICB2YXIgc3RhdGVzID0gW107CiAgICB2YXIgY2l0aWVzID0gW107CiAgICB2YXIgc2VsZWN0ZWRDb3VudHJ5ID0gMDsKICAgIHZhciBzZWxlY3RlZFN0YXRlID0gMDsKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIHNlbGVjdGVkQ291bnRyeSA9IG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpKTowOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNlbGVjdGVkIGNvdW50cnkge30nLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBzZWxlY3RlZFN0YXRlID0gbm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkU3RhdGUnKSk6MDsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3Qgc3RhdGUnLCBzdGF0ZXMsIHNlbGVjdGVkU3RhdGUsIGZhbHNlKTsKICAgICAgY2l0aWVzID0gZ2V0Q2l0aWVzKGRhdGEsIHNlbGVjdGVkQ291bnRyeSwgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAxJyk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBlKTsKICAgICAgfSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAyJyk7CiAgICAgIGNhbGxiYWNrc0J1aWxkZXIuY29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydVcGRhdGUnLCAnQ29tcGxldGUnXSwgMCk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAzOiB7fScsIGNhbGxiYWNrcy5nZXRDaG9pY2VDYWxsYmFja3MoKS5zaXplKCkpOwogICAgICBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDApLnNldFNlbGVjdGVkSW5kZXgoc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDQnKTsKICAgICAgY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgxKS5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkU3RhdGUpOwoKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDUnKTsKICAgICAgdmFyIHNjcmlwdCA9IGAKICAgICAgICAgIGZ1bmN0aW9uIHNob3dPcmdEZXRhaWxzKCkgewogICAgICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CiAgICAgICAgICAgIHdyYXBwZXIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsICc8ZGl2PnRlc3Q8L2Rpdj4nKTsKICAgICAgICAgIH0KICAgICAgICAgIHNldFRpbWVvdXQoc2hvd09yZ0RldGFpbHMsIDEwMCk7CiAgICAgICAgICBgOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLnNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLmhpZGRlblZhbHVlQ2FsbGJhY2soJ3NlbGVjdGlvbkNoYW5nZWQnLCAnZmFsc2UnKQogICAgfSBlbHNlIHsKICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgwKVswXTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZXQgc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ3NlbGVjdGVkQ291bnRyeScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIHNlbGVjdGVkU3RhdGUgPSBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDEpWzBdOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCdzZWxlY3RlZFN0YXRlJywgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGlmIChjYWxsYmFja3MuZ2V0Q29uZmlybWF0aW9uQ2FsbGJhY2tzKCkuZ2V0KDApID09IDApIHsKICAgICAgICBvdXRjb21lID0gJ3VwZGF0ZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgb3V0Y29tZSA9ICdjb21wbGV0ZSc7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e387c5d7-ceb8-459e-87e6-d09eca512385\",\"name\":\"resetPushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIF9pZCA9IHNoYXJlZFN0YXRlLmdldCgiX2lkIik7CnZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1zdHIyIjsKCmlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUsWyIiXSk7CgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQ==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3c9d3b4a-b38c-4c77-a8d7-4b937e48f62f\",\"name\":\"selectFavFactor.js\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheXMgTUZBIG9wdGlvbnMgZmlsdGVyZWQgYnkgdXNlcnMgcHJlZmVyZW5jZXMKdmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKdmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpLnRvU3RyaW5nKCk7Cgp2YXIgaGFzV2ViQXV0aE49ZmFsc2U7CnZhciBoYXNQdXNoPWZhbHNlOwoKaWYod2ViYXV0aG5EZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzV2ViQXV0aE4gPSB0cnVlOwp9CmlmKHB1c2hEZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzUHVzaCA9IHRydWU7Cn0KCgptZmFzID0geyAKICAgICAgICAgICJQdXNoIjogIlB1c2ggbm90aWZpY2F0aW9uIHZpYSBhdXRoZW50aWNhdG9yIGFwcCIsIAogICAgICAgICAiV2ViQXV0aE4iOiAiU2VjdXJpdHkgS2V5L1RvdWNoSUQvV2luZG93c0hlbGxvL1Bhc3NLZXkiLCAKICAgICAgICAgICAvLyJRUiIgOiAiUVIgQ29kZSBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgICJTTVMiIDogIlNNUyBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8iRW1haWwiIDogIkUtbWFpbCBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8gIlNNU01MIiA6ICJTTVMgTWFnaWMgTGluayIKICAgICAgIH07CgoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ2hvaWNlQ2FsbGJhY2sKKQoKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKCi8vIEFkZCBlbnRyeSB0byBtdWx0aSB2YWx1ZQp2YXIgY2hvaWNlcyA9IFtdOwppZihoYXNQdXNoPT10cnVlKXsKICAgICAgY2hvaWNlcy5wdXNoKG1mYXMuUHVzaCk7Cn0KaWYoaGFzV2ViQXV0aE49PXRydWUpewogICAgICBjaG9pY2VzLnB1c2gobWZhcy5XZWJBdXRoTik7CiAgICAgIC8vY2hvaWNlcy5wdXNoKG1mYXMuUVIpOwogICAgICAvL2Nob2ljZXMucHVzaChtZmFzLlNNUyk7CiAgICAvL2Nob2ljZXMucHVzaChtZmFzLkVtYWlsKTsKCn0KLy9jaG9pY2VzLnB1c2gobWZhcy5TTVNNTCk7CmZ1bmN0aW9uIHNldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUsY3VzdG9tQXR0clZhbHVlKQp7CiAgdmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCdfaWQnKTsKICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgJ2ZyLWlkbS1jdXN0b20tYXR0cnMnKTsKICBpZiAoZnJJZG1DdXN0b21BdHRyaWJ1dGVzKQogIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCgovL0NhbGxiYWNrIHRvIHByZXNlbnQgYW5kIHJldHJpZXZlIHNlbGVjdGVkIG9yZyBhbmQgc2V0Ci8vc2VsZWN0ZWQgdGhlbWUgZm9yIHNldHRpbmcgaW4gdGhlIG5leHQgbm9kZQoKCgp3aXRoIChmcikgewogICAgICBpZiAoY2hvaWNlcy5sZW5ndGggPCAyKSBhY3Rpb24gPSBBY3Rpb24uZ29UbyhvdXRjb21lKS5idWlsZCgpOwogICAgZWxzZSB7CiAgICAgICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAiU3Ryb25nIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkLiBQbGVhc2Ugc2VsZWN0IHlvdXIgcHJlZmVycmVkIGZvcm0gb2Ygc3Ryb25nIGF1dGhlbnRpY2F0aW9uIGZyb20gdGhlIGxpc3QgYmVsb3cuIiwKICAgICAgICAgICAgICAgICAgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApLndpdGhTdGFnZShKU09OLnN0cmluZ2lmeSh7ICJDaG9pY2VDYWxsYmFjayI6IFsgeyAiZGlzcGxheVR5cGUiOiJyYWRpbyIgfSBdIH0pKS53aXRoSGVhZGVyKCJDaG9vc2UgTWV0aG9kIikuYnVpbGQoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkTmFtZTsKICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG1mYXMpIGlmIChjaG9pY2VzW3NlbGVjdGVkSW5kZXhdID09IG1mYXNba2V5XSkgc2VsZWN0ZWROYW1lID0ga2V5OwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoInNlbGVjdGVkTmFtZSIsIHNlbGVjdGVkTmFtZSk7CiAgICAgICAgICAgICAgc2V0Q3VzdG9tQXR0clZhbHVlICgiY3VzdG9tX2Zhdm91cml0ZUZhY3RvciIsc2VsZWN0ZWROYW1lKTsKICAgICAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8oc2VsZWN0ZWROYW1lKS5idWlsZCgpOwogICAgICAgIH0gICAKICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3b7c5bbe-5a80-4ba1-8918-6a3e2ef891c4\",\"name\":\"CheckIfValidSession\",\"description\":\"Check if a valid session already exists\",\"script\":\"aWYgKHR5cGVvZiBleGlzdGluZ1Nlc3Npb24gIT09ICd1bmRlZmluZWQnKQp7CiAgb3V0Y29tZSA9ICJoYXNTZXNzaW9uIjsKfQplbHNlCnsKICBvdXRjb21lID0gIm5vU2Vzc2lvbiI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"320012d2-ad02-401a-871e-3973db81a3d7\",\"name\":\"Demo - Journey Chooser\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheSBjaG9pY2Ugb2Ygam91cm5leXMKLy8gU2VlIGh0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20gZm9yIGV4YW1wbGUgaWNvbnMKdmFyIGpvdXJuZXlzID0gWwogIC8veyAibmFtZSI6ICJMZWdhY3kgTG9naW4iLCAidXJsIjogIkxvZ2luIiwgImljb24iOiAiMTI4LzYzMTcvNjMxNzU3Ny5wbmciIH0sCiAgeyAibmFtZSI6ICJMb2dpbiIsICJ1cmwiOiAiUGFzc3dvcmRsZXNzLU1hc3RlciIsICJpY29uIjogIjEyOC85Njk5Lzk2OTk1ODIucG5nIiB9LAogIC8veyAibmFtZSI6ICJSZWdpc3RlciIsICJ1cmwiOiAiRGVtby1Qd2RsZXNzLU5ldy1Vc2VyICIsICJpY29uIjogIjEyOC8xNjk4LzE2OTg1NzIucG5nIiB9LAogIC8veyAibmFtZSI6ICJRUiBMb2dpbiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVFSIiwgImljb24iOiAiMTI4LzEyODcvMTI4NzU1OC5wbmciIH0sCiAgLy97ICJuYW1lIjogIlNNUyBXZWJBdXRoTiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUyIsICJpY29uIjogIjEyOC8yNzA0LzI3MDQxNjcucG5nIiB9LAogIC8veyAibmFtZSI6ICJTTVMgTWFnaWMgTGluayIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUy1TaW1wbGUiLCAiaWNvbiI6ICIxMjgvMjcwNC8yNzA0MTY3LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiSUQgUHJvb2ZpbmciLCAidXJsIjogIkRlbW8tT25GaWRvIiwgImljb24iOiAiMTI4LzYwNjEvNjA2MTM5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlJlZ2lzdGVyK0lEVi1MaXZlIiwgInVybCI6ICJEZW1vLVNlbGZSZWdpc3RyYXRpb24iLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVnaXN0ZXIrSURWLVNhbmRib3giLCAidXJsIjogIkRlbW8tU2VsZlJlZ2lzdHJhdGlvblNhbmRib3giLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVtZW1iZXIgVXNlcm5hbWVzIiwgInVybCI6ICJEZW1vLVJlbWVtYmVyTXlVc2VybmFtZSIsICJpY29uIjogIjEyOC84ODkvODg5NjY4LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGVlciBSZWNvdmVyeSIsICJ1cmwiOiAiRGVtby1SZWNvdmVyeSIsICJpY29uIjogIjEyOC8yNTk3LzI1OTcxNDMucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIiwgInVybCI6ICJGaW5nZXJwcmludEpTIiwgImljb24iOiAiLzEyOC84MzM3LzgzMzc3MDIucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIFBybyIsICJ1cmwiOiAiRmluZ2VycHJpbnRQcm9KUyIsICJpY29uIjogIi8xMjgvODMzNy84MzM3NzAyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVzZXQgUGFzc3dvcmQiLCAidXJsIjogIlJlc2V0UGFzc3dvcmQiLCAiaWNvbiI6ICIxMjgvMTAwMC8xMDAwOTMzLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU29jaWFsIExvZ2luIiwgInVybCI6ICJEZW1vLVNvY2lhbCIsICJpY29uIjogIjEyOC8zMDAvMzAwMjIxLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU0FNTCIsICJ1cmwiOiAiRGVtby1TQU1MIiwgImljb24iOiAiMTI4LzI5LzI5NjExLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLU9BVEgiLCAidXJsIjogIkRlbW8tTUZBLU9BVEgiLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLVB1c2giLCAidXJsIjogIkRlbW8tTUZBLVB1c2giLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGFzc3dvcmRsZXNzIiwgInVybCI6ICJEZW1vLU1GQS1QYXNzd2RsZXNzIiwgImljb24iOiAiMTI4LzI3NjcvMjc2NzE0Ni5wbmciIH0sICAKICAvL3sgIm5hbWUiOiAiTUZBLUNob2ljZSIsICJ1cmwiOiAiRGVtby1NRkEtQ2hvaWNlIiwgImljb24iOiAiMTI4Lzc0NzYvNzQ3Njc5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlByb2dyZXNzaXZlIFByb2ZpbGUiLCAidXJsIjogIlByb2dyZXNzaXZlUHJvZmlsZSIsICJpY29uIjogIjEyOC83MzE5LzczMTk1MDkucG5nIiB9LAogIC8veyAibmFtZSI6ICJBZ2UtQmFzZWQgTG9naW4iLCAidXJsIjogIkRlbW8tQWdlQmFzZWRMb2dpbiIsICJpY29uIjogIjEyOC8zMDgxLzMwODE5NjkucG5nIiB9LAogIC8veyAibmFtZSI6ICJNdWx0aSBCcmFuZCIsICJ1cmwiOiAiRGVtby1NdWx0aUJyYW5kIiwgImljb24iOiAiMTI4LzY5ODAvNjk4MDczNS5wbmciIH0sCiAgLy97ICJuYW1lIjogIkFudGkgRnJhdWQiLCAidXJsIjogIjEtRGVtby1DaG9vc2VyLUF1dG9BY2Nlc3MiLCAiaWNvbiI6ICIxMjgvMjg2Ny8yODY3NzI1LnBuZyIgfSwKICAKICAKXQoKCnZhciBJQ09OUyA9ICJodHRwczovL2Nkbi1pY29ucy1wbmcuZmxhdGljb24uY29tLyIKdmFyIFNJWkUgPSAiMjQiOwoKdmFyIGNzcyA9ICIqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSAgLmNvbHVtbiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOmxlZnQ7IH0gLnJvdzphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDsgfSAuYm94IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgIGhlaWdodDogNjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwIDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgY29sb3I6IHJnYigwLCAwLCAwKTsgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMCk7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDoxcHg7IG1hcmdpbi1ib3R0b206IDJweDsgIH0gLmljb24geyBoZWlnaHQ6IDMycHg7IG1pbi13aWR0aDogMzJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0iOwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKCndpdGgoZnIpIHsKICAgIHZhciBzY3JpcHQ7CiAgICBmdW5jdGlvbiBjcmVhdGVTY3JpcHQoKSB7CiAgICAgICAgICB2YXIgbGVmdCA9ICIiOwogICAgICAgIHZhciByaWdodCA9ICIiOwogICAgICAgICAgZm9yIChpIGluIGpvdXJuZXlzKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gJzxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tYmxvY2sgYm94XCIgaHJlZj1cImh0dHBzOi8vb3BlbmFtLXZvbGtlci1kZW1vLmZvcmdlYmxvY2tzLmNvbS9hbS9YVUk/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPScgKyBqb3VybmV5c1tpXVsidXJsIl0gKyAnXCI+PGltZyBjbGFzcz1cImljb25cIiBzcmM9XCInICsgSUNPTlMgKyBqb3VybmV5c1tpXVsiaWNvbiJdICsgJ1wiPjxzcGFuPicgKyBqb3VybmV5c1tpXVsibmFtZSJdICsgJzwvc3Bhbj48L2E+JzsKICAgICAgICAgICAgICBpZiAoaSAlIDIgPT0gMCkgCiAgICAgICAgICAgICAgICAgIGxlZnQgKz0gZWxlbTsKICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgICAgICByaWdodCArPSBlbGVtOwogICAgICAgIH0KICAgICAgICByZXR1cm4gU3RyaW5nKCJkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkuaW5uZXJIVE1MID0gJyIgKyBjc3MgKyAiJyBcblwKICAgICAgICAgICAgdmFyIGNob29zZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaWQgPSAnY2hvb3Nlcic7IFxuXAogICAgICAgICAgICB2YXIgY2IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FsbGJhY2tzUGFuZWwnKTsgXG5cCiAgICAgICAgICAgIGNiLmluc2VydEJlZm9yZShjaG9vc2VyLCBjYi5maXJzdENoaWxkKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJyb3dcIj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IitsZWZ0KyI8L2Rpdj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IityaWdodCsiPC9kaXY+PC9kaXY+JyBcblwKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpKSB7IFxuXAogICAgICAgICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblt0eXBlPXN1Ym1pdF0nKTsgXG5cCiAgICAgICAgICAgICAgICBiLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbigpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nob29zZXInKS5yZW1vdmUoKTsgIH0pOyBcblwKICAgICAgICAgICAgfSBcblwKICAgICAgICAiKTsKICAgIH0gIAogIAogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IFNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhjcmVhdGVTY3JpcHQoKSkKICAgICAgICApLmJ1aWxkKCkKICAgIH0gZWxzZSBhY3Rpb24gPSBBY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0ab1dc10-a54f-476f-ad07-2a04915cd443\",\"name\":\"wks-DisplayUserName\",\"description\":\"DisplayUserName\",\"script\":\"LyogRGlzcGxheSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBEaXNwbGF5IHRoZSB1c2VybmFtZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIG91dGNvbWUgPSAndHJ1ZSc7CiAgICB2YXIgdXNlcm5hbWUgPSBub2RlU3RhdGUuZ2V0KCd1c2VybmFtZScpLmFzU3RyaW5nKCk7CgogICAgLy8gU3BlY2lmeSB0aGUgbWVzc2FnZSB5b3Ugd2FudCB0byBkaXNwbGF5LiBZb3UgbWF5IHVzZSBIVE1MIGZvciBmb3JtYXR0aW5nLiBBdm9pZCBsaW5lIGJyZWFrcyEgVXNlIDxicj4gaW5zdGVhZC4KICAgIHZhciBtZXNzYWdlID0gJ1lvdXIgRW5jb3JlIHVzZXJuYW1lIGlzOjxoMyBzdHlsZT0iY29sb3I6IzI5NDhBNzsiPicrdXNlcm5hbWUrJzwvaDM+JzsKCiAgICB2YXIgYW5jaG9yID0gJ2FuY2hvci0nK2dlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKTsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gXAogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiBcCiAgICAgIGZ1bmN0aW9uIChlKSB7XG4gXAogICAgICAgIHZhciBtZXNzYWdlID0gZS5maXJzdEVsZW1lbnRDaGlsZDtcbiBcCiAgICAgICAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIithbmNob3IrIicpIHtcbiBcCiAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciK21lc3NhZ2UrIic7XG4gXAogICAgICAgIH1cbiBcCiAgICAgIH0pIjsKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgICAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICAgICkKICAgIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgICAgICBhbmNob3IKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9CiAgICBlbHNlIHsKICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgIH0KICB9IGNhdGNoIChlcnJvcikgewogICAgbG9nZ2VyLmVycm9yKCdFcnJvcjogJyArIGVycm9yKTsKICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7CiAgfQoKICAgLyoKICAgICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAgICogCiAgICAqIEV4YW1wbGU6CiAgICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICAqLwogIGZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbihjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkqMTB8MDsKICAgICAgICAgIHZhciB2ID0gcjsKICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDEwKTsKICAgICAgfSk7CiAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9674f7d1-7448-4544-879e-91587bb04f46\",\"name\":\"Get esv admin token\",\"description\":\"Get esc admin token\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwp2YXIgYWRtaW5Ub2tlbiA9ICBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi5hZG1pbi50b2tlbiIpOwpzaGFyZWRTdGF0ZS5wdXQoJ2FkbWluVG9rZW4nLCBhZG1pblRva2VuKTsKb3V0Y29tZSA9ICJ0cnVlIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c0413dae-fdd1-45b7-9302-61d6ae02b194\",\"name\":\"FR-Debug\",\"description\":\"Debug to show AM States\",\"script\":\"LyogRElTQ0xBSU1FUjogVGhpcyBjb2RlIGlzIHByb3ZpZGVkIHRvIHlvdSBleHByZXNzbHkgYXMgYW4gZXhhbXBsZSAgKOKAnFNhbXBsZSBDb2Rl4oCdKS4gSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBpbmRpdmlkdWFsIHJlY2lwaWVudCB1c2VyLCBpbiBoaXMvaGVyIHNvbGUgZGlzY3JldGlvbiwgdG8gZGlsaWdlbmNlIHN1Y2ggU2FtcGxlIENvZGUgZm9yIGFjY3VyYWN5LCBjb21wbGV0ZW5lc3MsIHNlY3VyaXR5LCBhbmQgZmluYWwgZGV0ZXJtaW5hdGlvbiBmb3IgYXBwcm9wcmlhdGVuZXNzIG9mIHVzZS4gCiAqIEFOWSBTQU1QTEUgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiDigJxBUyBJU+KAnSBJUyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORC4gRk9SR0VST0NLIEFORCBJVFMgTElDRU5TT1JTIEVYUFJFU1NMWSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUywgIFdIRVRIRVIgRVhQUkVTUywgSU1QTElFRCwgT1IgU1RBVFVUT1JZLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTICBPRiBNRVJDSEFOVEFCSUxJVFksIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKiBGT1JHRVJPQ0sgU0hBTEwgTk9UIEhBVkUgQU5ZIExJQUJJTElUWSBBUklTSU5HIE9VVCBPRiBPUiBSRUxBVElORyBUTyBBTlkgVVNFLCBJTVBMRU1FTlRBVElPTiwgSU5URUdSQVRJT04sIE9SIENPTkZJR1VSQVRJT04gT0YgQU5ZIFNBTVBMRSBDT0RFIElOIEFOWSBQUk9EVUNUSU9OIEVOVklST05NRU5UIE9SIEZPUiBBTlkgQ09NTUVSQ0lBTCBERVBMT1lNRU5UKFMpLgogKgogKiBTY3JpcHQgTmFtZTogQU0gSm91cm5leSBUZW1wbGF0ZQogKgogKiBBdXRob3JzOiBzZUBmb3JnZXJvY2suY29tCiAqIAogKiBUaGlzIHNjcmlwdCBzaG93cyBhIGRlZmF1bHQgdGVtcGxhdGUgb24gaG93IHlvdXIgU2NyaXB0aW5nIERlY2lzaW9uIE5vZGUgc2NyaXB0cyBzaG91bGQgYmUgd3JpdHRlbi4KICogSXQgc2hvd3MgeW91IGhvdyB0byB3b3JrIHdpdGggc2hhcmVkU3RhdGUsIHRyYW5zaWVudFN0YXRlLCBzZWN1cmVTdGF0ZS4KICogVGhpcyBpcyBhIGdyZWF0IGRlYnVnIHNjcmlwdCB0byB1c2UgaW4gYW5kIG9mIGl0c2VsZiBhcyBpdCB3aWxsIGRpc3BsYXkgYWxsIHRocmVlIHN0YXRlcyBtZW50aW9uZWQgYWJvdmUgaW4gYSBmb3JtYXR0ZWQgdGFibGUKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBhcyBpcy4gCiAqIEl0IHJlcXVpcmVzIHNvbWUgbm9kZXMgdGhhdCBzZXQgYXQgbGVhc3Qgc2hhcmVkU3RhdGUgYmVmb3JlIGl0IGNhbiBvcGVyYXRlLgogKiBGb3IgZXhhbXBsZSwgc2V0IGEgcGFnZSBub2RlIHdpdGggUGxhdGZvcm0gVXNlcm5hbWUgYW5kIFBsYXRmb3JtIFBhc3N3b3JkIG5vZGVzCiAqIAogKiBUaGlzIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKKi8KCi8vIERvIGV2ZXJ5dGhpbmcgaW4gYSBzZWxmLWludm9raW5nIGZ1bmN0aW9uIGFuZCBkbyBub3Qgd3JpdGUgY29kZSBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gb3IgeW91IHdpbGwgcGF5IGRlYXJseS4gCi8vIFRoaXMgaXMgYmVjYXVzZSBvZiB0b3AtbGV2ZWwgc2NvcGluZy93aGl0ZWxpc3RpbmcvZXRjIGlzc3VlcyB0aGF0IGdpdmUgeW91ICd1bmRlZmluZWQnIGVycm9ycy4KKGZ1bmN0aW9uICgpIHsKICBsb2dnZXIubWVzc2FnZSgiU2NyaXB0OiBzdGFydCIpOyAvLyBiZWdpbmcgb2Ygc2NyaXB0IG1haW4KICBvdXRjb21lID0gInRydWUiOyAvLyA8LSBmaWxsIGluIGRlZmF1bHQgb3V0Y29tZSBoZXJlIGFuZCBpdCBzaG91bGQgbWF0Y2ggYSAiU2NyaXB0IE91dGNvbWVzIiBzZXR0aW5nIG9uIHRoaXMgbm9kZSBpdHNlbGYKCiAgLy8gYnVpbGQgb3V0cHV0IGh0bWwgdGFibGUgdGhhdCB3aWxsIGJlIHNlbnQgYmFjayB0byBicm93c2VyCiAgdmFyIG91dHB1dCA9IGNyZWF0ZUh0bWwoKTsKCiAgLy8gaXNzdWUgY2FsbGJhY2sgdG8gYnJvd3NlciBhZnRlciBvdXRwdXQgaHRtbCBpcyBidWlsdCBmcm9tIGNyZWF0ZUh0bWwoKSBmdW5jdGlvbgogIGRpc3BsYXlNZXNzYWdlKG91dHB1dCk7CiAgCiAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmlwdDogZW5kIik7IC8vIGVuZCBvZiBzY3JpcHQgbWFpbgoKICAvKgogICogUHV0IGZ1bmN0aW9ucyBiZWxvdyBoZXJlCiAgKi8KICBmdW5jdGlvbiBjcmVhdGVIdG1sKCkgewogICAgICB2YXIgaHRtbCA9ICI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkXCI+IjsKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlNoYXJlZCBTdGF0ZSBWYXJpYWJsZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIgogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICIiCiAgICAgICAgICAgICYmICIiK3N0YXRlS2V5ICE9PSAib2JqZWN0QXR0cmlidXRlcyIgIC8vIGdvaW5nIHRvIHB1bGwgb3V0IG9iamVjdEF0dHJpYnV0ZXMgbGF0ZXIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCiAgICAgICAgewogICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzdGF0ZUtleSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlRyYW5zaWVudCBTdGF0ZSBWYXJpYWJsZXMgKHRyYW5zaWVudFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmICh0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiB0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIiAKICAgICAgICAgICAgJiYgdHJhbnNpZW50U3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAiIgogICAgICAgICAgICAmJiAiIitzdGF0ZUtleSAhPT0gIm9iamVjdEF0dHJpYnV0ZXMiKSAKICAgICAgICB7CiAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHN0YXRlS2V5ICsgIjwvdGQ+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHRyYW5zaWVudFN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIC8vIEJ1aWxkIHRoZSB0YWJsZSBvZiBvYmplY3RBdHRyaWJ1dGVzIGluIHNoYXJlZFN0YXRlCiAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKSkKICAgICAgeyAgIAogICAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5TaGFyZWQgT2JqZWN0IEF0dHJpYnV0ZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAgIHZhciBlbnRyaWVzID0gc2hhcmVkU3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZW50cnlTZXQoKS50b0FycmF5KCk7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2UgZW50cnlTZXQoKS4gQ2FuIHVzZSBrZXlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRLZXkoKSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRWYWx1ZSgpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj5FTVBUWTwvdGQ+PC90cj4iOwogICAgICB9CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2Ygb2JqZWN0QXR0cmlidXRlcyBpbiB0cmFuc2llbnRTdGF0ZQogICAgICBpZiAodHJhbnNpZW50U3RhdGUuZ2V0KCJvYmplY3RBdHRyaWJ1dGVzIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+VHJhbnNpZW50IE9iamVjdCBBdHRyaWJ1dGVzICh0cmFuc2llbnRTdGF0ZS5nZXQpPC90aD48L3RyPjwvdGhlYWQ+IjsKICAgICAgICB2YXIga2V5cyA9IHRyYW5zaWVudFN0YXRlLmdldCgnb2JqZWN0QXR0cmlidXRlcycpLmtleVNldCgpLnRvQXJyYXkoKTsKICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2Uga2V5U2V0KCkuIENhbiB1c2UgZW50cnlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBrZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgdHJhbnNpZW50U3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZ2V0KGtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjb2xzcGFuPVwiMlwiPkVNUFRZPC90ZD48L3RyPiI7CiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5ub2RlU3RhdGUuZ2V0ICh0cmFuc2llbnRTdGF0ZSwgc2VjdXJlU3RhdGUsIHNoYXJlZFN0YXRlKTwvdGg+PC90cj48L3RoZWFkPiI7CiAgICAgIC8vIGdldCBhbGwgdGhlIGtleXMgaW4gbm9kZVN0YXRlCiAgICAgIHZhciBpdGVyYXRvciA9IG5vZGVTdGF0ZS5rZXlzKCkuaXRlcmF0b3IoKTsKICAgICAgdmFyIHN0YXRlS2V5cyA9IFtdOwogICAgICB3aGlsZSAoaXRlcmF0b3IuaGFzTmV4dCgpKSB7CiAgICAgICAgICBzdGF0ZUtleXMucHVzaChpdGVyYXRvci5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIH0KICAgICAgc3RhdGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlS2V5KSB7CiAgICAgICAgaWYgKG5vZGVTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBub2RlU3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAibnVsbCIKICAgICAgICAgICAgJiYgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkudG9TdHJpbmcoKSAhPT0gIiIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCgogICAgICAgIHsKICAgICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgc3RhdGVLZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBsb29raW5nIGZvciBhIHdheSB0byBidWlsZCB0aGlzIEFNIFVzZXIgUHJvZmlsZSBsaXN0IGR5bmFtaWNhbGx5CiAgICAgIHZhciBvYmpBTUF0dHJzID0gWwogICAgICAgICJ1aWQiLAogICAgICAgICJjbiIsCiAgICAgICAgImluZXRVc2VyU3RhdHVzIiwKICAgICAgICAiZ2l2ZW5OYW1lIiwKICAgICAgICAic24iLAogICAgICAgICJtYWlsIiwKICAgICAgICAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0ZWxlcGhvbmVOdW1iZXIiLAogICAgICAgICJzdHJlZXQiLAogICAgICAgICJsIiwKICAgICAgICAicG9zdGFsQ29kZSIsCiAgICAgICAgImNvIiwKICAgICAgICAic3QiLAogICAgICAgICJkaXNwbGF5TmFtZSIsCiAgICAgICAgImZyLWF0dHItaXN0cjEiLAogICAgICAgICJmci1hdHRyLWlzdHIyIiwKICAgICAgICAiZnItYXR0ci1pc3RyMyIsCiAgICAgICAgImZyLWF0dHItaXN0cjQiLAogICAgICAgICJmci1hdHRyLWlzdHI1IiwKICAgICAgICAiZnItYXR0ci1zdHIxIiwKICAgICAgICAiZnItYXR0ci1zdHIyIiwKICAgICAgICAiZnItYXR0ci1zdHIzIiwKICAgICAgICAiZnItYXR0ci1zdHI0IiwKICAgICAgICAiZnItYXR0ci1zdHI1IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkxIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkyIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk0IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk1IiwKICAgICAgICAiZnItYXR0ci1tdWx0aTEiLAogICAgICAgICJmci1hdHRyLW11bHRpMiIsCiAgICAgICAgImZyLWF0dHItbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1tdWx0aTQiLAogICAgICAgICJmci1hdHRyLW11bHRpNSIsCiAgICAgICAgImZyLWF0dHItaWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTIiLAogICAgICAgICJmci1hdHRyLWlkYXRlMyIsCiAgICAgICAgImZyLWF0dHItaWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTUiLAogICAgICAgICJmci1hdHRyLWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1kYXRlMiIsCiAgICAgICAgImZyLWF0dHItZGF0ZTMiLAogICAgICAgICJmci1hdHRyLWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1kYXRlNSIsCiAgICAgICAgImZyLWF0dHItaWludDEiLAogICAgICAgICJmci1hdHRyLWlpbnQyIiwKICAgICAgICAiZnItYXR0ci1paW50MyIsCiAgICAgICAgImZyLWF0dHItaWludDQiLAogICAgICAgICJmci1hdHRyLWlpbnQ1IiwKICAgICAgICAiZnItYXR0ci1pbnQxIiwKICAgICAgICAiZnItYXR0ci1pbnQyIiwKICAgICAgICAiZnItYXR0ci1pbnQzIiwKICAgICAgICAiZnItYXR0ci1pbnQ0IiwKICAgICAgICAiZnItYXR0ci1pbnQ1IgogICAgICBdOyAgCgogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2YgaWRSZXBvc2l0b3J5IGJpbmRpbmcKICAgICAgdmFyIGF0dHJzMjsKICAgICAgaWYgKHNoYXJlZFN0YXRlLmdldCgiX2lkIikgJiYgaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpLCAidWlkIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+aWRSZXBvc2l0b3J5IEFNIFVzZXIgUHJvZmlsZTwvdGg+PC90cj48L3RoZWFkPiI7ICAgICAgICAKICAgICAgICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwogICAgICAgIG9iakFNQXR0cnMuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikgewogICAgICAgICAgYXR0cnMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCBhdHRyKTsgIAogICAgICAgICAgaWYgKGF0dHJzICYmICIiK2F0dHJzICE9PSAibnVsbCIgJiYgIiIrYXR0cnMgIT09ICIiICYmICIiK2F0dHJzLnNpemUoKT4wKXsKICAgICAgICAgICAgaWYgKGF0dHJzLnNpemUoKT09PTEpewogICAgICAgICAgICAgICAgYXR0cnMgPSBzaW5nbGVWYWx1ZShhdHRycyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGF0dHIgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgYXR0cnMgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgCiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5SZXF1ZXN0IEhlYWRlcnM8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvL2h0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj4iICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSArICI8L3RkPjwvdHI+IjsKICAgICAgdmFyIHJIZWFkZXJzID0gU3RyaW5nKHJlcXVlc3RIZWFkZXJzKS5zcGxpdCgnXSwgJykubWFwKGZ1bmN0aW9uIChoZWFkZXIpewogICAgICAgIHJldHVybiBoZWFkZXIuc3BsaXQoJz0nKVswXS5yZXBsYWNlKCd7JywnJykucmVwbGFjZSgnfScsJycpOyAKICAgICAgfSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBySGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uIChoZWFkZXJOYW1lKSB7CiAgICAgICAgdmFyIGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGhlYWRlck5hbWUgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgaGVhZGVyLmdldCgwKSArICI8L3RkPjwvdHI+IjsKICAgICAgfSk7ICAgIAogICAgCiAgICBodG1sICs9ICI8L3RhYmxlPiI7CiAgICAgIAogICAgcmV0dXJuIGh0bWw7CiAgfQogIAogIC8vYnVpbGRzIHRoZSBodG1sIHRvIGRpc3BsYXkgdGhlIG1lc3NhZ2UgaW4gdGhlIGJyb3dzZXIgb24gdGhlIGNhbGxiYWNrCiAgLy91c2UgdmlldyBzb3VyY2UgaW4gYnJvd3NlciBhbmQgbG9vayBmb3IgY2xhc3M9ImNhbGxiYWNrLWNvbXBvbmVudCIgdG8gc2VlIGh0bWwgcmVzcG9uc2UKICBmdW5jdGlvbiBkaXNwbGF5TWVzc2FnZShtZXNzYWdlKSB7CiAgICAgIHZhciBhbmNob3IgPSAiYW5jaG9yLSIuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgICAgIHZhciBoYWxpZ24gPSAibGVmdCI7CiAgICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICAgICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAgICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgbWVzc2FnZS5zdHlsZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICB9XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifSkiKQogICAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suVGV4dE91dHB1dENhbGxiYWNrLAogICAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICAgICkKICAgICAgaWYgKG1lc3NhZ2UubGVuZ3RoICYmIGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKAogICAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgICAgYW5jaG9yCiAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICAgICAgICkuYnVpbGQoKQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgICAgfQogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqIFRoaXMgaXMgbmVlZGVkIHRvIGhhdmUgYSB1bmlxdWUgZGl2KGFuY2hvci14KSBvbiB0aGUgaHRtbCBjYWxsYmFjayB0aGF0IHdlIGNhbiBwb3B1bGF0ZSBkYXRhCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICAgIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxMCB8IDA7CiAgICAgICAgICB2YXIgdiA9IHI7CiAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICAgIH0pOwogIH0KCiAgLy8gZ2V0IGEgc2luZ2xlVmFsdWUgZnJvbSBhIEhhc2hTZXQKICBmdW5jdGlvbiBzaW5nbGVWYWx1ZSh4KQogIHsKICAgIGlmKHguc2l6ZSgpPjApCiAgICAgIHsKICAgICAgICByZXR1cm4geC5pdGVyYXRvcigpLm5leHQoKTsKICAgICAgfQogICAgICAKICAgIHJldHVybiAiIjsKICAgIAogIH0KCn0oKSk7IC8vIHNlbGYtaW52b2tpbmcgZnVuY3Rpb24=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0414eed8-abfd-43bb-94b5-c841a8ba2c98\",\"name\":\"pushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjIiOwp2YXIgdGhyZXNob2xkID0gMjsKb3V0Y29tZSA9ICJkZWZhdWx0IjsKdmFyIG5vdyA9IG5ldyBEYXRlKCkgIAp2YXIgZXBvY2ggPSBNYXRoLnJvdW5kKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTsKdmFyIGVwb2NoQ3VycmVudE1pbnV0ZSA9IE1hdGgucm91bmQoZXBvY2gvNjApOwoKdmFyIHVzZXJBdHRyOwp2YXIgX2lkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIGVwb2NoQXR0ck1pbnV0ZT0wOwp2YXIgYXR0ZW1wdENvdW50PTE7Cgp2YXIgdXNlclByZWZlcmVuY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShfaWQsICJmci1pZG0tcHJlZmVyZW5jZXMiKS50b1N0cmluZygpOwoKaWYodXNlclByZWZlcmVuY2VzLmluZGV4T2YoIlwiY3VzdG9tX3B1c2hcIjp0cnVlIikgPiAtMSkKewogICAgb3V0Y29tZSA9ICJzdXNwZW5kZWQiOwp9CmVsc2UKewogIHZhciB1c2VyQXR0clJhdyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUpOwogIGlmICh1c2VyQXR0clJhdyAmJiB1c2VyQXR0clJhdy5pdGVyYXRvcigpLmhhc05leHQoKSkgewogICAgICB1c2VyQXR0ciA9IEpTT04ucGFyc2UodXNlckF0dHJSYXcuaXRlcmF0b3IoKS5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIGVwb2NoQXR0ck1pbnV0ZSA9IHVzZXJBdHRyWzBdOwogICAgICBhdHRlbXB0Q291bnQgPSB1c2VyQXR0clsxXTsKICAgICAgYXR0ZW1wdENvdW50ID0gYXR0ZW1wdENvdW50ICsgMTsKICB9CgogIC8vaWYoCgogIHZhciBuZXdBdHRyOwogIGlmKGVwb2NoQ3VycmVudE1pbnV0ZT09ZXBvY2hBdHRyTWludXRlKSB7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hBdHRyTWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSAgKyAiXSIpOwogIH0KICBlbHNlIHsKICAgICAgYXR0ZW1wdENvdW50PTE7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hDdXJyZW50TWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSArICJdIik7CiAgfQogIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCAiZnItYXR0ci1zdHIyIixbbmV3QXR0cl0pOwoKICBpZihhdHRlbXB0Q291bnQ+dGhyZXNob2xkKSB7CiAgICBvdXRjb21lID0gInRydWUiOwogIH0KICBlbHNlIHsKICAgIG91dGNvbWUgPSAiZmFsc2UiOwogIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"77e87451-bde9-40c0-84b1-02d4c97687f2\",\"name\":\"takeFavouriteFactor.js\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkKewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykKICB7CiAgICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICAgICAgcmV0dXJuIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV07CiAgfQp9Cgp2YXIgZmF2RmFjdG9yID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7Cm91dGNvbWUgPSBmYXZGYWN0b3I7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"46074930-6a38-4e36-8985-1ed90b4bdb3b\",\"name\":\"SaveLogin\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgLy8gQ3JlYXRlIG5ldyBlbnRyeSB3aXRoIGRldmljZSBwcm9maWxlIGFuZCBkYXRlCiAgdmFyIHByb2ZpbGUgPSBzaGFyZWRTdGF0ZS5nZXQoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpOwogIHZhciBkYXRlID0gRGF0ZS5ub3coKQogIHZhciBpZGVudGlmaWVyID0gcHJvZmlsZS5nZXQoImlkZW50aWZpZXIiKQogIHZhciBwbGF0Zm9ybSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoInBsYXRmb3JtIikKICB2YXIgZGV2aWNlTmFtZSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoImRldmljZU5hbWUiKQogIHZhciBsYXRpdHVkZSA9IHByb2ZpbGUuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKQogIHZhciBsb25naXR1ZGUgPSBwcm9maWxlLmdldCgibG9jYXRpb24iKS5nZXQoImxvbmdpdHVkZSIpCiAgdmFyIHVzZXJBZ2VudCA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgiYnJvd3NlciIpLmdldCgidXNlckFnZW50Iik7CiAgdmFyIGJyb3dzZXIgPSAiIgogIAogIC8vIFdvcmsgb3V0IHdoaWNoIGJyb3dzZXIgdGhpcyBpcwogIGlmICh1c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCJGSVJFRk9YIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJGaXJlZm94IjsKICB9IGVsc2UgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpID4gLTEgJiYgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgLy8gQ2hyb21lIGNhbiBzb21ldGltZXMgbGlzdCBDaHJvbWUgZm9sbG93ZWQgYnkgU2FmYXJpIGluIHVzZXJBZ2VudAogICAgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpIDwgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikpIHsKICAgICAgYnJvd3NlciA9ICJDaHJvbWUiOwogICAgfQogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiQ0hST01FIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJDaHJvbWUiOwogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJTYWZhcmkiOwogIH0KICAKICB2YXIgZW50cnkgPSB7CiAgICAiZGF0ZSI6IERhdGUoKS50b1N0cmluZygpLAogICAgImxhc3RTZWxlY3RlZERhdGUiOiBkYXRlLAogICAgImRldmljZSI6IHsKICAgICAgImlkZW50aWZpZXIiOiBTdHJpbmcoaWRlbnRpZmllciksCiAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAicGxhdGZvcm0iOiB7CiAgICAgICAgICAicGxhdGZvcm0iOiBTdHJpbmcocGxhdGZvcm0pLAogICAgICAgICAgImRldmljZU5hbWUiOiBTdHJpbmcoZGV2aWNlTmFtZSkKICAgICAgICB9LAogICAgICAgICJicm93c2VyIjogYnJvd3NlcgogICAgICB9CiAgICB9LAogICAgImxvY2F0aW9uIjogewogICAgICAibGF0aXR1ZGUiOiBTdHJpbmcobGF0aXR1ZGUpLAogICAgICAibG9uZ2l0dWRlIjogU3RyaW5nKGxvbmdpdHVkZSkKICAgIH0KICB9CiAgCiAgLy8gQWRkIGVudHJ5IHRvIG11bHRpIHZhbHVlCiAgdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKQogIHZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkxIgogIGlkUmVwb3NpdG9yeS5hZGRBdHRyaWJ1dGUodXNlcm5hbWUsIGF0dHJpYnV0ZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"743351b3-001a-4ec8-b3ac-a674ddb8de22\",\"name\":\"UOP Enrich Session\",\"description\":\"Enrich user session with UOP class ID.\",\"script\":\"LyogVU9QIEVucmljaCBTZXNzaW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIEFkZCBjdXJyZW50IGNsYXNzIElEIHRvIHVzZXIgc2Vzc2lvbi4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuIAogKiBJdCByZXF1aXJlcyB0aGUgSWRlbnRpZnkgRXhpc3RpbmcgVXNlciBub2RlIGJlZm9yZSBpdCBpcyBiZWluZyBjYWxsZWQuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKiAtIGZhbHNlCiAqLwpsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBzdGFydCIpOwpvdXRjb21lID0gImZhbHNlIjsKCmlmIChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBnb2luZyB0byBlbnJpY2ggc2Vzc2lvbiB3aXRoIGNsYXNzIGlkOiAiLmNvbmNhdChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpKTsKICAKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaQogICAgKTsKCiAgICB3aXRoIChmcikgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJVT1AgRW5yaWNoIFNlc3Npb246IEVuZCAob3V0Y29tZT0iLmNvbmNhdChvdXRjb21lKS5jb25jYXQoIikiKSk7CiAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8ob3V0Y29tZSkucHV0U2Vzc2lvblByb3BlcnR5KCJVT1BDbGFzc0lEIiwgc2hhcmVkU3RhdGUuZ2V0KCJ1b3BDdXJyZW50Q2xhc3NJRCIpKS5idWlsZCgpOwogICAgfQogIAp9IGVsc2UgewogICAgbG9nZ2VyLmVycm9yKCJVT1AgRW5yaWNoIFNlc3Npb246IG5vIGNsYXNzZXMhIik7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBFbmQgKG91dGNvbWU9Ii5jb25jYXQob3V0Y29tZSkuY29uY2F0KCIpIikpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"d030f9fb-6d2d-4f5a-834d-b4f6304b8eb9\",\"name\":\"Impossible Traveller\",\"description\":\"null\",\"script\":\"Ly8gR2VvVmVsb2NpdHkgLyBJbXBvc3NpYmxlIEpvdXJuZXkgYXV0aGVudGljYXRpb24gc2NyaXB0Ci8vCi8vIE91dGNvbWVzIGZvciB0aGlzIHNjcmlwdCBhcmU6Ci8vICAgICAibm9Mb2NhdGlvbiIgLSB0aGUgZGV2aWNlJ3MgY3VycmVudCBsb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHNoYXJlZFN0YXRlCi8vICAgICAibm9IaXN0b3J5IiAgLSB0aGUgdXNlcidzIHByb2ZpbGUgZG9lc24ndCB5ZXQgY29udGFpbiBwcmV2aW91cyBkZXZpY2UgaGlzdG9yeQovLyAgICAgIm9rIiAgICAgICAgIC0gdGhlIHVzZXIncyBnZW92ZWxvY2l0eSBpcyBsb3dlciB0aGFuIHRoZSBtYXggYWNjZXB0YWJsZSBzcGVlZAovLyAgICAgICAiaW1wb3NzaWJsZSIgLSB0aGUgdXNlcidzIGdlb3ZlbG9jaXR5IGV4Y2VlZHMgbWF4IGFjY2VwdGFibGUgc3BlZWQKTUFYX1ZFTE9DSVRZPTMwMApmdW5jdGlvbiBjYWxjdWxhdGVEaXN0YW5jZShmaXJzdCwgc2Vjb25kKSB7CiAgICB2YXIgZmFjdG9yID0gKE1hdGguUEkgLyAxODApLAogICAgICAgIHRoZXRhLAogICAgICAgIGRpc3Q7CiAgICBmdW5jdGlvbiBkZWdyZWVzVG9SYWRpYW5zKGRlZ3JlZXMpIHsKICAgICAgICByZXR1cm4gZGVncmVlcyAqIGZhY3RvcjsKICAgIH0KICAgIGZ1bmN0aW9uIHJhZGlhbnNUb0RlZ3JlZXMocmFkaWFucykgewogICAgICAgIHJldHVybiByYWRpYW5zIC8gZmFjdG9yOwogICAgfQogICAgdGhldGEgPSBmaXJzdC5sb25naXR1ZGUgLSBzZWNvbmQubG9uZ2l0dWRlOwogICAgZGlzdCA9IE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKwogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKgogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnModGhldGEpKTsKICAgIGRpc3QgPSBNYXRoLmFjb3MoZGlzdCk7CiAgICBkaXN0ID0gcmFkaWFuc1RvRGVncmVlcyhkaXN0KTsKICAgIGRpc3QgPSBkaXN0ICogNjAgKiAxLjE1MTU7CiAgICByZXR1cm4gZGlzdDsKfTsKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKLy9kZXZpY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZSh1c2VybmFtZSwgImRldmljZVByb2ZpbGVzIikudG9BcnJheSgpOwpsb2dpbkhpc3RvcnkgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAiZnItYXR0ci1pbXVsdGkxIikudG9BcnJheSgpOwppZiAobG9naW5IaXN0b3J5Lmxlbmd0aCA9PSAwKSBvdXRjb21lID0gIm5vSGlzdG9yeSI7CmVsc2UgewogICAgICBvdXRjb21lID0gIm5vTG9jYXRpb24iOwogICAgICBpZiAoc2hhcmVkU3RhdGUuY29udGFpbnNLZXkoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpICYmIHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIikuY29udGFpbnNLZXkoImxvY2F0aW9uIikpIHsKICAgICAgICB2YXIgdGhpc0RldmljZSA9IHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIik7CiAgICAgICAgICBvdXRjb21lID0gIm9rIjsKICAgICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpCiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxvZ2luSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciBlbnRyeSA9IEpTT04ucGFyc2UobG9naW5IaXN0b3J5W2ldKTsKICAgICAgICAgICAgICB2YXIgbGFzdFNlbGVjdGVkRGF0ZSA9IGVudHJ5WyJsYXN0U2VsZWN0ZWREYXRlIl07CiAgICAgICAgICAgICAgdmFyIGxhc3RMb2NhdGlvbiA9IGVudHJ5WyJsb2NhdGlvbiJdOwogICAgICAgICAgICAgIHZhciB0aW1lRGlmZiA9IG5vdyAtIHBhcnNlSW50KGxhc3RTZWxlY3RlZERhdGUpOwogICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBjYWxjdWxhdGVEaXN0YW5jZSh7ICJsYXRpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKSwgImxvbmdpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibG9uZ2l0dWRlIikgfSwgbGFzdExvY2F0aW9uKTsKICAgICAgICAgICAgICB2ZWxvY2l0eSA9IGRpc3RhbmNlIC8gKHRpbWVEaWZmIC8gMzYwMDAwMCk7CiAgICAgICAgICAgICAgaWYgKHZlbG9jaXR5ID4gTUFYX1ZFTE9DSVRZKSBvdXRjb21lID0gImltcG9zc2libGUiOwogICAgICAgIH0KICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"0ca79cb0-ea11-4e87-adac-7f8aeebc8c03\",\"name\":\"Save Mobile OATH Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgWyJvYXRoIl0pOwogIAogIG91dGNvbWUgPSAidHJ1ZSIKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e3b1018f-1b2e-4e96-9950-087bdfa13d6d\",\"name\":\"Set New Favourite\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkgewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpIHsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCnZhciBhdHRyID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7CmlmICghYXR0cil7CnNldEN1c3RvbUF0dHJWYWx1ZSAoImN1c3RvbV9mYXZvdXJpdGVGYWN0b3IiLCJXZWJBdXRoTiIpOwp9CgoKCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICov\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"634fb0b2-8873-4e78-8913-9a669e4f3816\",\"name\":\"Debug Shared State\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgZGVidWcgPSBTdHJpbmcoIlNoYXJlZCBzdGF0ZTogIiArIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGRlYnVnID0gU3RyaW5nKGRlYnVnICsgIlJlcXVlc3QgaGVhZGVyczogIiArIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdTZXNzaW9uICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgZGVidWcgPSBTdHJpbmcoZGVidWcgKyAiRXhpc3Rpbmcgc2Vzc2lvbjogIiArICJcXG4iKTsKICAgICAgfSAgCiAgICAgICAgIGxvZ2dlci5lcnJvcigiSk9OSzogIiArIGRlYnVnKTsKICAgICAgc2NyaXB0ID0gU3RyaW5nKCdhbGVydCgiJytkZWJ1ZysnIik7Jyk7CiAgICAgIGFjdGlvbiA9IEFjdGlvbi5zZW5kKG5ldyBTY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KSkuYnVpbGQoKTsKICB9CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"40a38167-2371-4d49-bbf1-e0e97ace3132\",\"name\":\"pwdlessCheck.js\",\"description\":\"null\",\"script\":\"b3V0Y29tZSA9ICJsZWdhY3kiOwp2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZihnZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiKT09dHJ1ZSkgewogIG91dGNvbWUgPSAicHdkbGVzcyI7Cn0KCmZ1bmN0aW9uIGdldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"01bec3a8-105d-45dc-9f80-d003e1b33fa2\",\"name\":\"updateWebAuthNProfileNickname.js\",\"description\":\"null\",\"script\":\"dmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIHByb2ZpbGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIpOwp2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwp2YXIgbmV3Tmlja05hbWUgPSBvYmplY3RBdHRyaWJ1dGVzLmdldCgiY3VzdG9tX25pY2tuYW1lIik7Cgp2YXIgcHJvZmlsZXNBcnJheSA9IHByb2ZpbGVzLnRvQXJyYXkoKTsKCmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgcHJvZmlsZXNBcnJheVtpXT1wcm9maWxlc0FycmF5W2ldLnJlcGxhY2UoIk5ldyBTZWN1cml0eSBLZXkiLG5ld05pY2tOYW1lKTsKfQppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIixbXSk7CmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIscHJvZmlsZXNBcnJheVtpXSk7Cn0Kb3V0Y29tZSA9ICJzdWNjZXNzIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"18940a0d-2997-49af-8cb9-9d8da38b4145\",\"name\":\"resetPush.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCAicHVzaERldmljZVByb2ZpbGVzIixbXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"343b3cc5-38f4-4e37-9d92-8ba0830936da\",\"name\":\"wks-RemoveButton\",\"description\":\"RemoveButton\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7b88752e-5529-459c-a970-1fb78ff0d87f\",\"name\":\"Set Email Verified\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjEiCiAKICBpZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKHVzZXJuYW1lLCBhdHRyaWJ1dGUsIFsidmVyaWZpZWQiXSk7CiAgCiAgb3V0Y29tZSA9ICJ0cnVlIgp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":95,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 433770, + "text": "{\"result\":[{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICov\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"994a4e8f-2741-424a-83e7-3c5f78da01f5\",\"name\":\"Saml2 IDP Adapter Always Auth - imported (2)\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKewogICAgIkBvZGF0YS5jb250ZXh0IjogImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92MS4wLyRtZXRhZGF0YSN1c2Vycy8kZW50aXR5IiwKICAgICJAb2RhdGEuaWQiOiAiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YyLzcxMWZmYTljLTU5NzItNDcxMy1hY2UzLTY4OGM5NzMyNjE0YS9kaXJlY3RvcnlPYmplY3RzLzdkNzc1OWUyLTM2ZDgtNGU2NC1iMTczLTNmODkwZDdkNDZkNi9NaWNyb3NvZnQuRGlyZWN0b3J5U2VydmljZXMuVXNlciIsCiAgICAiYnVzaW5lc3NQaG9uZXMiOiBbCiAgICAgICAgIjE4MDE0NzM1NDUxIgogICAgXSwKICAgICJkaXNwbGF5TmFtZSI6ICJWb2xrZXIgU2NoZXViZXIiLAogICAgImdpdmVuTmFtZSI6ICJWb2xrZXIiLAogICAgImpvYlRpdGxlIjogbnVsbCwKICAgICJtYWlsIjogInZzY2hldWJlckB2c2NoZXViZXIub25taWNyb3NvZnQuY29tIiwKICAgICJtb2JpbGVQaG9uZSI6IG51bGwsCiAgICAib2ZmaWNlTG9jYXRpb24iOiBudWxsLAogICAgInByZWZlcnJlZExhbmd1YWdlIjogbnVsbCwKICAgICJzdXJuYW1lIjogIlNjaGV1YmVyIiwKICAgICJ1c2VyUHJpbmNpcGFsTmFtZSI6ICJ2c2NoZXViZXJAdnNjaGV1YmVyLm9ubWljcm9zb2Z0LmNvbSIsCiAgICAiaWQiOiAiN2Q3NzU5ZTItMzZkOC00ZTY0LWIxNzMtM2Y4OTBkN2Q0NmQ2Igp9CiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci5tZXNzYWdlKCJLYXVhaSBNaWNyb3NvZnQgUHJvZmlsZSBOb3JtYWxpemF0aW9uOiByYXdQcm9maWxlPXt9IiwgcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgiZ3JvdXBzIiwgcmF3UHJvZmlsZS5ncm91cHMpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d2dc1ae7-ca1b-4ce4-81b8-5d58dfba73b1\",\"name\":\"Saml2 IDP Adapter Always Auth - imported (1)\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5ce0d38a-154c-4be5-bd22-f9879c77e895\",\"name\":\"FrodoSPAdapter - imported (1)\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"description\":\"Script that uses secrets and variables\",\"script\":\"Y29uc29sZS5sb2coYHBpOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyLnBpIil9YCk7CmNvbnNvbGUubG9nKGBwaSBzZWNyZXQ6ICR7c3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKX1gKTsKY29uc29sZS5sb2coYHNwZWVkIG9mIGxpZ2h0OiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3QudmFyaWFibGUubGlnaHQiKX1gKTsKY29uc29sZS5sb2coYGV1bGVyJ3MgbnVtYmVyOiAke3N5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LmV1bGVyIil9YCk7CmNvbnNvbGUubG9nKGBBcmVhIG9mIGNpcmNsZSB3aXRoIHJhZGl1cyA3OiAkezcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC52YXIucGkiKX1gKTsKY29uc29sZS5sb2coYFZvbHVtZSBvZiBzcGhlcmUgd2l0aCByYWRpdXMgNzogJHs0ICogNyAqIDcgKiA3ICogc3lzdGVtRW52LmdldFByb3BlcnR5KCJlc3YudGVzdC5zZWNyZXQucGkiKSAvIDN9YCk7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fdb60c75-d58b-409f-bef2-ce4ebb04c77c\",\"name\":\"GitHub Profile Normalization (VS) - imported (2)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6002c349-f1d0-4317-baa2-a18590fc3cff\",\"name\":\"Okta Profile Normalization - imported (1)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"647f2a33-9211-4315-a83f-a521d8b77d7b\",\"name\":\"Okta Profile Normalization - imported (2)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b4f3facb-c754-4e7f-b1c0-f4d46f592126\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5maWVsZAppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUub2JqZWN0CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJlbWFpbFZlcmlmaWVkIiwgcmF3UHJvZmlsZS5lbWFpbF92ZXJpZmllZCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"fb09ba1b-e9b9-4517-8f11-a7cfe8b65dfd\",\"name\":\"FrodoSPAdapter - imported (2)\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"description\":\"null\",\"script\":\"Y29uc29sZS5sb2coImhpIHRoZXJlIik7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5pbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZVxuXG5Kc29uVmFsdWUgbWFuYWdlZFVzZXIgPSBqc29uKG9iamVjdChcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSxcbiAgICAgICAgZmllbGQoXCJzblwiLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSxcbiAgICAgICAgZmllbGQoXCJtYWlsXCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSxcbiAgICAgICAgZmllbGQoXCJ1c2VyTmFtZVwiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKVxuXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQWRkcmVzcy5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwicG9zdGFsQWRkcmVzc1wiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxBZGRyZXNzKVxuaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwiY2l0eVwiLCBub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkpXG5pZiAobm9ybWFsaXplZFByb2ZpbGUuYWRkcmVzc1JlZ2lvbi5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KFwic3RhdGVQcm92aW5jZVwiLCBub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzUmVnaW9uKVxuaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbENvZGUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcInBvc3RhbENvZGVcIiwgbm9ybWFsaXplZFByb2ZpbGUucG9zdGFsQ29kZSlcbmlmIChub3JtYWxpemVkUHJvZmlsZS5jb3VudHJ5LmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoXCJjb3VudHJ5XCIsIG5vcm1hbGl6ZWRQcm9maWxlLmNvdW50cnkpXG5pZiAobm9ybWFsaXplZFByb2ZpbGUucGhvbmUuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dChcInRlbGVwaG9uZU51bWJlclwiLCBub3JtYWxpemVkUHJvZmlsZS5waG9uZSlcblxuLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5XG4vLyB0aGVuIGFkZCBhIGJvb2xlYW4gZmxhZyB0byB0aGUgc2hhcmVkIHN0YXRlIHRvIGluZGljYXRlIG5hbWVzIGFyZSBub3QgcHJlc2VudFxuLy8gdGhpcyBjb3VsZCBiZSB1c2VkIGVsc2V3aGVyZVxuLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmdcbi8vIHRoZSB1c2VyIG9iamVjdCB3aXRoIGJsYW5rIHZhbHVlcyB3aGVuIGdpdmVuTmFtZSAgYW5kIGZhbWlseU5hbWUgaXMgbm90IHByZXNlbnRcbmJvb2xlYW4gbm9HaXZlbk5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuaXNOdWxsKCkgfHwgKCFub3JtYWxpemVkUHJvZmlsZS5naXZlbk5hbWUuYXNTdHJpbmcoKT8udHJpbSgpKVxuYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpXG5zaGFyZWRTdGF0ZS5wdXQoXCJuYW1lRW1wdHlPck51bGxcIiwgbm9HaXZlbk5hbWUgJiYgbm9GYW1pbHlOYW1lKVxuXG5yZXR1cm4gbWFuYWdlZFVzZXJcbiI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"Ii8qXG4gKiBDdXN0b20gRGV2aWNlIE1hdGNoIFNjcmlwdFxuICovXG5cbm91dGNvbWUgPSBcInRydWVcIjsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"60609c1a-4cef-4729-a417-354aafdebf3f\",\"name\":\"LINE Profile Normalization\",\"description\":\"Normalizes raw profile data from LINE\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCi8vIExJTkUgZG9lcyBub3QgcmV0dXJuIHRoZSBlbWFpbCBmcm9tIHRoZSB1c2VySW5mbyBlbmRwb2ludCBidXQgc2hvdWxkIHJldHVybiBpdCBmcm9tIHRoZSB0b2tlbiBlbmRwb2ludCBhbmQgdGhlcmVmb3JlCi8vIGl0IHNob3VsZCBiZSBzZXQgaW4gdGhlIHNoYXJlZCBzdGF0ZQp2YXIgZW1haWwgPSAiY2hhbmdlQG1lLmNvbSIKdmFyIHN1YmplY3RJZCA9IHJhd1Byb2ZpbGUuc3ViCnZhciB1c2VybmFtZSA9IHN1YmplY3RJZAp2YXIgZmlyc3ROYW1lID0gIiAiCnZhciBsYXN0TmFtZSA9ICIgIgoKaWYgKHNoYXJlZFN0YXRlLmdldCgiY2xhaW1zX3NldCIpICE9IG51bGwgJiYgc2hhcmVkU3RhdGUuZ2V0KCJjbGFpbXNfc2V0IikuZW1haWwgIT0gbnVsbCkgewogICAgZW1haWwgPSBzaGFyZWRTdGF0ZS5nZXQoImNsYWltc19zZXQiKS5lbWFpbAogICAgdXNlcm5hbWUgPSBlbWFpbAp9CgppZiAocmF3UHJvZmlsZS5pc0RlZmluZWQoIm5hbWUiKSAmJiByYXdQcm9maWxlLm5hbWUuaXNOb3ROdWxsKCkpIHsKICAgIHZhciBzcGxpdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuYXNTdHJpbmcoKS5zcGxpdCgiICIpCiAgICBmaXJzdE5hbWUgPSBzcGxpdE5hbWVbMF0KICAgIGxhc3ROYW1lID0gc3BsaXROYW1lWy0xXQp9CgpyZXR1cm4ganNvbihvYmplY3QoCiAgICAgICAgZmllbGQoImlkIiwgcmF3UHJvZmlsZS5zdWIpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCBlbWFpbCksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIGZpcnN0TmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCBsYXN0TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgdXNlcm5hbWUpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"207f172f-ffb5-439d-b7df-e8e80408830b\",\"name\":\"GitHub Profile Normalization (VS) - imported (1)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"Ii8qIENoZWNrIFVzZXJuYW1lXG4gKlxuICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbVxuICogXG4gKiBDaGVjayBpZiB1c2VybmFtZSBoYXMgYWxyZWFkeSBiZWVuIGNvbGxlY3RlZC5cbiAqIFJldHVybiBcImtub3duXCIgaWYgeWVzLCBcInVua25vd25cIiBvdGhlcndpc2UuXG4gKiBcbiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuXG4gKiBcbiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDpcbiAqIC0ga25vd25cbiAqIC0gdW5rbm93blxuICovXG4oZnVuY3Rpb24gKCkge1xuICAgIGlmIChudWxsICE9IHNoYXJlZFN0YXRlLmdldChcInVzZXJuYW1lXCIpKSB7XG4gICAgICAgIG91dGNvbWUgPSBcImtub3duXCI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBvdXRjb21lID0gXCJ1bmtub3duXCI7XG4gICAgfVxufSgpKTsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQ==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMCBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTLlxuICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdFxuICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuXG4gKi9cblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkXG5pbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvblxuaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdFxuXG5sb2dnZXIud2FybmluZyhcIkdpdEh1YiByYXdQcm9maWxlOiBcIityYXdQcm9maWxlKVxuXG5yZXR1cm4ganNvbihvYmplY3QoXG4gICAgICAgIGZpZWxkKFwiaWRcIiwgcmF3UHJvZmlsZS5pZCksXG4gICAgICAgIGZpZWxkKFwiZGlzcGxheU5hbWVcIiwgcmF3UHJvZmlsZS5uYW1lKSxcbiAgICAgICAgZmllbGQoXCJnaXZlbk5hbWVcIiwgcmF3UHJvZmlsZS5maXJzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJmYW1pbHlOYW1lXCIsIHJhd1Byb2ZpbGUubGFzdF9uYW1lKSxcbiAgICAgICAgZmllbGQoXCJwaG90b1VybFwiLCByYXdQcm9maWxlLnBpY3R1cmUuZGF0YS51cmwpLFxuICAgICAgICBmaWVsZChcImVtYWlsXCIsIHJhd1Byb2ZpbGUuZW1haWwpLFxuICAgICAgICBmaWVsZChcInVzZXJuYW1lXCIsIHJhd1Byb2ZpbGUuZW1haWwpKSki\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"Ii8qXG4gKiBDb3B5cmlnaHQgMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqXG4gKiBVc2Ugb2YgdGhpcyBjb2RlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBzb2Z0d2FyZSBsaWNlbnNlIHdpdGggRm9yZ2VSb2NrIEFTXG4gKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0XG4gKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy5cbiAqL1xuXG4vKlxuICogVGhpcyBzY3JpcHQgcmV0dXJucyB0aGUgc29jaWFsIGlkZW50aXR5IHByb2ZpbGUgaW5mb3JtYXRpb24gZm9yIHRoZSBhdXRoZW50aWNhdGluZyB1c2VyXG4gKiBpbiBhIHN0YW5kYXJkIGZvcm0gZXhwZWN0ZWQgYnkgdGhlIFNvY2lhbCBQcm92aWRlciBIYW5kbGVyIE5vZGUuXG4gKlxuICogRGVmaW5lZCB2YXJpYWJsZXM6XG4gKiByYXdQcm9maWxlIC0gVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBwcm9maWxlIGluZm9ybWF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpbmcgdXNlci5cbiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLlxuICogbG9nZ2VyIC0gVGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZTpcbiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuXG4gKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS5cbiAqICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIHJlYWxtIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0aW5nIHRvLlxuICogcmVxdWVzdEhlYWRlcnMgLSBUcmVlTWFwICgyKS5cbiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OlxuICogICAgICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuXG4gKiByZXF1ZXN0UGFyYW1ldGVycyAtIFRyZWVNYXAgKDIpLlxuICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy5cbiAqIHNlbGVjdGVkSWRwIC0gU3RyaW5nIChwcmltaXRpdmUpLlxuICogICAgICAgICAgICAgICBUaGUgc29jaWFsIGlkZW50aXR5IHByb3ZpZGVyIG5hbWUuIEZvciBleGFtcGxlOiBnb29nbGUuXG4gKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLlxuICogICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBhdXRoZW50aWNhdGlvbiB0cmVlIGFuZCBhbGxvd3MgZGF0YSBleGNoYW5nZSBiZXR3ZWVuIHRoZSBzdGF0ZWxlc3Mgbm9kZXM6XG4gKiAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS5cbiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuXG4gKiAgICAgICAgICAgICAgICAgIFRoZSBvYmplY3QgZm9yIHN0b3Jpbmcgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHRoYXQgbXVzdCBub3QgbGVhdmUgdGhlIHNlcnZlciB1bmVuY3J5cHRlZCxcbiAqICAgICAgICAgICAgICAgICAgYW5kIHRoYXQgbWF5IG5vdCBuZWVkIHRvIHBlcnNpc3QgYmV0d2VlbiBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cyBkdXJpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHNlc3Npb246XG4gKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS5cbiAqXG4gKiBSZXR1cm4gLSBhIEpzb25WYWx1ZSAoMSkuXG4gKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuXG4gKiAgICAgICAgICBDdXJyZW50bHksIHRoZSBJbW1lZGlhdGVseSBJbnZva2VkIEZ1bmN0aW9uIEV4cHJlc3Npb24gKGFsc28ga25vd24gYXMgU2VsZi1FeGVjdXRpbmcgQW5vbnltb3VzIEZ1bmN0aW9uKVxuICogICAgICAgICAgaXMgdGhlIGxhc3QgKGFuZCBvbmx5KSBzdGF0ZW1lbnQgaW4gdGhpcyBzY3JpcHQsIGFuZCBpdHMgcmV0dXJuIHZhbHVlIHdpbGwgYmVjb21lIHRoZSBzY3JpcHQgcmVzdWx0LlxuICogICAgICAgICAgRG8gbm90IHVzZSBcInJldHVybiB2YXJpYWJsZVwiIHN0YXRlbWVudCBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gZGVmaW5pdGlvbi5cbiAqXG4gKiAgICAgICAgICBUaGlzIHNjcmlwdCdzIGxhc3Qgc3RhdGVtZW50IHNob3VsZCByZXN1bHQgaW4gYSBKc29uVmFsdWUgKDEpIHdpdGggdGhlIGZvbGxvd2luZyBrZXlzOlxuICogICAgICAgICAge1xuICogICAgICAgICAgICAgIHtcImRpc3BsYXlOYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiZW1haWxcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJmYW1pbHlOYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiZ2l2ZW5OYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn0sXG4gKiAgICAgICAgICAgICAge1wiaWRcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJsb2NhbGVcIjogXCJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZVwifSxcbiAqICAgICAgICAgICAgICB7XCJwaG90b1VybFwiOiBcImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlXCJ9LFxuICogICAgICAgICAgICAgIHtcInVzZXJuYW1lXCI6IFwiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWVcIn1cbiAqICAgICAgICAgIH1cbiAqXG4gKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC5cbiAqICAgICAgICAgIEZvciBleGFtcGxlLCB0aGUgc2NyaXB0IGFzc29jaWF0ZWQgd2l0aCB0aGUgU29jaWFsIFByb3ZpZGVyIEhhbmRsZXIgTm9kZSBhbmQsXG4gKiAgICAgICAgICB1bHRpbWF0ZWx5LCB0aGUgbWFuYWdlZCBvYmplY3QgY3JlYXRlZC91cGRhdGVkIHdpdGggdGhpcyBkYXRhXG4gKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLlxuICogICAgICAgICAgSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6XG4gKiAgICAgICAgICB1c2VybmFtZSwgZ2l2ZW5OYW1lLCBmYW1pbHlOYW1lLCBlbWFpbC5cbiAqXG4gKiAgICAgICAgICBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlXG4gKiAgICAgICAgICBhcmJpdHJhcnkgY2hhcmFjdGVycyBmcm9tIHRoZSBVbml2ZXJzYWwgQ2hhcmFjdGVyIFNldCAoVUNTKS5cbiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLlxuICpcbiAqICgxKSBKc29uVmFsdWUgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svanNvbi9Kc29uVmFsdWUuaHRtbC5cbiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuXG4gKiAoMykgTGlua2VkSGFzaE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLlxuICovXG5cbihmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcihcbiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZVxuICAgICk7XG5cbiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpO1xuICBcbiAgXHQvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTtcblxuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2lkJywgcmF3UHJvZmlsZS5nZXQoJ3N1YicpLmFzU3RyaW5nKCkpO1xuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdlbWFpbCcsIHJhd1Byb2ZpbGUuZ2V0KCdtYWlsJykuYXNTdHJpbmcoKSk7XG4gICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgnZ2l2ZW5OYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkpO1xuICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCd1c2VybmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCd1cG4nKS5hc1N0cmluZygpKTtcbiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdyb2xlcycsIHJhd1Byb2ZpbGUuZ2V0KCdyb2xlcycpLmFzU3RyaW5nKCkpO1xuICBcbiAgXHQvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gbm9ybWFsaXplZFByb2ZpbGVEYXRhOiAnK25vcm1hbGl6ZWRQcm9maWxlRGF0YSk7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZFByb2ZpbGVEYXRhO1xufSgpKTsi\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5\",\"name\":\"SAML2 NameID Mapper Script\",\"description\":\"Default global script for SAML2 NameID Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjQgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBpcyBhbiBleGFtcGxlIFNBTUwyIE5hbWVJRCBNYXBwZXIgc2NyaXB0LgogKiBUaGlzIHNjcmlwdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgU0FNTDIgTmFtZUlEIGlkZW50aWZpZXIuCiAqIFRoZSBleGFtcGxlIHNjcmlwdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbmZpZ3VyZWQgamF2YSBwbHVnaW4gdmlhIHRoZSBuYW1lSURTY3JpcHRIZWxwZXIgYmluZGluZy4KICovCm5hbWVJRFNjcmlwdEhlbHBlci5nZXROYW1lSURWYWx1ZSgpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_NAMEID_MAPPER\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"},{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"},{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":77,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -112,17 +112,13 @@ "name": "content-type", "value": "application/json;charset=UTF-8" }, - { - "name": "transfer-encoding", - "value": "chunked" - }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -139,158 +135,10 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:25.980Z", - "time": 97, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 97 - } - }, - { - "_id": "60315e24f99439c8e4989ee6eb506111", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1700, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Device Id (Match) - Server Side\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Device%20Id%20%28Match%29%20-%20Server%20Side%22" - }, - "response": { - "bodySize": 40318, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 40318, - "text": "{\"result\":[{\"_id\":\"703dab1a-1921-4981-98dd-b8e5349d8548\",\"name\":\"Device Id (Match) - Server Side\",\"description\":\"Default global script for server side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAyMyBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIFNjYWxhckNvbXBhcmF0b3IgPSB7fSwgU2NyZWVuQ29tcGFyYXRvciA9IHt9LCBNdWx0aVZhbHVlQ29tcGFyYXRvciA9IHt9LCBVc2VyQWdlbnRDb21wYXJhdG9yID0ge30sIEdlb2xvY2F0aW9uQ29tcGFyYXRvciA9IHt9OwoKdmFyIGNvbmZpZyA9IHsKICAgIHByb2ZpbGVFeHBpcmF0aW9uOiAzMCwgICAgICAgICAgICAgIC8vaW4gZGF5cwogICAgbWF4UHJvZmlsZXNBbGxvd2VkOiA1LAogICAgbWF4UGVuYWx0eVBvaW50czogMCwKICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICBzY3JlZW46IHsKICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICAgIGNvbXBhcmF0b3I6IFNjcmVlbkNvbXBhcmF0b3IsCiAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDUwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgaW5zdGFsbGVkUGx1Z2luczogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBmb250czogewogICAgICAgICAgICBpbnN0YWxsZWRGb250czogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogTXVsdGlWYWx1ZUNvbXBhcmF0b3IsCiAgICAgICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICAgICAgbWF4UGVyY2VudGFnZURpZmZlcmVuY2U6IDEwLAogICAgICAgICAgICAgICAgICAgIG1heERpZmZlcmVuY2VzOiA1LAogICAgICAgICAgICAgICAgICAgIHBlbmFsdHlQb2ludHM6IDEwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICB0aW1lem9uZTogewogICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgICAgICAgY29tcGFyYXRvcjogU2NhbGFyQ29tcGFyYXRvciwKICAgICAgICAgICAgICAgIGFyZ3M6IHsKICAgICAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdXNlckFnZW50OiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICBjb21wYXJhdG9yOiBVc2VyQWdlbnRDb21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBpZ25vcmVWZXJzaW9uOiB0cnVlLAogICAgICAgICAgICAgICAgcGVuYWx0eVBvaW50czogMTAwCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdlb2xvY2F0aW9uOiB7CiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgICAgY29tcGFyYXRvcjogR2VvbG9jYXRpb25Db21wYXJhdG9yLAogICAgICAgICAgICBhcmdzOiB7CiAgICAgICAgICAgICAgICBhbGxvd2VkUmFuZ2U6IDEwMCwgICAgICAgICAgICAvL2luIG1pbGVzCiAgICAgICAgICAgICAgICBwZW5hbHR5UG9pbnRzOiAxMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJhdG9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgp2YXIgYWxsLCBhbnksIGNhbGN1bGF0ZURpc3RhbmNlLCBjYWxjdWxhdGVJbnRlcnNlY3Rpb24sIGNhbGN1bGF0ZVBlcmNlbnRhZ2UsIG51bGxPclVuZGVmaW5lZCwgc3BsaXRBbmRUcmltLAogICAgdW5kZWZpbmVkTG9jYXRpb247CgovLyBDb21wYXJpc29uUmVzdWx0CgovKioKICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gcGVuYWx0eSBwb2ludHMuCiAqCiAqIEBwYXJhbSBwZW5hbHR5UG9pbnRzIChOdW1iZXIpIFRoZSBwZW5hbHR5IHBvaW50cyBmb3IgdGhlIGNvbXBhcmlzb24gKGRlZmF1bHRzIHRvIDApLgogKiBAcGFyYW0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSAoYm9vbGVhbikgV2hldGhlciB0aGUgY3VycmVudCB2YWx1ZSBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBzdG9yZWQgdmFsdWUgKGRlZmF1bHRzIHRvIGZhbHNlKS4KICovCmZ1bmN0aW9uIENvbXBhcmlzb25SZXN1bHQoKSB7CgogICAgdmFyIHBlbmFsdHlQb2ludHMgPSAwLAogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBmYWxzZTsKCiAgICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPSBhcmd1bWVudHNbMV07CiAgICB9CgogICAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkICYmIGFyZ3VtZW50c1sxXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHR5cGVvZihhcmd1bWVudHNbMF0pID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgICAgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50c1swXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZW5hbHR5UG9pbnRzID0gYXJndW1lbnRzWzBdOwogICAgICAgIH0KICAgIH0KCiAgICB0aGlzLnBlbmFsdHlQb2ludHMgPSBwZW5hbHR5UG9pbnRzOwogICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZTsKCn0KCkNvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUyA9IG5ldyBDb21wYXJpc29uUmVzdWx0KDApOwoKLyoqCiAqIFN0YXRpYyBtZXRob2QgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuCiAqCiAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIGlmIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkuCiAqLwpDb21wYXJpc29uUmVzdWx0LmlzU3VjY2Vzc2Z1bCA9ICBmdW5jdGlvbihjb21wYXJpc29uUmVzdWx0KSB7CiAgICByZXR1cm4gY29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKTsKfTsKCgovKioKICogU3RhdGljIG1ldGhvZCBmb3IgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4KICoKICogQHJldHVybiBib29sZWFuIHRydWUgaWYgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gIGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHJldHVybiBjb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU7Cn07CgovKioKICogQ29tcGFyaXNvbiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBwcm92aWRlZCBhcyBhbiBhcmd1bWVudCB0byBhcnJheS5zb3J0CiAqLwpDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGZpcnN0KSAmJiBudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoZmlyc3QpKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfSBlbHNlIGlmIChudWxsT3JVbmRlZmluZWQoc2Vjb25kKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZmlyc3QucGVuYWx0eVBvaW50cyAhPT0gc2Vjb25kLnBlbmFsdHlQb2ludHMpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0LnBlbmFsdHlQb2ludHMgLSBzZWNvbmQucGVuYWx0eVBvaW50czsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gKGZpcnN0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCkgLSAoc2Vjb25kLmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUgPyAxIDogMCk7CiAgICAgICAgfQogICAgfQp9OwoKLyoqCiAqIEFtYWxnYW1hdGVzIHRoZSBnaXZlbiBDb21wYXJpc29uUmVzdWx0IGludG8gdGhpcyBDb21wYXJpc29uUmVzdWx0LgogKgogKiBAcGFyYW0gY29tcGFyaXNvblJlc3VsdCBUaGUgQ29tcGFyaXNvblJlc3VsdCB0byBpbmNsdWRlLgogKi8KQ29tcGFyaXNvblJlc3VsdC5wcm90b3R5cGUuYWRkQ29tcGFyaXNvblJlc3VsdCA9IGZ1bmN0aW9uKGNvbXBhcmlzb25SZXN1bHQpIHsKICAgIHRoaXMucGVuYWx0eVBvaW50cyArPSBjb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHM7CiAgICBpZiAoY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKSB7CiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlID0gY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlOwogICAgfQp9OwoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiBubyBwZW5hbHR5IHBvaW50cyBoYXZlIGJlZW4gYXNzaWduZWQgZm9yIHRoZSBjb21wYXJpc29uLgogKgogKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiB3YXMgc3VjY2Vzc2Z1bC4KICovCkNvbXBhcmlzb25SZXN1bHQucHJvdG90eXBlLmlzU3VjY2Vzc2Z1bCA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZCh0aGlzLnBlbmFsdHlQb2ludHMpIHx8IHRoaXMucGVuYWx0eVBvaW50cyA9PT0gMDsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gc2ltcGxlIG9iamVjdHMgKFN0cmluZ3xOdW1iZXIpIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybwogKiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIGN1cnJlbnQgdmFsdWUuCiAqIEBwYXJhbSBzdG9yZWRWYWx1ZSAoU3RyaW5nfE51bWJlcikgVGhlIHN0b3JlZCB2YWx1ZS4KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0LgogKi8KU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUsIGNvbmZpZykgewogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlN0cmluZ0NvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOnN0b3JlZFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoc3RvcmVkVmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU3RyaW5nQ29tcGFyYXRvci5jb21wYXJlOmNvbmZpZzogIiArIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpOwogICAgfQogICAgaWYgKGNvbmZpZy5wZW5hbHR5UG9pbnRzID09PSAwKSB7CiAgICAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQuWkVST19QRU5BTFRZX1BPSU5UUzsKICAgIH0KCiAgICBpZiAoIW51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlICE9PSBzdG9yZWRWYWx1ZSkgewogICAgICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIW51bGxPclVuZGVmaW5lZChjdXJyZW50VmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KHRydWUpOwogICAgfQoKICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7Cn07CgovKioKICogQ29tcGFyZXMgdHdvIHNjcmVlbnMgYW5kIGlmIHRoZXkgYXJlIGVxdWFsIHRoZW4gcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB6ZXJvIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLAogKiBvdGhlcndpc2UgcmV0dXJucyBhIENvbXBhcmlzb25SZXN1bHQgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzIGFzc2lnbmVkLgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiB7CiAqICAgICAgICAgICAgInNjcmVlbldpZHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBoZWlnaHQuCiAqICAgICAgICAgICAgInNjcmVlbkNvbG91ckRlcHRoIjogKE51bWJlcikgVGhlIGN1cnJlbnQgY2xpZW50IHNjcmVlbiBjb2xvdXIgZGVwdGguCiAqICAgICAgICB9CiAqIEBwYXJhbSBzdG9yZWRWYWx1ZTogewogKiAgICAgICAgICAgICJzY3JlZW5XaWR0aCI6IChOdW1iZXIpIFRoZSBzdG9yZWQgY2xpZW50IHNjcmVlbiB3aWR0aC4KICogICAgICAgICAgICAic2NyZWVuSGVpZ2h0IjogKE51bWJlcikgVGhlIHN0b3JlZCBjbGllbnQgc2NyZWVuIGhlaWdodC4KICogICAgICAgICAgICAic2NyZWVuQ29sb3VyRGVwdGgiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGNsaWVudCBzY3JlZW4gY29sb3VyIGRlcHRoLgogKiAgICAgICAgfQogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgInBlbmFsdHlQb2ludHMiOiAoTnVtYmVyKSBUaGUgbnVtYmVyIG9mIHBlbmFsdHkgcG9pbnRzLgogKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovClNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTY3JlZW5Db21wYXJhdG9yLmNvbXBhcmU6Y3VycmVudFZhbHVlOiAiICsgSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmVlbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICBjdXJyZW50VmFsdWUgPSB7c2NyZWVuV2lkdGg6IG51bGwsIHNjcmVlbkhlaWdodDogbnVsbCwgc2NyZWVuQ29sb3VyRGVwdGg6IG51bGx9OwogICAgfQogICAgaWYgKG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkpIHsKICAgICAgICBzdG9yZWRWYWx1ZSA9IHtzY3JlZW5XaWR0aDogbnVsbCwgc2NyZWVuSGVpZ2h0OiBudWxsLCBzY3JlZW5Db2xvdXJEZXB0aDogbnVsbH07CiAgICB9CgogICAgdmFyIGNvbXBhcmlzb25SZXN1bHRzID0gWwogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuV2lkdGgsIHN0b3JlZFZhbHVlLnNjcmVlbldpZHRoLCBjb25maWcpLAogICAgICAgIFNjYWxhckNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUuc2NyZWVuSGVpZ2h0LCBzdG9yZWRWYWx1ZS5zY3JlZW5IZWlnaHQsIGNvbmZpZyksCiAgICAgICAgU2NhbGFyQ29tcGFyYXRvci5jb21wYXJlKGN1cnJlbnRWYWx1ZS5zY3JlZW5Db2xvdXJEZXB0aCwgc3RvcmVkVmFsdWUuc2NyZWVuQ29sb3VyRGVwdGgsIGNvbmZpZyldOwoKICAgIGlmIChhbGwoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKSkgewogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChhbnkoY29tcGFyaXNvblJlc3VsdHMsIENvbXBhcmlzb25SZXN1bHQuYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZSkpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQoY29uZmlnLnBlbmFsdHlQb2ludHMpOwogICAgfQp9OwoKLyoqCiAqIFNwbGl0cyBib3RoIHZhbHVlcyB1c2luZyBkZWxpbWl0ZXIsIHRyaW1zIGV2ZXJ5IHZhbHVlIGFuZCBjb21wYXJlcyBjb2xsZWN0aW9ucyBvZiB2YWx1ZXMuCiAqIFJldHVybnMgemVyby1yZXN1bHQgZm9yIHNhbWUgbXVsdGktdmFsdWUgYXR0cmlidXRlcy4KICoKICogSWYgY29sbGVjdGlvbnMgYXJlIG5vdCBzYW1lIGNoZWNrcyBpZiBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaXMgbGVzcyBvciBlcXVhbCBtYXhEaWZmZXJlbmNlcyBvcgogKiBwZXJjZW50YWdlIG9mIGRpZmZlcmVuY2UgaXMgbGVzcyBvciBlcXVhbCBtYXhQZXJjZW50YWdlRGlmZmVyZW5jZS4KICoKICogSWYgeWVzIHRoZW4gcmV0dXJucyB6ZXJvLXJlc3VsdCB3aXRoIGFkZGl0aW9uYWwgaW5mbywgZWxzZSByZXR1cm5zIHBlbmFsdHlQb2ludHMtcmVzdWx0LgogKgogKiBAcGFyYW0gY3VycmVudFZhbHVlOiAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlOiAoU3RyaW5nKSBUaGUgc3RvcmVkIHZhbHVlLgogKiBAcGFyYW0gY29uZmlnOiB7CiAqICAgICAgICAgICAgIm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlIjogKE51bWJlcikgVGhlIG1heCBkaWZmZXJlbmNlIHBlcmNlbnRhZ2UgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgaXMgYXNzaWduZWQuCiAqICAgICAgICAgICAgIm1heERpZmZlcmVuY2VzIjogKE51bWJlcikgVGhlIG1heCBudW1iZXIgb2YgZGlmZmVyZW5jZXMgaW4gdGhlIHZhbHVlcywKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgdGhlIHBlbmFsdHkgcG9pbnRzIGFyZSBhc3NpZ25lZC4KICogICAgICAgICAgICAicGVuYWx0eVBvaW50cyI6IChOdW1iZXIpIFRoZSBudW1iZXIgb2YgcGVuYWx0eSBwb2ludHMuCiAgKiAgICAgICAgfQogKiBAcmV0dXJuIENvbXBhcmlzb25SZXN1bHQKICovCk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiTXVsdGlWYWx1ZUNvbXBhcmF0b3IuY29tcGFyZTpzdG9yZWRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KHN0b3JlZFZhbHVlKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIk11bHRpVmFsdWVDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgdmFyIGRlbGltaXRlciA9ICI7IiwKICAgICAgICBjdXJyZW50VmFsdWVzID0gc3BsaXRBbmRUcmltKGN1cnJlbnRWYWx1ZSwgZGVsaW1pdGVyKSwKICAgICAgICBzdG9yZWRWYWx1ZXMgPSBzcGxpdEFuZFRyaW0oc3RvcmVkVmFsdWUsIGRlbGltaXRlciksCiAgICAgICAgbWF4TnVtYmVyT2ZFbGVtZW50cyA9IE1hdGgubWF4KGN1cnJlbnRWYWx1ZXMubGVuZ3RoLCBzdG9yZWRWYWx1ZXMubGVuZ3RoKSwKICAgICAgICBudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9IGNhbGN1bGF0ZUludGVyc2VjdGlvbihjdXJyZW50VmFsdWVzLCBzdG9yZWRWYWx1ZXMpLmxlbmd0aCwKICAgICAgICBudW1iZXJPZkRpZmZlcmVuY2VzID0gbWF4TnVtYmVyT2ZFbGVtZW50cyAtIG51bWJlck9mVGhlU2FtZUVsZW1lbnRzLAogICAgICAgIHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzID0gY2FsY3VsYXRlUGVyY2VudGFnZShudW1iZXJPZkRpZmZlcmVuY2VzLCBtYXhOdW1iZXJPZkVsZW1lbnRzKTsKCiAgICBpZiAobnVsbE9yVW5kZWZpbmVkKHN0b3JlZFZhbHVlKSAmJiAhbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UobnVtYmVyT2ZUaGVTYW1lRWxlbWVudHMgKyAiIG9mICIgKyBtYXhOdW1iZXJPZkVsZW1lbnRzICsgIiBhcmUgc2FtZSIpOwogICAgfQoKICAgIGlmIChtYXhOdW1iZXJPZkVsZW1lbnRzID09PSAwKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBubyBhdHRyaWJ1dGVzIGZvdW5kIGluIGJvdGggcHJvZmlsZXMiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZlRoZVNhbWVFbGVtZW50cyA9PT0gbWF4TnVtYmVyT2ZFbGVtZW50cykgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJJZ25vcmVkIGJlY2F1c2UgYWxsIGF0dHJpYnV0ZXMgYXJlIHNhbWUiKTsKICAgICAgICByZXR1cm4gQ29tcGFyaXNvblJlc3VsdC5aRVJPX1BFTkFMVFlfUE9JTlRTOwogICAgfQoKICAgIGlmIChudW1iZXJPZkRpZmZlcmVuY2VzID4gY29uZmlnLm1heERpZmZlcmVuY2VzKSB7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJXb3VsZCBiZSBpZ25vcmVkIGlmIG5vdCBtb3JlIHRoYW4gIiArIGNvbmZpZy5tYXhEaWZmZXJlbmNlcyArICIgZGlmZmVyZW5jZXMiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KCiAgICBpZiAocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgPiBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UocGVyY2VudGFnZU9mRGlmZmVyZW5jZXMgKyAiIHBlcmNlbnRzIGFyZSBkaWZmZXJlbnQiKTsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIldvdWxkIGJlIGlnbm9yZWQgaWYgbm90IG1vcmUgdGhhbiAiICsgY29uZmlnLm1heFBlcmNlbnRhZ2VEaWZmZXJlbmNlICsgIiBwZXJjZW50Iik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdChjb25maWcucGVuYWx0eVBvaW50cyk7CiAgICB9CgogICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBudW1iZXIgb2YgZGlmZmVyZW5jZXMoIiArIG51bWJlck9mRGlmZmVyZW5jZXMgKyAiKSBub3QgbW9yZSB0aGFuICIKICAgICAgICAgICAgKyBjb25maWcubWF4RGlmZmVyZW5jZXMpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKHBlcmNlbnRhZ2VPZkRpZmZlcmVuY2VzICsgIiBwZXJjZW50cyBhcmUgZGlmZmVyZW50Iik7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIklnbm9yZWQgYmVjYXVzZSBub3QgbW9yZSB0aGFuICIgKyBjb25maWcubWF4UGVyY2VudGFnZURpZmZlcmVuY2UgKyAiIHBlcmNlbnQiKTsKICAgIH0KICAgIHJldHVybiBuZXcgQ29tcGFyaXNvblJlc3VsdCh0cnVlKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gVXNlciBBZ2VudCBTdHJpbmdzIGFuZCBpZiB0aGV5IGFyZSBlcXVhbCB0aGVuIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggemVybyBwZW5hbHR5CiAqIHBvaW50cyBhc3NpZ25lZCwgb3RoZXJ3aXNlIHJldHVybnMgYSBDb21wYXJpc29uUmVzdWx0IHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cyBhc3NpZ25lZC4KICoKICogQHBhcmFtIGN1cnJlbnRWYWx1ZSAoU3RyaW5nKSBUaGUgY3VycmVudCB2YWx1ZS4KICogQHBhcmFtIHN0b3JlZFZhbHVlIChTdHJpbmcpIFRoZSBzdG9yZWQgdmFsdWUuCiAqIEBwYXJhbSBjb25maWc6IHsKICogICAgICAgICAgICAiaWdub3JlVmVyc2lvbiI6IChib29sZWFuKSBJZiB0aGUgdmVyc2lvbiBudW1iZXJzIGluIHRoZSBVc2VyIEFnZW50IFN0cmluZ3Mgc2hvdWxkIGJlIGlnbm9yZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBjb21wYXJpc29uLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KICogICAgICAgIH0KICogQHJldHVybiBBIENvbXBhcmlzb25SZXN1bHQuCiAqLwpVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmUgPSBmdW5jdGlvbiAoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKSB7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiVXNlckFnZW50Q29tcGFyYXRvci5jb21wYXJlOmN1cnJlbnRWYWx1ZTogIiArIEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyQWdlbnRDb21wYXJhdG9yLmNvbXBhcmU6Y29uZmlnOiAiICsgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5pZ25vcmVWZXJzaW9uKSB7CiAgICAgICAgLy8gcmVtb3ZlIHZlcnNpb24gbnVtYmVyCiAgICAgICAgY3VycmVudFZhbHVlID0gbnVsbE9yVW5kZWZpbmVkKGN1cnJlbnRWYWx1ZSkgPyBudWxsIDogY3VycmVudFZhbHVlLnJlcGxhY2UoL1tcZFwuXSsvZywgIiIpLnRyaW0oKTsKICAgICAgICBzdG9yZWRWYWx1ZSA9IG51bGxPclVuZGVmaW5lZChzdG9yZWRWYWx1ZSkgPyBudWxsIDogc3RvcmVkVmFsdWUucmVwbGFjZSgvW1xkXC5dKy9nLCAiIikudHJpbSgpOwogICAgfQoKICAgIHJldHVybiBTY2FsYXJDb21wYXJhdG9yLmNvbXBhcmUoY3VycmVudFZhbHVlLCBzdG9yZWRWYWx1ZSwgY29uZmlnKTsKfTsKCi8qKgogKiBDb21wYXJlcyB0d28gbG9jYXRpb25zLCB0YWtpbmcgaW50byBhY2NvdW50IGEgZGVncmVlIG9mIGRpZmZlcmVuY2UuCiAqCiAqIEBwYXJhbSBjdXJyZW50VmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgY3VycmVudCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGN1cnJlbnQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcGFyYW0gc3RvcmVkVmFsdWU6IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxhdGl0dWRlLgogKiAgICAgICAgICAgICJsb25naXR1ZGUiOiAoTnVtYmVyKSBUaGUgc3RvcmVkIGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIGNvbmZpZzogewogKiAgICAgICAgICAgICJhbGxvd2VkUmFuZ2UiOiAoTnVtYmVyKSBUaGUgbWF4IGRpZmZlcmVuY2UgYWxsb3dlZCBpbiB0aGUgdHdvIGxvY2F0aW9ucywgYmVmb3JlIHRoZSBwZW5hbHR5IGlzIGFzc2lnbmVkLgogKiAgICAgICAgICAgICJwZW5hbHR5UG9pbnRzIjogKE51bWJlcikgVGhlIG51bWJlciBvZiBwZW5hbHR5IHBvaW50cy4KKiAgICAgICAgIH0KICogQHJldHVybiBDb21wYXJpc29uUmVzdWx0CiAqLwpHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZSA9IGZ1bmN0aW9uIChjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBjb25maWcpIHsKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjdXJyZW50VmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpKTsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiR2VvbG9jYXRpb25Db21wYXJhdG9yLmNvbXBhcmU6c3RvcmVkVmFsdWU6ICIgKyBKU09OLnN0cmluZ2lmeShzdG9yZWRWYWx1ZSkpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJHZW9sb2NhdGlvbkNvbXBhcmF0b3IuY29tcGFyZTpjb25maWc6ICIgKyBKU09OLnN0cmluZ2lmeShjb25maWcpKTsKICAgIH0KCiAgICAvLyBDaGVjayBmb3IgdW5kZWZpbmVkIHN0b3JlZCBvciBjdXJyZW50IGxvY2F0aW9ucwoKICAgIGlmICh1bmRlZmluZWRMb2NhdGlvbihjdXJyZW50VmFsdWUpICYmIHVuZGVmaW5lZExvY2F0aW9uKHN0b3JlZFZhbHVlKSkgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CiAgICBpZiAodW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiAhdW5kZWZpbmVkTG9jYXRpb24oc3RvcmVkVmFsdWUpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KICAgIGlmICghdW5kZWZpbmVkTG9jYXRpb24oY3VycmVudFZhbHVlKSAmJiB1bmRlZmluZWRMb2NhdGlvbihzdG9yZWRWYWx1ZSkpIHsKICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9CgogICAgLy8gQm90aCBsb2NhdGlvbnMgZGVmaW5lZCwgdGhlcmVmb3JlIHBlcmZvcm0gY29tcGFyaXNvbgoKICAgIHZhciBkaXN0YW5jZSA9IGNhbGN1bGF0ZURpc3RhbmNlKGN1cnJlbnRWYWx1ZSwgc3RvcmVkVmFsdWUpOwoKICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJEaXN0YW5jZSBiZXR3ZWVuICgiICsgY3VycmVudFZhbHVlLmxhdGl0dWRlICsgIiwiICsgY3VycmVudFZhbHVlLmxvbmdpdHVkZSArICIpIGFuZCAoIiArCiAgICAgICAgICAgIHN0b3JlZFZhbHVlLmxhdGl0dWRlICsgIiwiICsgc3RvcmVkVmFsdWUubG9uZ2l0dWRlICsgIikgaXMgIiArIGRpc3RhbmNlICsgIiBtaWxlcyIpOwogICAgfQoKICAgIGlmIChwYXJzZUZsb2F0KGRpc3RhbmNlLnRvUHJlY2lzaW9uKDUpKSA9PT0gMCkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJMb2NhdGlvbiBpcyB0aGUgc2FtZSIpOwogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LlpFUk9fUEVOQUxUWV9QT0lOVFM7CiAgICB9CgogICAgaWYgKGRpc3RhbmNlIDw9IGNvbmZpZy5hbGxvd2VkUmFuZ2UpIHsKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIlRvbGVyYXRlZCBiZWNhdXNlIGRpc3RhbmNlIG5vdCBtb3JlIHRoZW4gIiArIGNvbmZpZy5hbGxvd2VkUmFuZ2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV3IENvbXBhcmlzb25SZXN1bHQodHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmIChsb2dnZXIubWVzc2FnZUVuYWJsZWQoKSkgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiV291bGQgYmUgaWdub3JlZCBpZiBkaXN0YW5jZSBub3QgbW9yZSB0aGVuICIgKyBjb25maWcuYWxsb3dlZFJhbmdlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBDb21wYXJpc29uUmVzdWx0KGNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgIH0KfTsKCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCi8vICAgICAgICAgICAgICAgICAgICBEZXZpY2UgUHJpbnQgTG9naWMgLSBETyBOT1QgTU9ESUZZICAgICAgICAgICAgICAgICAgICAgLy8KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLwoKLy8gVXRpbGl0eSBmdW5jdGlvbnMKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBmdW5jdGlvbiBmIG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYWxsID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIGV2YWx1YXRpbmcgZnVuY3Rpb24gZiBvbiBhbnkgZWxlbWVudCBvZiB0aGUgQXJyYXkgYSByZXR1cm5zIHRydWUuCiAqCiAqIEBwYXJhbSBhOiAoQXJyYXkpIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBldmFsdWF0ZQogKiBAcGFyYW0gZjogKEZ1bmN0aW9uKSBBIHNpbmdsZSBhcmd1bWVudCBmdW5jdGlvbiBmb3IgbWFwcGluZyBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gYm9vbGVhbi4KICogQHJldHVybiBib29sZWFuLgogKi8KYW55ID0gZnVuY3Rpb24oYSwgZikgewogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmKGFbaV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIGxvY2F0aW9uIGlzIG51bGwgb3IgaGFzIHVuZGVmaW5lZCBsb25naXR1ZGUgb3IgbGF0aXR1ZGUgdmFsdWVzLgogKgogKiBAcGFyYW0gbG9jYXRpb246IHsKICogICAgICAgICAgICAibGF0aXR1ZGUiOiAoTnVtYmVyKSBUaGUgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBsb25naXR1ZGUuCiAqICAgICAgICB9CiAqIEByZXR1cm4gYm9vbGVhbgogKi8KdW5kZWZpbmVkTG9jYXRpb24gPSBmdW5jdGlvbihsb2NhdGlvbikgewogICAgcmV0dXJuIG51bGxPclVuZGVmaW5lZChsb2NhdGlvbikgfHwgbnVsbE9yVW5kZWZpbmVkKGxvY2F0aW9uLmxhdGl0dWRlKSB8fCBudWxsT3JVbmRlZmluZWQobG9jYXRpb24ubG9uZ2l0dWRlKTsKfTsKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLgogKgogKiBAcGFyYW0gdmFsdWU6IGEgdmFsdWUgb2YgYW55IHR5cGUKICogQHJldHVybiBib29sZWFuCiAqLwpudWxsT3JVbmRlZmluZWQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7Cn07CgovKioKICogQ2FsY3VsYXRlcyB0aGUgZGlzdGFuY2VzIGJldHdlZW4gdGhlIHR3byBsb2NhdGlvbnMuCiAqCiAqIEBwYXJhbSBmaXJzdDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBmaXJzdCBsYXRpdHVkZS4KICogICAgICAgICAgICAibG9uZ2l0dWRlIjogKE51bWJlcikgVGhlIGZpcnN0IGxvbmdpdHVkZS4KICogICAgICAgIH0KICogQHBhcmFtIHNlY29uZDogewogKiAgICAgICAgICAgICJsYXRpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbGF0aXR1ZGUuCiAqICAgICAgICAgICAgImxvbmdpdHVkZSI6IChOdW1iZXIpIFRoZSBzZWNvbmQgbG9uZ2l0dWRlLgogKiAgICAgICAgfQogKiBAcmV0dXJuIE51bWJlciBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdHdvIGxvY2F0aW9ucy4KICovCmNhbGN1bGF0ZURpc3RhbmNlID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkgewogICAgdmFyIGZhY3RvciA9IChNYXRoLlBJIC8gMTgwKSwKICAgICAgICB0aGV0YSwKICAgICAgICBkaXN0OwogICAgZnVuY3Rpb24gZGVncmVlc1RvUmFkaWFucyhkZWdyZWVzKSB7CiAgICAgICAgcmV0dXJuIGRlZ3JlZXMgKiBmYWN0b3I7CiAgICB9CiAgICBmdW5jdGlvbiByYWRpYW5zVG9EZWdyZWVzKHJhZGlhbnMpIHsKICAgICAgICByZXR1cm4gcmFkaWFucyAvIGZhY3RvcjsKICAgIH0KICAgIHRoZXRhID0gZmlyc3QubG9uZ2l0dWRlIC0gc2Vjb25kLmxvbmdpdHVkZTsKICAgIGRpc3QgPSBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLnNpbihkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKyBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKGZpcnN0LmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHNlY29uZC5sYXRpdHVkZSkpCiAgICAgICAgKiBNYXRoLmNvcyhkZWdyZWVzVG9SYWRpYW5zKHRoZXRhKSk7CiAgICBkaXN0ID0gTWF0aC5hY29zKGRpc3QpOwogICAgZGlzdCA9IHJhZGlhbnNUb0RlZ3JlZXMoZGlzdCk7CiAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1OwogICAgcmV0dXJuIGRpc3Q7Cn07CgovKioKICogQ29udmVydHMgYSBTdHJpbmcgaG9sZGluZyBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMgaW50byBhbiBhcnJheS4KICoKICogQHBhcmFtIHRleHQgKFN0cmluZykgVGhlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRlbGltaXRlZCBzZXF1ZW5jZSBvZiB2YWx1ZXMuCiAqIEBwYXJhbSBkZWxpbWl0ZXIgKFN0cmluZykgVGhlIGNoYXJhY3RlciBkZWxpbWl0aW5nIHZhbHVlcyB3aXRoaW4gdGhlIHRleHQgU3RyaW5nLgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuCiAqLwpzcGxpdEFuZFRyaW0gPSBmdW5jdGlvbih0ZXh0LCBkZWxpbWl0ZXIpIHsKCiAgICB2YXIgcmVzdWx0cyA9IFtdLAogICAgICAgIGksCiAgICAgICAgdmFsdWVzLAogICAgICAgIHZhbHVlOwogICAgaWYgKHRleHQgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICB2YWx1ZXMgPSB0ZXh0LnNwbGl0KGRlbGltaXRlcik7CiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaV0udHJpbSgpOwogICAgICAgIGlmICh2YWx1ZSAhPT0gIiIpIHsKICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdHM7Cn07CgovKioKICogQ29udmVydHMgdmFsdWUgdG8gYSBwZXJjZW50YWdlIG9mIHJhbmdlLgogKgogKiBAcGFyYW0gdmFsdWUgKE51bWJlcikgVGhlIGFjdHVhbCBudW1iZXIgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZS4KICogQHBhcmFtIHJhbmdlIChOdW1iZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgdmFsdWVzIChpLmUuIHJlcHJlc2VudHMgMTAwJSkuCiAqIEByZXR1cm4gKE51bWJlcikgVGhlIHBlcmNlbnRhZ2UuCiAqLwpjYWxjdWxhdGVQZXJjZW50YWdlID0gZnVuY3Rpb24odmFsdWUsIHJhbmdlKSB7CiAgICBpZiAocmFuZ2UgPT09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIHJhbmdlKS50b1ByZWNpc2lvbigyKSkgKiAxMDA7Cn07CgovKioKICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb250YWluaW5nIG9ubHkgdGhvc2UgZWxlbWVudHMgZm91bmQgaW4gYm90aCBhcnJheXMgcmVjZWl2ZWQgYXMgYXJndW1lbnRzLgogKgogKiBAcGFyYW0gZmlyc3QgKEFycmF5KSBUaGUgZmlyc3QgYXJyYXkuCiAqIEBwYXJhbSBzZWNvbmQgKEFycmF5KSBUaGUgc2Vjb25kIGFycmF5LgogKiBAcmV0dXJuIChBcnJheSkgVGhlIGVsZW1lbnRzIHRoYXQgZm91bmQgaW4gZmlyc3QgYW5kIHNlY29uZC4KICovCmNhbGN1bGF0ZUludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKICAgIHJldHVybiBmaXJzdC5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIHJldHVybiBzZWNvbmQuaW5kZXhPZihlbGVtZW50KSAhPT0gLTE7CiAgICB9KTsKfTsKCmZ1bmN0aW9uIGdldFZhbHVlKG9iaiwgYXR0cmlidXRlUGF0aCkgewogICAgdmFyIHZhbHVlID0gb2JqLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXR0cmlidXRlUGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IHZhbHVlW2F0dHJpYnV0ZVBhdGhbaV1dOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CgoKZnVuY3Rpb24gaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWcpIHsKICAgIHJldHVybiBhdHRyaWJ1dGVDb25maWcuY29tcGFyYXRvciAhPT0gdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcsIGF0dHJpYnV0ZVBhdGgpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBbXSwKICAgICAgICBhdHRyaWJ1dGVOYW1lLAogICAgICAgIGF0dHJQYXRocywKICAgICAgICBhdHRyUGF0aCwKICAgICAgICBpOwoKICAgIGZvciAoYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVDb25maWcpIHsKICAgICAgICBpZiAoYXR0cmlidXRlQ29uZmlnLmhhc093blByb3BlcnR5KGF0dHJpYnV0ZU5hbWUpKSB7CgogICAgICAgICAgICBpZiAoaXNMZWFmTm9kZShhdHRyaWJ1dGVDb25maWdbYXR0cmlidXRlTmFtZV0pKSB7CiAgICAgICAgICAgICAgICBhdHRyUGF0aCA9IGF0dHJpYnV0ZVBhdGguc2xpY2UoKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRoLnB1c2goYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRocy5wdXNoKGF0dHJQYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJQYXRoID0gYXR0cmlidXRlUGF0aC5zbGljZSgpOwogICAgICAgICAgICAgICAgYXR0clBhdGgucHVzaChhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAgIGF0dHJQYXRocyA9IGdldEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZ1thdHRyaWJ1dGVOYW1lXSwgYXR0clBhdGgpOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0dHJQYXRocy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGhzLnB1c2goYXR0clBhdGhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gYXR0cmlidXRlUGF0aHM7Cn0KCmZ1bmN0aW9uIGdldERldmljZVByaW50QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnKSB7CiAgICByZXR1cm4gZ2V0QXR0cmlidXRlUGF0aHMoYXR0cmlidXRlQ29uZmlnLCBbXSk7Cn0KCmZ1bmN0aW9uIGhhc1JlcXVpcmVkQXR0cmlidXRlcyhkZXZpY2VQcmludCwgYXR0cmlidXRlQ29uZmlnKSB7CgogICAgdmFyIGF0dHJpYnV0ZVBhdGhzID0gZ2V0RGV2aWNlUHJpbnRBdHRyaWJ1dGVQYXRocyhhdHRyaWJ1dGVDb25maWcpLAogICAgICAgIGksCiAgICAgICAgYXR0clZhbHVlLAogICAgICAgIGF0dHJDb25maWc7CgogICAgZm9yIChpID0gMDsgaSA8IGF0dHJpYnV0ZVBhdGhzLmxlbmd0aDsgaSsrKSB7CgogICAgICAgIGF0dHJWYWx1ZSA9IGdldFZhbHVlKGRldmljZVByaW50LCBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICBpZiAoYXR0ckNvbmZpZy5yZXF1aXJlZCAmJiBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBsb2dnZXIud2FybmluZygiRGV2aWNlIFByaW50IHByb2ZpbGUgbWlzc2luZyByZXF1aXJlZCBhdHRyaWJ1dGUsICIgKyBhdHRyaWJ1dGVQYXRoc1tpXSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZSBwcmludCBoYXMgcmVxdWlyZWQgYXR0cmlidXRlcyIpOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGF0dHJpYnV0ZUNvbmZpZywgZGV2aWNlUHJpbnQsIGRldmljZVByaW50UHJvZmlsZXMsIG1heFBlbmFsdHlQb2ludHMpIHsKCiAgICB2YXIgYXR0cmlidXRlUGF0aHMgPSBnZXREZXZpY2VQcmludEF0dHJpYnV0ZVBhdGhzKGF0dHJpYnV0ZUNvbmZpZyksCiAgICAgICAgZGFvID0gc2hhcmVkU3RhdGUuZ2V0KCdfRGV2aWNlSWREYW8nKSwKICAgICAgICByZXN1bHRzLAogICAgICAgIGosCiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50VmFsdWUsCiAgICAgICAgc3RvcmVkVmFsdWUsCiAgICAgICAgYXR0ckNvbmZpZywKICAgICAgICBjb21wYXJpc29uUmVzdWx0LAogICAgICAgIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICBzZWxlY3RlZFByb2ZpbGUsCiAgICAgICAgY3VyRGV2aWNlUHJpbnRQcm9maWxlLAogICAgICAgIHZhbHM7CgogICAgcmVzdWx0cyA9IFtdOwogICAgZm9yIChqID0gMDsgaiA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICBjdXJEZXZpY2VQcmludFByb2ZpbGUgPSBKU09OLnBhcnNlKG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuanNvbihkZXZpY2VQcmludFByb2ZpbGVzW2pdKSk7CiAgICAgICAgYWdncmVnYXRlZENvbXBhcmlzb25SZXN1bHQgPSBuZXcgQ29tcGFyaXNvblJlc3VsdCgpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJ1dGVQYXRocy5sZW5ndGg7IGkrKykgewoKICAgICAgICAgICAgY3VycmVudFZhbHVlID0gZ2V0VmFsdWUoZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgc3RvcmVkVmFsdWUgPSBnZXRWYWx1ZShjdXJEZXZpY2VQcmludFByb2ZpbGUuZGV2aWNlUHJpbnQsIGF0dHJpYnV0ZVBhdGhzW2ldKTsKICAgICAgICAgICAgYXR0ckNvbmZpZyA9IGdldFZhbHVlKGF0dHJpYnV0ZUNvbmZpZywgYXR0cmlidXRlUGF0aHNbaV0pOwoKICAgICAgICAgICAgaWYgKHN0b3JlZFZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb21wYXJpc29uUmVzdWx0ID0gbmV3IENvbXBhcmlzb25SZXN1bHQoYXR0ckNvbmZpZy5wZW5hbHR5UG9pbnRzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbXBhcmlzb25SZXN1bHQgPSBhdHRyQ29uZmlnLmNvbXBhcmF0b3IuY29tcGFyZShjdXJyZW50VmFsdWUsIHN0b3JlZFZhbHVlLCBhdHRyQ29uZmlnLmFyZ3MpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJDb21wYXJpbmcgYXR0cmlidXRlIHBhdGg6ICIgKyBhdHRyaWJ1dGVQYXRoc1tpXQogICAgICAgICAgICAgICAgICAgICsgIiwgQ29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIGNvbXBhcmlzb25SZXN1bHQuaXNTdWNjZXNzZnVsKCkgKyAiLCBwZW5hbHR5UG9pbnRzPSIKICAgICAgICAgICAgICAgICAgICArIGNvbXBhcmlzb25SZXN1bHQucGVuYWx0eVBvaW50cyArICIsIGFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWU9IgogICAgICAgICAgICAgICAgICAgICsgY29tcGFyaXNvblJlc3VsdC5hZGRpdGlvbmFsSW5mb0luQ3VycmVudFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5hZGRDb21wYXJpc29uUmVzdWx0KGNvbXBhcmlzb25SZXN1bHQpOwogICAgICAgIH0KICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFnZ3JlZ2F0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSArICIsIHBlbmFsdHlQb2ludHM9IgogICAgICAgICAgICAgICAgKyBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICAgICArIGFnZ3JlZ2F0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgICAgIH0KCiAgICAgICAgcmVzdWx0cy5wdXNoKHsKICAgICAgICAgICAga2V5OiBhZ2dyZWdhdGVkQ29tcGFyaXNvblJlc3VsdCwKICAgICAgICAgICAgdmFsdWU6IGRldmljZVByaW50UHJvZmlsZXNbal0KICAgICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICByZXN1bHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0LmNvbXBhcmUoYS5rZXksIGIua2V5KTsKICAgIH0pOwogICAgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0ID0gcmVzdWx0c1swXS5rZXk7CiAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICBsb2dnZXIubWVzc2FnZSgiU2VsZWN0ZWQgY29tcGFyaXNvbiByZXN1bHQ6IHN1Y2Nlc3NmdWw9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5pc1N1Y2Nlc3NmdWwoKQogICAgICAgICAgICArICIsIHBlbmFsdHlQb2ludHM9IiArIHNlbGVjdGVkQ29tcGFyaXNvblJlc3VsdC5wZW5hbHR5UG9pbnRzICsgIiwgYWRkaXRpb25hbEluZm9JbkN1cnJlbnRWYWx1ZT0iCiAgICAgICAgICAgICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LmFkZGl0aW9uYWxJbmZvSW5DdXJyZW50VmFsdWUpOwogICAgfQoKICAgIHNlbGVjdGVkUHJvZmlsZSA9IG51bGw7CiAgICBpZiAoc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgPD0gbWF4UGVuYWx0eVBvaW50cykgewogICAgICAgIHNlbGVjdGVkUHJvZmlsZSA9IHJlc3VsdHNbMF0udmFsdWU7CiAgICAgICAgaWYgKGxvZ2dlci5tZXNzYWdlRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJTZWxlY3RlZCBwcm9maWxlOiAiICsgc2VsZWN0ZWRQcm9maWxlICsKICAgICAgICAgICAgICAgICIgd2l0aCAiICsgc2VsZWN0ZWRDb21wYXJpc29uUmVzdWx0LnBlbmFsdHlQb2ludHMgKyAiIHBlbmFsdHkgcG9pbnRzIik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzZWxlY3RlZFByb2ZpbGUgPT09IG51bGwpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyogdXBkYXRlIHByb2ZpbGUgKi8KICAgIHNlbGVjdGVkUHJvZmlsZS5wdXQoInNlbGVjdGlvbkNvdW50ZXIiLAogICAgICAgIGphdmEubGFuZy5JbnRlZ2VyLnZhbHVlT2YocGFyc2VJbnQoc2VsZWN0ZWRQcm9maWxlLmdldCgic2VsZWN0aW9uQ291bnRlciIpLCAxMCkgKyAxKSk7CiAgICBzZWxlY3RlZFByb2ZpbGUucHV0KCJsYXN0U2VsZWN0ZWREYXRlIiwgamF2YS5sYW5nLkxvbmcudmFsdWVPZihuZXcgRGF0ZSgpLmdldFRpbWUoKSkpOwogICAgc2VsZWN0ZWRQcm9maWxlLnB1dCgiZGV2aWNlUHJpbnQiLCBkZXZpY2VQcmludCk7CgogICAgdmFscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IGRldmljZVByaW50UHJvZmlsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YWxzLnB1c2gob3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uKGRldmljZVByaW50UHJvZmlsZXNbaV0pKTsKICAgIH0KCiAgICBkYW8uc2F2ZURldmljZVByb2ZpbGVzKHVzZXJuYW1lLCByZWFsbSwgdmFscyk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIG1hdGNoRGV2aWNlUHJpbnQoKSB7CgogICAgaWYgKCF1c2VybmFtZSkgewogICAgICAgIGxvZ2dlci5lcnJvcigiVXNlcm5hbWUgbm90IHNldC4gQ2Fubm90IGNvbXBhcmUgdXNlcidzIGRldmljZSBwcmludCBwcm9maWxlcy4iKTsKICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImNsaWVudCBkZXZpY2VQcmludDogIiArIGNsaWVudFNjcmlwdE91dHB1dERhdGEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGdldFByb2ZpbGVzID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGlzRXhwaXJlZFByb2ZpbGUoZGV2aWNlUHJpbnRQcm9maWxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGlyYXRpb25EYXRlID0gbmV3IERhdGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkRGF0ZTsKICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZS5zZXREYXRlKGV4cGlyYXRpb25EYXRlLmdldERhdGUoKSAtIGNvbmZpZy5wcm9maWxlRXhwaXJhdGlvbik7CgogICAgICAgICAgICAgICAgICAgIGxhc3RTZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkZXZpY2VQcmludFByb2ZpbGUubGFzdFNlbGVjdGVkRGF0ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2VsZWN0ZWREYXRlIDwgZXhwaXJhdGlvbkRhdGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICBkYW8gPSBzaGFyZWRTdGF0ZS5nZXQoJ19EZXZpY2VJZERhbycpLAogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGVzLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyOwoKICAgICAgICAgICAgICAgICAgICBwcm9maWxlcyA9IGRhby5nZXREZXZpY2VQcm9maWxlcyh1c2VybmFtZSwgcmVhbG0pOwoKICAgICAgICAgICAgICAgICAgICBpZiAocHJvZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlciA9IHByb2ZpbGVzLml0ZXJhdG9yKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUgPSBpdGVyLm5leHQoKS5nZXRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFeHBpcmVkUHJvZmlsZShwcm9maWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9maWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLm1lc3NhZ2VFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoInN0b3JlZCBub24tZXhwaXJlZCBwcm9maWxlczogIiArIHJlc3VsdHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Tm90RXhwaXJlZFByb2ZpbGVzKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRldmljZVByaW50ID0gSlNPTi5wYXJzZShjbGllbnRTY3JpcHRPdXRwdXREYXRhKSwKICAgICAgICAgICAgZGV2aWNlUHJpbnRQcm9maWxlcyA9IGdldFByb2ZpbGVzKCk7CgogICAgICAgIGlmICghaGFzUmVxdWlyZWRBdHRyaWJ1dGVzKGRldmljZVByaW50LCBjb25maWcuYXR0cmlidXRlcykpIHsKICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoImRldmljZVByaW50Lmhhc1JlcXVpcmVkQXR0cmlidXRlczogZmFsc2UiKTsKICAgICAgICAgICAgLy8gV2lsbCBmYWlsIHRoaXMgbW9kdWxlIGJ1dCBmYWxsLXRocm91Z2ggdG8gbmV4dCBtb2R1bGUuIFdoaWNoIHNob3VsZCBiZSBPVFAuCiAgICAgICAgICAgIGF1dGhTdGF0ZSA9IEZBSUxFRDsKICAgICAgICB9IGVsc2UgaWYgKGNvbXBhcmVEZXZpY2VQcmludFByb2ZpbGVzKGNvbmZpZy5hdHRyaWJ1dGVzLCBkZXZpY2VQcmludCwgZGV2aWNlUHJpbnRQcm9maWxlcywgY29uZmlnLm1heFBlbmFsdHlQb2ludHMpKSB7CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJkZXZpY2VQcmludC5oYXNWYWxpZFByb2ZpbGU6IHRydWUiKTsKICAgICAgICAgICAgYXV0aFN0YXRlID0gU1VDQ0VTUzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsb2dnZXIubWVzc2FnZSgiZGV2aWNlUHJpbnQuaGFzVmFsaWRQcm9maWxlOiBmYWxzZSIpOwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoJ2RldmljZVByaW50UHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KGRldmljZVByaW50KSk7CiAgICAgICAgICAgIC8vIFdpbGwgZmFpbCB0aGlzIG1vZHVsZSBidXQgZmFsbC10aHJvdWdoIHRvIG5leHQgbW9kdWxlLiBXaGljaCBzaG91bGQgYmUgT1RQLgogICAgICAgICAgICBhdXRoU3RhdGUgPSBGQUlMRUQ7CiAgICAgICAgfQogICAgfQp9CgptYXRjaERldmljZVByaW50KCk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" }, { "name": "transfer-encoding", "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], "headersSize": 800, @@ -299,8 +147,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:26.082Z", - "time": 63, + "startedDateTime": "2024-09-09T22:21:25.859Z", + "time": 117, "timings": { "blocked": -1, "connect": -1, @@ -308,11 +156,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 63 + "wait": 117 } }, { - "_id": "07d163ce19bcc152182b85d8f79a2690", + "_id": "d83a6d63597bbf914f2080cfe22d9dda", "_order": 0, "cache": {}, "request": { @@ -329,11 +177,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -352,23 +200,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1671, + "headersSize": 2035, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"wks-ReadUserName\"" + "value": "name eq \"test-script-with-secrets-and-variables\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-ReadUserName%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22test-script-with-secrets-and-variables%22" }, "response": { - "bodySize": 1500, + "bodySize": 244, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1500, - "text": "{\"result\":[{\"_id\":\"bae52680-c1ea-4a4b-be80-25db364d822a\",\"name\":\"wks-ReadUserName\",\"description\":\"Reading userName from Query Parameter \",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJmYWxzZSI7CmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikpIHsKICAgIHZhciB1c2VyTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoInVzZXJOYW1lIikuZ2V0KDApKTsKICAgIHZhciBvYmplY3RBdHRyaWJ1dGVzID0gewogICAgICB1c2VyTmFtZTogdXNlck5hbWUKICAgIH0KICBzaGFyZWRTdGF0ZS5wdXQoIm9iamVjdEF0dHJpYnV0ZXMiLCBvYmplY3RBdHRyaWJ1dGVzKTsKICBvdXRjb21lID0gInRydWUiOwp9Ci8qCmlmIChyZXF1ZXN0UGFyYW1ldGVycy5nZXQoImVtYWlsIikpIHsKICAgIHZhciBleHRlcm5hbGVtYWlsID0gcmVxdWVzdFBhcmFtZXRlcnMuZ2V0KCJlbWFpbCIpLmdldCgwKTsKICAgIHZhciBkZWNvZGVkRW1haWwgPSBkZWNvZGVVUklDb21wb25lbnQoZXh0ZXJuYWxlbWFpbCk7CiAgICB2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHsKICAgICAgZnJJbmRleGVkU3RyaW5nNTogZGVjb2RlZEVtYWlsCiAgICB9CiAgc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQoqLwoKCgoK\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 244, + "text": "{\"result\":[{\"_id\":\"da7a96a8-7969-4dab-9c6e-a812938cc76d\",\"name\":\"test-script-with-secrets-and-variables\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -390,7 +238,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -418,15 +266,15 @@ }, { "name": "content-length", - "value": "1500" + "value": "244" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -445,14 +293,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:26.150Z", - "time": 55, + "startedDateTime": "2024-09-09T22:21:25.981Z", + "time": 90, "timings": { "blocked": -1, "connect": -1, @@ -460,11 +308,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 90 } }, { - "_id": "c5caa7291edc554233da2cdc3b03a448", + "_id": "51a2d1bdf5235218615e430a782c680e", "_order": 0, "cache": {}, "request": { @@ -481,11 +329,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -504,23 +352,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1689, + "headersSize": 2036, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"LinkedIn Profile Normalization\"" + "value": "name eq \"My Other Example Library Script\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22LinkedIn%20Profile%20Normalization%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Other%20Example%20Library%20Script%22" }, "response": { - "bodySize": 1600, + "bodySize": 237, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1600, - "text": "{\"result\":[{\"_id\":\"8862ca8f-7770-4af5-a888-ac0df0947f36\",\"name\":\"LinkedIn Profile Normalization\",\"description\":\"Normalizes raw profile data from LinkedIn\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5maXJzdE5hbWUubG9jYWxpemVkLmdldCgwKSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3ROYW1lLmxvY2FsaXplZC5nZXQoMCkpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucHJvZmlsZVBpY3R1cmUuZGlzcGxheUltYWdlKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVsZW1lbnRzLmdldCgwKS5nZXQoImhhbmRsZX4iKS5lbWFpbEFkZHJlc3MpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZWxlbWVudHMuZ2V0KDApLmdldCgiaGFuZGxlfiIpLmVtYWlsQWRkcmVzcykpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 237, + "text": "{\"result\":[{\"_id\":\"4e053815-adde-46ac-9fe2-d3ae93517c14\",\"name\":\"My Other Example Library Script\",\"exports\":[]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -542,7 +390,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -570,15 +418,15 @@ }, { "name": "content-length", - "value": "1600" + "value": "237" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -597,14 +445,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:26.210Z", - "time": 52, + "startedDateTime": "2024-09-09T22:21:26.077Z", + "time": 107, "timings": { "blocked": -1, "connect": -1, @@ -612,11 +460,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 52 + "wait": 107 } }, { - "_id": "306f5b3f9bae72de54660fbbffcb0b35", + "_id": "d5a690f315ecdca4895304f9ae857943", "_order": 0, "cache": {}, "request": { @@ -633,11 +481,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -656,23 +504,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1666, + "headersSize": 2019, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"havePush.js\"" + "value": "name eq \"My Example Library\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22havePush.js%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22My%20Example%20Library%22" }, "response": { - "bodySize": 677, + "bodySize": 396, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 677, - "text": "{\"result\":[{\"_id\":\"0cc09f53-7183-4829-a93a-1b3308318ba9\",\"name\":\"havePush.js\",\"description\":\"null\",\"script\":\"dmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpOwppZihwdXNoRGV2aWNlUHJvZmlsZXMubGVuPjApIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cgp9Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 396, + "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"exports\":[{\"id\":\"MSG\",\"type\":\"String\"},{\"id\":\"add\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotal\",\"type\":\"Function\",\"arity\":1},{\"id\":\"logTotalWithMessage\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -694,7 +542,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -722,15 +570,15 @@ }, { "name": "content-length", - "value": "677" + "value": "396" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -755,8 +603,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:26.268Z", - "time": 53, + "startedDateTime": "2024-09-09T22:21:26.192Z", + "time": 91, "timings": { "blocked": -1, "connect": -1, @@ -764,11 +612,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 53 + "wait": 91 } }, { - "_id": "f92c54772e92b8bdd08e7cbef5aa4627", + "_id": "b1af1584713fb0b5c684885c9ec96499", "_order": 0, "cache": {}, "request": { @@ -785,11 +633,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" + "value": "@rockcarver/frodo-lib/2.1.2-0" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "accept-api-version", @@ -808,23 +656,23 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1711, + "headersSize": 2013, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { "name": "_queryFilter", - "value": "name eq \"OAuth2 Authorize Endpoint Data Provider Script\"" + "value": "name eq \"Library Script\"" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20Authorize%20Endpoint%20Data%20Provider%20Script%22" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/libraries?_queryFilter=name%20eq%20%22Library%20Script%22" }, "response": { - "bodySize": 4978, + "bodySize": 404, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 4978, - "text": "{\"result\":[{\"_id\":\"3f93ef6e-e54a-4393-aba1-f322656db28a\",\"name\":\"OAuth2 Authorize Endpoint Data Provider Script\",\"description\":\"Default global script for OAuth2 Authorize Endpoint Data Provider\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcmV0dXJuIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGF1dGhvcml6ZSByZXF1ZXN0IGlzIGNhbGxlZC4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LgogKgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cwogKgogKiBsb2dnZXIgLSBEZWJ1ZyAoMykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSAiU2NyaXB0ZWRBdXRob3JpemVFbmRwb2ludERhdGFQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FVVEhPUklaRV9FTkRQT0lOVF9EQVRBX1BST1ZJREVSLgogKgogKiBzY3JpcHROYW1lIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHNjcmlwdAogKgogKiBSZXR1cm4gLSBhIE1hcDxTdHJpbmcsIFN0cmluZz4gb2YgYWRkaXRpb25hbCBkYXRhICg0KS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgzKSBEZWJ1ZyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBhdXRob3JpemUgZW5kcG9pbnQgZGF0YSBwcm92aWRlciBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCi8qIEVYQU1QTEUKdmFyIG1hcCA9IG5ldyBqYXZhLnV0aWwuSGFzaE1hcCgpOwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGEoKSB7CgogICAgLy9JZiBjb25zdGFudCBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkCiAgICBtYXAucHV0KCJoZWxsbyIsICJ3b3JsZCIpOwoKICAgIC8vSWYgc29tZSBkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIGZyb20gdGhpcmQgcGFydHkgc2VydmljZQogICAgYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCk7CgogICAgLy9JZiB0aGVyZSBpcyBhIG5lZWQgdG8gcmV0dXJuIHNvbWUgdXNlciBzZXNzaW9uIGRhdGEKICAgIGFkZEFkZGl0aW9uYWxEYXRhRnJvbVNlc3Npb25Qcm9wZXJ0aWVzKCkKCiAgICByZXR1cm4gbWFwOwp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tRXh0ZXJuYWxTZXJ2aWNlKCkgewogIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLlNlcnZlckV4Y2VwdGlvbgogICAgKTsKICB0cnkgewogICAgICAgIC8vT2J0YWluIGFkZGl0aW9uYWwgZGF0YSBieSBwZXJmb3JtaW5nIGEgUkVTVCBjYWxsIHRvIGFuIGV4dGVybmFsIHNlcnZpY2UKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgICAgIHJlcXVlc3Quc2V0VXJpKCJodHRwczovL3RoaXJkLnBhcnR5LmFwcC9oZWxsby5qc3AiKTsKICAgICAgICByZXF1ZXN0LnNldE1ldGhvZCgiUE9TVCIpOwogICAgICAgIC8vcmVxdWVzdC5zZXRFbnRpdHkoImZvbz1iYXImaGVsbG89d29ybGQiKTsKICAgICAgICByZXF1ZXN0LnNldEVudGl0eShqc29uKG9iamVjdCgKICAgICAgICAgICAgICAgICAgICBmaWVsZCgiZm9vIiwgImJhciIpKSkpOwogICAgICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXRPclRocm93KCk7CiAgICAgICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpKTsKICAgICAgICBtYXAucHV0KCJzb21lS2V5IixyZXN1bHQuZ2V0KCJzb21lS2V5IikpOwogIH0gY2F0Y2ggKGVycikgewogICAgIHRocm93IG5ldyBmckphdmEuU2VydmVyRXhjZXB0aW9uKGVycik7CiAgfQp9OwoKZnVuY3Rpb24gYWRkQWRkaXRpb25hbERhdGFGcm9tU2Vzc2lvblByb3BlcnRpZXMoKSB7CiAgLy9BZGQgYWRkaXRpb25hbCBkYXRhIGZyb20gc2Vzc2lvbiBwcm9wZXJ0eSB2YWx1ZXMKICAgaWYgKHNlc3Npb24gIT0gbnVsbCkgeyAvLyBzZXNzaW9uIGlzIG5vdCBhdmFpbGFibGUgZm9yIHJlc291cmNlIG93bmVyIHBhc3N3b3JkIGNyZWRlbnRpYWxzIGdyYW50CiAgICAgbWFwLnB1dCgiaXBBZGRyZXNzIiwgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgiSG9zdCIpKQogICB9Cn07CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKSk7Cn07CgphZGRBZGRpdGlvbmFsRGF0YSgpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" + "size": 404, + "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"exports\":[{\"id\":\"logError\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logWarning\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logInfo\",\"type\":\"Function\",\"arity\":2},{\"id\":\"logDebug\",\"type\":\"Function\",\"arity\":2}]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" }, "cookies": [], "headers": [ @@ -846,7 +694,7 @@ }, { "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" + "value": "protocol=2.0,resource=1.0, resource=1.0" }, { "name": "content-security-policy", @@ -874,15 +722,15 @@ }, { "name": "content-length", - "value": "4978" + "value": "404" }, { "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" + "value": "Mon, 09 Sep 2024 22:21:25 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" + "value": "frodo-5b16ffd6-cad5-4641-b69e-7b63f0fd569b" }, { "name": "strict-transport-security", @@ -901,13694 +749,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.326Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "91ace92f5115d94b26cb380ff635ab0f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1728, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha endUserUIClient OAuth2 Access Token Modification Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20endUserUIClient%20OAuth2%20Access%20Token%20Modification%20Script%22" - }, - "response": { - "bodySize": 1061, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1061, - "text": "{\"result\":[{\"_id\":\"e232cff3-2460-47cd-80b2-36c86c0d0f06\",\"name\":\"Alpha endUserUIClient OAuth2 Access Token Modification Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBpZiAoc2NvcGVzLmNvbnRhaW5zKCdmcjphdXRvYWNjZXNzOionKSB8fCBzY29wZXMuY29udGFpbnMoJ2ZyOmlnYToqJykgfHwgc2NvcGVzLmNvbnRhaW5zKCdmcjppZGM6YW5hbHl0aWNzOionKSkgewogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBjb20uc3VuLmlkZW50aXR5LmlkbS5JZFR5cGUKICAgICk7CiAgICB2YXIgZ3JvdXBzID0gW107CiAgICBpZGVudGl0eS5nZXRNZW1iZXJzaGlwcyhmci5JZFR5cGUuR1JPVVApLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCkgewogICAgICBncm91cHMucHVzaChncm91cC5nZXRBdHRyaWJ1dGUoJ2NuJykudG9BcnJheSgpWzBdKTsKICAgIH0pOwogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ2dyb3VwcycsIGdyb3Vwcyk7CiAgfQp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1061" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.387Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "fab0981ac687745158b06222a5c6fa65", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-NEO-Twillio\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-NEO-Twillio%22" - }, - "response": { - "bodySize": 8417, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 8417, - "text": "{\"result\":[{\"_id\":\"6aa47a41-af3d-4df3-a7a1-b1766cfeaf6b\",\"name\":\"wks-NEO-Twillio\",\"description\":\"null\",\"script\":\"LyoqCiAqIEBmaWxlIFRoaXMgc2NyaXB0IGRlbGl2ZXJzIGEgbWVzc2FnZSB3aXRoIHZhbHVlcyBmcm9tIHNoYXJlZCBzdGF0ZSB2aWEgVHdpbGlvIFNNUywgdXNpbmcgdGhlIGN1cnJlbnQgdXNlcidzIHRlbGVwaG9uZU51bWJlcgogKiBAdmVyc2lvbiAwLjEuMQogKiBAa2V5d29yZHMgc21zIG90cCBtZmEgdHdpbGlvIAogKi8KCi8qKgogKiBFbnZpcm9ubWVudCBzcGVjaWZpYyBUd2lsaW8gY29uZmlnIAogKi8KCnZhciB0d2lsaW9BY2NvdW50U2lkID0gIjxzZWNyZXQ+IjsgICAKdmFyIHR3aWxpb0FwaUtleVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9BcGlLZXlTZWNyZXQgPSAiPHNlY3JldD4iOwp2YXIgdHdpbGlvTWVzc2FnaW5nU2VydmljZVNpZCA9ICI8c2VjcmV0PiI7CnZhciB0d2lsaW9QaG9uZU51bWJlckZyb20gPSAiPHNlY3JldD4iOyAgICAKCi8qKgogKiBGdWxsIENvbmZpZ3VyYXRpb24gCiAqLwoKdmFyIGNvbmZpZyA9IHsKICAgIGFjY291bnRTaWQ6IHR3aWxpb0FjY291bnRTaWQsICAgIAogICAgYXBpS2V5U2lkOiB0d2lsaW9BcGlLZXlTaWQsCiAgICBhcGlLZXlTZWNyZXQ6IHR3aWxpb0FwaUtleVNlY3JldCwKICAgIHBob25lTnVtYmVyRnJvbTogdHdpbGlvUGhvbmVOdW1iZXJGcm9tLCAKICAgIG1lc3NhZ2luZ1NlcnZpY2VTaWQ6IHR3aWxpb01lc3NhZ2luZ1NlcnZpY2VTaWQsIAogICAgYmFzZVVyaTogImh0dHBzOi8vYXBpLnR3aWxpby5jb20vMjAxMC0wNC0wMSIsCiAgICBzaGFyZWRTdGF0ZUlkRmllbGQ6ICJfaWQiLAogICAgcGhvbmVOdW1iZXJGaWVsZDogInRlbGVwaG9uZU51bWJlciIsCiAgICBtZXNzYWdlVGVtcGxhdGU6ICJZb3VyIHNlY3VyaXR5IGNvZGUgaXMge3tvbmVUaW1lUGFzc3dvcmR9fSIsCiAgICBub2RlTmFtZTogInR3aWxpb1NtcyIKfTsKCi8qKgogKiBOb2RlIG91dGNvbWVzCiAqLwoKIHZhciBOb2RlT3V0Y29tZSA9IHsKICAgIERFTElWRVJFRDogICJkZWxpdmVyZWQiLAogICAgQVVUSEZBSUxFRDogImF1dGhGYWlsZWQiLAogICAgTk9QSE9ORTogICAgIm5vUGhvbmUiLAogICAgRVJST1I6ICAgICAgImVycm9yIgp9OwoKLyoqCiAqIEV4dGVybmFsIGRlcGVuZGVuY2llcwogKi8KCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sudXRpbC5lbmNvZGUuQmFzZTY0LAogICAgamF2YS5sYW5nLlN0cmluZwopOwoKLyoqCiAqIEFkZCB0aGUgbm9kZSBpbmZvIHByZWZpeCB0byBhIGxvZyBtZXNzYWdlCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gdGhlIG1lc3NhZ2UgYm9keQogKiBAcmV0dXJucyBhIHRhZ2dlZCB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlCiAqLwpmdW5jdGlvbiB0YWcobWVzc2FnZSkgewogICAgcmV0dXJuICIqKioiLmNvbmNhdChjb25maWcubm9kZU5hbWUpLmNvbmNhdCgiICIpLmNvbmNhdChtZXNzYWdlKTsKfQoKLyoqCiAqIExvZyBhbiBIVFRQIHJlc3BvbnNlCiAqIAogKiBAcGFyYW0ge1Jlc3BvbnNlfSBIVFRQIHJlc3BvbnNlIG9iamVjdAogKi8KZnVuY3Rpb24gbG9nUmVzcG9uc2UocmVzcG9uc2UpIHsKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiU2NyaXB0ZWQgTm9kZSBIVFRQIFJlc3BvbnNlOiAiICsgcmVzcG9uc2UuZ2V0U3RhdHVzKCkgKyAiLCBCb2R5OiAiICsgcmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpKTsKfQoKLyoqCiAqIFJlc29sdmUgaGFuZGxlYmFyIHBsYWNlaG9sZGVycyBmcm9tIHNoYXJlZCBzdGF0ZQogKiAKICogQHBhcmFtIHt0ZW1wbGF0ZX0gaGFuZGxlYmFyIHRlbXBsYXRlCiAqLwpmdW5jdGlvbiByZXNvbHZlUGxhY2Vob2xkZXJzKHRlbXBsYXRlKSB7CiAgY29uc3QgcmVnZXggPSAve3suKj99fS9nOwogIGNvbnN0IHZhcmlhYmxlcyA9IHRlbXBsYXRlLm1hdGNoKHJlZ2V4KTsKCiAgaWYgKCF2YXJpYWJsZXMpIHsKICAgIHJldHVybiB0ZW1wbGF0ZTsKICB9CiAgCiAgdmFyIHJlc3VsdCA9IHRlbXBsYXRlOwogIAogIHZhcmlhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uIHN1YihlbGVtZW50KSB7IAogICAgdmFyIHZhck5hbWUgPSBlbGVtZW50LnJlcGxhY2UoL1t7fV0vZywiIik7CiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShlbGVtZW50LHNoYXJlZFN0YXRlLmdldCh2YXJOYW1lKSk7CiAgfSk7CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKLyoqCiAqIFNlbmQgYW4gU01TIHZpYSBUd2lsaW8KICogCiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UgdG8gc2VuZAogKiBAcGFyYW0ge3N0cmluZ30gbnVtYmVyRnJvbSAtIFRoZSBvcmlnaW5hdGluZyBwaG9uZSBudW1iZXIvc2hvcnRjb2RlCiAqIEBwYXJhbSB7c3RyaW5nfSBudW1iZXJUbyAtIFRoZSBwaG9uZSBudW1iZXIgdG8gc2VuZCB0bwogKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnaW5nU2VydmljZVNpZCAtIFR3aWxpbyBtZXNzYWdpbmcgc2VydmljZSBTSUQKICogQHBhcmFtIHtzdHJpZ30gdXJpIC0gVGhlIFVSSSBvZiB0aGUgVHdpbGlvIEFQSSBlbmRwb2ludCAKICogQHBhcmFtIHtzdHJpbmd9IHNpZCAtIFRoZSBUd2lsaW8gYWNjb3VudCBvciBBUEkga2V5IFNJRAogKiBAcGFyYW0geyp9IHNlY3JldCAtIFRoZSBUd2lsaW8gYWNjb3VudCBhdXRoa2V5IG9yIEFQSSBrZXkgc2VjcmV0CiAqIEByZXR1cm5zIC0gQSBub2RlIG91dGNvbWUgCiAqLwpmdW5jdGlvbiBzZW5kU01TKG1lc3NhZ2UsIG51bWJlckZyb20sIG51bWJlclRvLCBtZXNzYWdpbmdTZXJ2aWNlU2lkLCB1cmksIHNpZCwgc2VjcmV0KSB7CgogICAgbG9nZ2VyLm1lc3NhZ2UodGFnKCJDYWxsaW5nIFR3aWxpbyBlbmRwb2ludCAiICsgdXJpKSk7CiAgICBsb2dnZXIubWVzc2FnZSh0YWcoIlNlbmRpbmcgdG8gIiArIG51bWJlclRvKSk7CgogICAgLy8gVHdpbGlvIHNlZW1zIG5vdCB0byBleHBlY3QgdGhlIGZvcm0gdmFsdWVzIHRvIGJlIFVSTCBlbmNvZGVkCgogICAgY29uc3QgcmVxdWVzdEJvZHkgPSAiQm9keT0iLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQobWVzc2FnZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZGcm9tPSIpLmNvbmNhdChudW1iZXJGcm9tKSAgCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZUbz0iKS5jb25jYXQobnVtYmVyVG8pCiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQoIiZNZXNzYWdpbmdTZXJ2aWNlU2lkPSIpLmNvbmNhdChtZXNzYWdpbmdTZXJ2aWNlU2lkKTsKICAKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygiTWVzc2FnZSBib2R5ICIgKyByZXF1ZXN0Qm9keSkpOwoKICAgIGNvbnN0IGJhc2ljQXV0aCA9IGZyLkJhc2U2NC5lbmNvZGUoZnIuU3RyaW5nKHNpZC5jb25jYXQoIjoiKS5jb25jYXQoc2VjcmV0KSkuZ2V0Qnl0ZXMoKSk7CiAgICAKICAgIHZhciByZXNwb25zZTsKCiAgICB0cnkgewogICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIlBPU1QiKTsKICAgICAgICByZXF1ZXN0LnNldFVyaSh1cmkpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQXV0aG9yaXphdGlvbiIsIkJhc2ljICIgKyBiYXNpY0F1dGgpOwogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgcmVxdWVzdC5nZXRFbnRpdHkoKS5zZXRTdHJpbmcocmVxdWVzdEJvZHkpOwoKICAgICAgICByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIH0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiRXhjZXB0aW9uIGNhbGxpbmcgdHdpbGlvIGVuZHBvaW50ICIgKyBlKSk7CiAgICAgICAgcmV0dXJuIE5vZGVPdXRjb21lLkVSUk9SOwogICAgfQoKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLmdldFN0YXR1cygpLmdldENvZGUoKTsKCiAgICBpZiAoc3RhdHVzID09PSA0MDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJUd2lsaW8gYXV0aGVudGljYXRpb24gZmFpbGVkIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5BVVRIRkFJTEVEOyAgICAKICAgIH0KCiAgICBpZiAoc3RhdHVzICE9PSAyMDEpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJCYWQgSFRUUCByZXNwb25zZSBmcm9tIFR3aWxpbzogIiArIHN0YXR1cykpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsgICAgCiAgICB9CgogICAgdmFyIHJlc3BvbnNlSnNvbiA9IHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpOwoKICAgIGlmICghcmVzcG9uc2VKc29uKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIHZhciByZXNwb25zZU9iaiA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uKTsKCiAgICBpZiAoIXJlc3BvbnNlT2JqKSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKHRhZygiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgYm9keSIpKTsKICAgICAgICByZXR1cm4gTm9kZU91dGNvbWUuRVJST1I7ICAgIAogICAgfQoKICAgIGlmICghKHJlc3BvbnNlT2JqLmhhc093blByb3BlcnR5KCJzaWQiKSkpIHsKICAgICAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBzaWQgcHJvcGVydHkgaW4gVHdpbGlvIHJlc3BvbnNlIikpOwogICAgICAgIHJldHVybiBOb2RlT3V0Y29tZS5FUlJPUjsKICAgIH0gIAoKICAgIGxvZ2dlci5tZXNzYWdlKHRhZygibWVzc2FnZSBkZWxpdmVyZWQgc3VjY2Vzc2Z1bGx5IikpOwogICAgcmV0dXJuIE5vZGVPdXRjb21lLkRFTElWRVJFRDsKfQoKLyoqCiAqIE5vZGUgZW50cnkgcG9pbnQKICovCgpsb2dnZXIubWVzc2FnZSh0YWcoIm5vZGUgZXhlY3V0aW5nIikpOwoKdmFyIGlkOwp2YXIgdGVsZXBob25lTnVtYmVyczsKdmFyIG51bWJlclRvOwoKaWYgKCEoaWQgPSBzaGFyZWRTdGF0ZS5nZXQoY29uZmlnLnNoYXJlZFN0YXRlSWRGaWVsZCkpKSB7CiAgICBsb2dnZXIuZXJyb3IodGFnKCJObyBpZCBpbiBzaGFyZWQgc3RhdGUiKSk7CiAgICBvdXRjb21lID0gTm9kZU91dGNvbWUuRVJST1I7Cn0KZWxzZSBpZiAoISh0ZWxlcGhvbmVOdW1iZXJzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgY29uZmlnLnBob25lTnVtYmVyRmllbGQpKSkgewogICAgbG9nZ2VyLmVycm9yKHRhZygiTm8gcGhvbmUgbnVtYmVycyBmb3IgdXNlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKCEobnVtYmVyVG8gPSB0ZWxlcGhvbmVOdW1iZXJzLnRvQXJyYXkoKVswXSkpIHsKICAgIGxvZ2dlci5lcnJvcih0YWcoIm5vIHRlbGVwaG9uZU51bWJlciIpKTsKICAgIG91dGNvbWUgPSBOb2RlT3V0Y29tZS5OT1BIT05FOwp9CmVsc2UgaWYgKG51bWJlclRvID09PSAiIikgewogICAgbG9nZ2VyLmVycm9yKHRhZygiYmxhbmsgdGVsZXBob25lTnVtYmVyIikpOwogICAgb3V0Y29tZSA9IE5vZGVPdXRjb21lLk5PUEhPTkU7Cn0KZWxzZSB7CiAgICB2YXIgbWVzc2FnZSA9IHJlc29sdmVQbGFjZWhvbGRlcnMoY29uZmlnLm1lc3NhZ2VUZW1wbGF0ZSk7CiAgICB2YXIgdHdpbGlvVXJpID0gY29uZmlnLmJhc2VVcmkuY29uY2F0KCIvQWNjb3VudHMvIikuY29uY2F0KGNvbmZpZy5hY2NvdW50U2lkKS5jb25jYXQoIi9NZXNzYWdlcy5qc29uIik7CiAgICBvdXRjb21lID0gc2VuZFNNUyhtZXNzYWdlLCBjb25maWcucGhvbmVOdW1iZXJGcm9tLCBudW1iZXJUbywgY29uZmlnLm1lc3NhZ2luZ1NlcnZpY2VTaWQsIHR3aWxpb1VyaSwgY29uZmlnLmFwaUtleVNpZCwgY29uZmlnLmFwaUtleVNlY3JldCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.444Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "b58afe5cd68f1b63d007dcf8166b3ab0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OAuth2 JWT Issuer Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20JWT%20Issuer%20Script%22" - }, - "response": { - "bodySize": 5308, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 5308, - "text": "{\"result\":[{\"_id\":\"400e48ba-3f13-4144-ac7b-f824ea8e98c5\",\"name\":\"OAuth2 JWT Issuer Script\",\"description\":\"Default global script for scripted JWT Issuers\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgdG8gZGVyaXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIGR5bmFtaWMgSldUIGlzc3VlciBmcm9tIHRoZSBpc3N1ZXIgc3RyaW5nLgogKiBBIEpXVCBpc3N1ZXIgaXMgbWFkZSB1cCBvZiB0aGUgZm9sbG93aW5nOgogKiAgIC0gaXNzdWVyIC0gdGhlIGlkZW50aWZpZXIgb2YgdGhlIGVudGl0eSB0aGF0IGlzc3VlcyBKV1RzCiAqICAgLSByZXNvdXJjZSBvd25lciBzdWJqZWN0IGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBvd25lcgogKiAgIC0gY29uc2VudGVkIHNjb3BlIGNsYWltIC0gdGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdGhhdCByZXByZXNlbnRzIHNjb3BlIHRoYXQgdGhlIHJlc291cmNlIG93bmVyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYWxyZWFkeSBjb25zZW50ZWQgdG8gZXh0ZXJuYWxseQogKiAgIC0gYXV0aG9yaXplZCBzdWJqZWN0cyAtIHRoZSBzZXQgb2YgcHJpbmNpcGFsIGlkZW50aWZpZXJzIHRoYXQgYXJlIGF1dGhvcml6ZWQgdG8gYmUgdXNlZCBhcyByZXNvdXJjZSBvd25lcnMKICogICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgaXNzdWVyCiAqICAgLSBKV0tzIC0gZWl0aGVyIGEgc2V0IG9mIEpXS3Mgb3IgY29ubmVjdGlvbiBkZXRhaWxzIGZvciBvYnRhaW5pbmcgdGhhdCBzZXQsIHRoYXQgYXJlIHRoZSBwdWJsaWMga2V5cyB0aGF0CiAqICAgICAgICAgICAgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlIG9uIHRoZSBpc3N1ZWQgSldUcy4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIGlzc3VlciAtIFN0cmluZwogKiAgICAgICAgICBUaGUgaXNzdWVyIGZyb20gdGhlIGJlYXJlciBKV1QuCiAqIHJlYWxtIC0gU3RyaW5nCiAqICAgICAgICAgVGhlIHBhdGggb2YgdGhlIHJlYWxtIHRoYXQgaXMgaGFuZGxpbmcgdGhlIHJlcXVlc3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIHNjcmlwdCBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5PQVVUSDJfU0NSSVBURURfSldUX0lTU1VFUi4KICogaHR0cENsaWVudCAtIEhUVFAgQ2xpZW50ICgxKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgSFRUUCBDbGllbnQgaW5zdGFuY2U6CiAqICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC4KICogaWRSZXBvc2l0b3J5IC0gSWRlbnRpdHkgUmVwb3NpdG9yeSAoMikuIEFsd2F5cyBwcmVzZW50LgogKiBzZWNyZXRzIC0gU2VjcmV0cyBhY2Nlc3NvciAoMykuIEFsd2F5cyBwcmVzZW50LgogKgogKiBSZXR1cm4gLSBvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLlRydXN0ZWRKd3RJc3N1ZXJDb25maWcgKDQpIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRydXN0ZWQgSldUIGlzc3Vlci4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICgyKSBTY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuYW0vc2NyaXB0aW5nL2FwaS9pZGVudGl0eS9TY3JpcHRlZElkZW50aXR5UmVwb3NpdG9yeS5odG1sLgogKiAoMykgU2NyaXB0ZWRTZWNyZXRzIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5hbS9zY3JpcHRpbmcvYXBpL3NlY3JldHMvU2NyaXB0ZWRTZWNyZXRzLmh0bWwuCiAqICg0KSBUcnVzdGVkSnd0SXNzdWVyQ29uZmlnIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1RydXN0ZWRKd3RJc3N1ZXJDb25maWcuaHRtbC4KICovCgovKiBFWEFNUExFCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVHJ1c3RlZEp3dElzc3VlckNvbmZpZywKICAgICAgICBqYXZhLnV0aWwuQ29sbGVjdGlvbnMKICAgICk7CgogICAgdmFyIGlzcyA9IGlkUmVwb3NpdG9yeS5nZXRJZGVudGl0eShpc3N1ZXIpOwogICAgaWYgKGlzcyA9PSBudWxsKSB7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoJ05vIGlzc3VlciBmb3VuZCBmb3I6ICcraXNzdWVyKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGxvZ2dlci5tZXNzYWdlKCdGb3VuZCBpc3N1ZXI6ICcraXNzKTsKICAgIC8vIGluIHRoaXMgZXhhbXBsZSBlaXRoZXIgYSBKV0sgc2V0IG9yIGEgVVJJIHRvIGEgSldLIHNldCBhcmUgaW4gdGhlIHBvc3RhbEFkZHJlc3MgYXR0cmlidXRlCiAgICB2YXIgandrc0F0dHJzID0gaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygncG9zdGFsQWRkcmVzcycpOwogICAgdmFyIGp3a1NldCA9IGp3a3NBdHRycy5sZW5ndGggPT09IDAgPyBudWxsIDogandrc0F0dHJzWzBdOwogICAgdmFyIGNvbmZpZyA9IG5ldyBmckphdmEuVHJ1c3RlZEp3dElzc3VlckNvbmZpZygKICAgICAgICBpc3N1ZXIsCiAgICAgICAgJ3N1YicsCiAgICAgICAgJ3Njb3BlJywKICAgICAgICAvLyBpbiB0aGlzIGV4YW1wbGUsIHZhbGlkIHN1YmplY3RzIGFyZSBzdG9yZWQgaW4gdGhlIG1haWwgYXR0cmlidXRlCiAgICAgICAgaXNzLmdldEF0dHJpYnV0ZVZhbHVlcygnbWFpbCcpLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCd7JykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgIGp3a1NldC5zdGFydHNXaXRoKCdodHRwJykgPyBqd2tTZXQgOiBudWxsLAogICAgICAgICc1IG1pbnV0ZXMnLAogICAgICAgICcxIG1pbnV0ZScKICAgICk7CiAgICByZXR1cm4gY29uZmlnOwp9KCkpOwoqLw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_SCRIPTED_JWT_ISSUER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "5308" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.501Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "a9c49b439be01d2b64c7940e0475028a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1690, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Microsoft Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Microsoft%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1466, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1466, - "text": "{\"result\":[{\"_id\":\"73cecbfc-dad0-4395-be6a-6858ee3a80e5\",\"name\":\"Microsoft Profile Normalization\",\"description\":\"Normalizes raw profile data from Microsoft\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlOYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbk5hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5zdXJuYW1lKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJQcmluY2lwYWxOYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1466" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.559Z", - "time": 50, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 50 - } - }, - { - "_id": "a8164adca1e0bf44ebac017fc5d0f3eb", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript2\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript2%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"b7259916-71ed-4675-8c5a-de86a80e4aed\",\"name\":\"FrodoTestScript2\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:25 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.613Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "b427b3c2ce2b156e6d63e4a2594eb9c4", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1678, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Save MFA Preference\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Save%20MFA%20Preference%22" - }, - "response": { - "bodySize": 1045, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1045, - "text": "{\"result\":[{\"_id\":\"39e615b2-898e-4178-ba30-f58bcc095797\",\"name\":\"Save MFA Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWYgKHNoYXJlZFN0YXRlLmdldCgid2ViLWF1dGhuLWNoYWxsZW5nZSIpICE9IG51bGwpIHsKICAgIG1mYVR5cGUgPSAid2ViYXV0aG4iOwogIH0gZWxzZSBpZiAoc2hhcmVkU3RhdGUuZ2V0KCJwdXNoUmVnaXN0cmF0aW9uVGltZW91dCIpICE9IG51bGwpIHsKICAgICAgIG1mYVR5cGUgPSAicHVzaCIKICB9CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgW21mYVR5cGVdKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1045" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.670Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "6d3985b76be90a623421cf1f1dab241b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1696, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"ADFS Profile Normalization (JS)\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22ADFS%20Profile%20Normalization%20%28JS%29%22" - }, - "response": { - "bodySize": 7358, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7358, - "text": "{\"result\":[{\"_id\":\"dbe0bf9a-72aa-49d5-8483-9db147985a47\",\"name\":\"ADFS Profile Normalization (JS)\",\"description\":\"Normalizes raw profile data from ADFS\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIHRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIKICogaW4gYSBzdGFuZGFyZCBmb3JtIGV4cGVjdGVkIGJ5IHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogcmF3UHJvZmlsZSAtIFRoZSBzb2NpYWwgaWRlbnRpdHkgcHJvdmlkZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW5nIHVzZXIuCiAqICAgICAgICAgICAgICBKc29uVmFsdWUgKDEpLgogKiBsb2dnZXIgLSBUaGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiByZWFsbSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqIHJlcXVlc3RIZWFkZXJzIC0gVHJlZU1hcCAoMikuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBoZWFkZXJzIGluIHRoZSBsb2dpbiByZXF1ZXN0OgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1yZXF1ZXN0SGVhZGVycy4KICogcmVxdWVzdFBhcmFtZXRlcnMgLSBUcmVlTWFwICgyKS4KICogICAgICAgICAgICAgICAgICAgICBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgcGFyYW1ldGVycy4KICogc2VsZWN0ZWRJZHAgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgVGhlIHNvY2lhbCBpZGVudGl0eSBwcm92aWRlciBuYW1lLiBGb3IgZXhhbXBsZTogZ29vZ2xlLgogKiBzaGFyZWRTdGF0ZSAtIExpbmtlZEhhc2hNYXAgKDMpLgogKiAgICAgICAgICAgICAgIFRoZSBvYmplY3QgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHRyZWUgYW5kIGFsbG93cyBkYXRhIGV4Y2hhbmdlIGJldHdlZW4gdGhlIHN0YXRlbGVzcyBub2RlczoKICogICAgICAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoLW5vZGVzL2NvcmUtYWN0aW9uLmh0bWwjYWNjZXNzaW5nLXRyZWUtc3RhdGUuCiAqIHRyYW5zaWVudFN0YXRlIC0gTGlua2VkSGFzaE1hcCAoMykuCiAqICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdCBmb3Igc3RvcmluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdGhhdCBtdXN0IG5vdCBsZWF2ZSB0aGUgc2VydmVyIHVuZW5jcnlwdGVkLAogKiAgICAgICAgICAgICAgICAgIGFuZCB0aGF0IG1heSBub3QgbmVlZCB0byBwZXJzaXN0IGJldHdlZW4gYXV0aGVudGljYXRpb24gcmVxdWVzdHMgZHVyaW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzZXNzaW9uOgogKiAgICAgICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2F1dGgtbm9kZXMvY29yZS1hY3Rpb24uaHRtbCNhY2Nlc3NpbmctdHJlZS1zdGF0ZS4KICoKICogUmV0dXJuIC0gYSBKc29uVmFsdWUgKDEpLgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqCiAqICAgICAgICAgIFRoaXMgc2NyaXB0J3MgbGFzdCBzdGF0ZW1lbnQgc2hvdWxkIHJlc3VsdCBpbiBhIEpzb25WYWx1ZSAoMSkgd2l0aCB0aGUgZm9sbG93aW5nIGtleXM6CiAqICAgICAgICAgIHsKICogICAgICAgICAgICAgIHsiZGlzcGxheU5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZW1haWwiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiZmFtaWx5TmFtZSI6ICJjb3JyZXNwb25kaW5nLXNvY2lhbC1pZGVudGl0eS1wcm92aWRlci12YWx1ZSJ9LAogKiAgICAgICAgICAgICAgeyJnaXZlbk5hbWUiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsiaWQiOiAiY29ycmVzcG9uZGluZy1zb2NpYWwtaWRlbnRpdHktcHJvdmlkZXItdmFsdWUifSwKICogICAgICAgICAgICAgIHsibG9jYWxlIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InBob3RvVXJsIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0sCiAqICAgICAgICAgICAgICB7InVzZXJuYW1lIjogImNvcnJlc3BvbmRpbmctc29jaWFsLWlkZW50aXR5LXByb3ZpZGVyLXZhbHVlIn0KICogICAgICAgICAgfQogKgogKiAgICAgICAgICBUaGUgY29uc3VtZXIgb2YgdGhpcyBkYXRhIGRlZmluZXMgd2hpY2gga2V5cyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIGFyZSBvcHRpb25hbC4KICogICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBTb2NpYWwgUHJvdmlkZXIgSGFuZGxlciBOb2RlIGFuZCwKICogICAgICAgICAgdWx0aW1hdGVseSwgdGhlIG1hbmFnZWQgb2JqZWN0IGNyZWF0ZWQvdXBkYXRlZCB3aXRoIHRoaXMgZGF0YQogKiAgICAgICAgICB3aWxsIGV4cGVjdCBjZXJ0YWluIGtleXMgdG8gYmUgcG9wdWxhdGVkLgogKiAgICAgICAgICBJbiBzb21lIGNvbW1vbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zLCB0aGUgZm9sbG93aW5nIGtleXMgYXJlIHJlcXVpcmVkIHRvIGJlIG5vdCBlbXB0eToKICogICAgICAgICAgdXNlcm5hbWUsIGdpdmVuTmFtZSwgZmFtaWx5TmFtZSwgZW1haWwuCiAqCiAqICAgICAgICAgIEZyb20gUkZDNDUxNzogQSB2YWx1ZSBvZiB0aGUgRGlyZWN0b3J5IFN0cmluZyBzeW50YXggaXMgYSBzdHJpbmcgb2Ygb25lIG9yIG1vcmUKICogICAgICAgICAgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgZnJvbSB0aGUgVW5pdmVyc2FsIENoYXJhY3RlciBTZXQgKFVDUykuCiAqICAgICAgICAgIEEgemVyby1sZW5ndGggY2hhcmFjdGVyIHN0cmluZyBpcyBub3QgcGVybWl0dGVkLgogKgogKiAoMSkgSnNvblZhbHVlIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2pzb24vSnNvblZhbHVlLmh0bWwuCiAqICgyKSBUcmVlTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9UcmVlTWFwLmh0bWwuCiAqICgzKSBMaW5rZWRIYXNoTWFwIC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqLwoKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQogICAgKTsKCiAgICB2YXIgbm9ybWFsaXplZFByb2ZpbGVEYXRhID0gZnJKYXZhLkpzb25WYWx1ZS5qc29uKGZySmF2YS5Kc29uVmFsdWUub2JqZWN0KCkpOwogIAogICAgICAvL2xvZ2dlci5tZXNzYWdlKCdTZWd1aW4gcmF3UHJvZmlsZTogJytyYXdQcm9maWxlKTsKCiAgICBub3JtYWxpemVkUHJvZmlsZURhdGEucHV0KCdpZCcsIHJhd1Byb2ZpbGUuZ2V0KCdzdWInKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2Rpc3BsYXlOYW1lJywgcmF3UHJvZmlsZS5nZXQoJ2dpdmVuTmFtZScpLmFzU3RyaW5nKCkgKyAnICcgKyByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2VtYWlsJywgcmF3UHJvZmlsZS5nZXQoJ21haWwnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2dpdmVuTmFtZScsIHJhd1Byb2ZpbGUuZ2V0KCdnaXZlbk5hbWUnKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ2ZhbWlseU5hbWUnLCByYXdQcm9maWxlLmdldCgnc24nKS5hc1N0cmluZygpKTsKICAgIG5vcm1hbGl6ZWRQcm9maWxlRGF0YS5wdXQoJ3VzZXJuYW1lJywgcmF3UHJvZmlsZS5nZXQoJ3VwbicpLmFzU3RyaW5nKCkpOwogICAgbm9ybWFsaXplZFByb2ZpbGVEYXRhLnB1dCgncm9sZXMnLCByYXdQcm9maWxlLmdldCgncm9sZXMnKS5hc1N0cmluZygpKTsKICAKICAgICAgLy9sb2dnZXIubWVzc2FnZSgnU2VndWluIG5vcm1hbGl6ZWRQcm9maWxlRGF0YTogJytub3JtYWxpemVkUHJvZmlsZURhdGEpOwoKICAgIHJldHVybiBub3JtYWxpemVkUHJvZmlsZURhdGE7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7358" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.727Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "3e120ffd0f3a240e12418e808b5ff1eb", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"MutilevelSelect\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22MutilevelSelect%22" - }, - "response": { - "bodySize": 7033, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7033, - "text": "{\"result\":[{\"_id\":\"cf63df8d-30e4-4839-b671-5b24006a3204\",\"name\":\"MutilevelSelect\",\"description\":\"null\",\"script\":\"Ly8gbGVnYWN5IC0gbXVsdGlwbGUgY2hvaWNlIGNhbGxiYWNrcwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0LAogIG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXNwb25zZSwKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLkNob2ljZUNhbGxiYWNrLAogIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ29uZmlybWF0aW9uQ2FsbGJhY2ssCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuSGlkZGVuVmFsdWVDYWxsYmFjaywKICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2ssCiAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0SW5wdXRDYWxsYmFjaywKICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuQm9vbGVhbkF0dHJpYnV0ZUlucHV0Q2FsbGJhY2sKKTsKCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uKGMpIHsKICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpKjEwfDA7CiAgICAgIHZhciB2ID0gcjsKICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTApOwogIH0pOwp9CgpmdW5jdGlvbiBnZXRDb3VudHJpZXMoZGF0YSkgewogIHZhciBjID0gW107CiAgZGF0YS5mb3JFYWNoKGU9PmMucHVzaChlLm5hbWUpKTsKICByZXR1cm4gYzsKfQoKZnVuY3Rpb24gZ2V0U3RhdGVzKGRhdGEsIGMpIHsKICB2YXIgcyA9IFtdOwogIGRhdGFbY10uc3RhdGVzLmZvckVhY2goZT0+cy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBzOwp9CgpmdW5jdGlvbiBnZXRDaXRpZXMoZGF0YSwgYywgcykgewogIHZhciBjaSA9IFtdOwogIGRhdGFbY10uc3RhdGVzW3NdLmNpdGllcy5mb3JFYWNoKGU9PmNpLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIGNpOwp9CgpmdW5jdGlvbiBnZXREYXRhKCkgewogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlcXVlc3QgPSBuZXcgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QoKTsKICByZXF1ZXN0LnNldFVyaShyZXF1ZXN0VVJMKTsKICByZXF1ZXN0LnNldE1ldGhvZCgnR0VUJyk7CiAgcmVxdWVzdC5nZXRIZWFkZXJzKCkuYWRkKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsnKTsKICAKICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7ICAKICB2YXIgcmVzcG9uc2VDb2RlID0gcmVzcG9uc2UuZ2V0U3RhdHVzKCkuZ2V0Q29kZSgpOwogIGlmIChyZXNwb25zZUNvZGUgPT09IDIwMCkgewogICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogIH0gZWxzZSB7CiAgICByZXR1cm4gbnVsbDsKICB9Cn0KCihmdW5jdGlvbiAoKSB7CiAgdHJ5IHsKICAgIHZhciBhbmNob3IgPSBnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4Jyk7CiAgICB2YXIgZGF0YSA9IGdldERhdGEoKTsKICAgIHZhciBzdGF0ZXMgPSBbXTsKICAgIHZhciBjaXRpZXMgPSBbXTsKICAgIHZhciBzZWxlY3RlZENvdW50cnkgPSAwOwogICAgdmFyIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgc2VsZWN0ZWRDb3VudHJ5ID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKT9wYXJzZUludChub2RlU3RhdGUuZ2V0KCdzZWxlY3RlZENvdW50cnknKSk6MDsKICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICBzZWxlY3RlZFN0YXRlID0gc2hhcmVkU3RhdGUuZ2V0KCdzZWxlY3RlZFN0YXRlJyk/cGFyc2VJbnQobm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpKTowOwogICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgdmFyIGNiTGlzdCA9IFtdOwogICAgICB2YXIgY291bnRyeUNiID0gbmV3IGZyLkNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIGNvdW50cnlDYi5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIGNiTGlzdC5wdXNoKGNvdW50cnlDYik7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICB2YXIgc3RhdGVDYiA9IG5ldyBmci5DaG9pY2VDYWxsYmFjaygnU2VsZWN0IHN0YXRlJywgc3RhdGVzLCBzZWxlY3RlZFN0YXRlLCBmYWxzZSk7CiAgICAgIHN0YXRlQ2Iuc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZFN0YXRlKTsKICAgICAgY2JMaXN0LnB1c2goc3RhdGVDYik7CiAgICAgIGNpdGllcyA9IGdldENpdGllcyhkYXRhLCBzZWxlY3RlZENvdW50cnksIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGBMaXN0IG9mIGNpdGllcyBpbiAke3N0YXRlc1tzZWxlY3RlZFN0YXRlXX1gKSk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYkxpc3QucHVzaChuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKDAsIGUpKTsKICAgICAgfSk7CgogICAgICB2YXIgc2NyaXB0ID0gYAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnc2NyaXB0IGVudGVyJyk7CiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXNlbGVjdF9fb3B0aW9uJykuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zdCBodkNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlbGVjdGlvbkNoYW5nZWQnKTsKICAgICAgICAgICAgICBjb25zdCBldiA9IG5ldyBFdmVudCgiY2hhbmdlIik7CiAgICAgICAgICAgICAgaHZDYi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3RydWUnKTsKICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaW52b2tpbmcgY2hhbmdlIG9uIGhpZGRlbiB2YWx1ZSBpbnB1dCcpOwogICAgICAgICAgICAgIGh2Q2IuZGlzcGF0Y2hFdmVudChldik7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3N1Ym1pdHRpbmcuLi4nKTsKICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9naW5CdXR0b25fMCcpLmNsaWNrKCk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9KQogICAgICAgICAgfSkKICAgICAgICB9LCA1MCk7CiAgICAgIGA7CiAgICAgIGNiTGlzdC5wdXNoKG5ldyBmci5IaWRkZW5WYWx1ZUNhbGxiYWNrKCdzZWxlY3Rpb25DaGFuZ2VkJywgJ2ZhbHNlJykpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuQ29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydGaW5pc2gnXSwgMCkpOwogICAgICBjYkxpc3QucHVzaChuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkpOwogICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZC5hcHBseShudWxsLCBjYkxpc3QpLmJ1aWxkKCk7CiAgICB9IGVsc2UgewogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGhpZGRlbiB0ZXh0IGlucHV0OiB7fScsIGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpKTsKICAgICAgaWYgKGNhbGxiYWNrcy5nZXQoY2FsbGJhY2tzLnNpemUoKS0zKS5nZXRWYWx1ZSgpID09ICd0cnVlJykgeyAvLyBjaGVjayB2YWx1ZSBvZiB0ZXh0IGlucHV0IGNhbGxiYWNrCiAgICAgICAgLy8gb25lIG9mIHRoZSBjYXRlZ29yeSBwaWNrZXJzIHdhcyBjaGFuZ2VkCiAgICAgICAgaWYoc2VsZWN0ZWRDb3VudHJ5ICE9IGNhbGxiYWNrcy5nZXQoMCkuZ2V0U2VsZWN0ZWRJbmRleGVzKClbMF0pIHsKICAgICAgICAgIHNlbGVjdGVkU3RhdGUgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZWxlY3RlZFN0YXRlID0gY2FsbGJhY2tzLmdldCgxKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICB9CiAgICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBjb3VudHJ5IHt9Jywgc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOyAgCiAgICAgICAgc2hhcmVkU3RhdGUucHV0KCdzZWxlY3RlZENvdW50cnknLCBzZWxlY3RlZENvdW50cnkpOwogICAgICAgIHNoYXJlZFN0YXRlLnB1dCgnc2VsZWN0ZWRTdGF0ZScsIHNlbGVjdGVkU3RhdGUpOwogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCd1cGRhdGUnKS5idWlsZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHVzZXIgY2xpY2tlZCAiZmluaXNoIgogICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKCdjb21wbGV0ZScpLmJ1aWxkKCk7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7033" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.784Z", - "time": 50, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 50 - } - }, - { - "_id": "363a71f39643a664381fab9835743d38", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Check Username\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Check%20Username%22" - }, - "response": { - "bodySize": 1129, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1129, - "text": "{\"result\":[{\"_id\":\"739bdc48-fd24-4c52-b353-88706d75558a\",\"name\":\"Check Username\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1129" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.839Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "1765289e6f5d93f97516bbad71fa265d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoSPAdapter\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoSPAdapter%22" - }, - "response": { - "bodySize": 10747, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10747, - "text": "{\"result\":[{\"_id\":\"07ee6240-d106-4e25-a781-5fcabc477d22\",\"name\":\"FrodoSPAdapter\",\"description\":\"null\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.896Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "e7c65f07a991b9e8c707db71628693e6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1668, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pwdlessSet.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pwdlessSet.js%22" - }, - "response": { - "bodySize": 1467, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1467, - "text": "{\"result\":[{\"_id\":\"f203173e-bceb-4e8e-8bde-52f2616b7278\",\"name\":\"pwdlessSet.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwpzZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiLCB0cnVlKTsKaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImFzc2lnbmVkRGFzaGJvYXJkIixbInJlZ2lzdGVyV2ViQXV0aE5EZXZpY2UiLCJzZXRVc2VybmFtZUxlc3MiLCJwZWVyUmVjb3ZlcnlFbWFpbCIsInBlZXJSZWNvdmVyeTFGQSIsICJyZWdpc3RlclB1c2giXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdCA9IEpTT04ucGFyc2UoU3RyaW5nKGZySWRtQ3VzdG9tQXR0cmlidXRlcy50b0FycmF5KClbMF0pKTsKICAgIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV0gPSBjdXN0b21BdHRyVmFsdWU7CiAgICB2YXIganNvbl9zdHJpbmcgPSBKU09OLnN0cmluZ2lmeShmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QpOwogICAgaWRSZXBvc2l0b3J5LnNldEF0dHJpYnV0ZShpZCwgImZyLWlkbS1jdXN0b20tYXR0cnMiLFtqc29uX3N0cmluZ10pOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1467" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:26.953Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "528d8c0c709e13fdba334c9c6a84a810", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1697, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Normalized Profile to Managed User\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Normalized%20Profile%20to%20Managed%20User%22" - }, - "response": { - "bodySize": 3150, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3150, - "text": "{\"result\":[{\"_id\":\"58c824ae-84ed-4724-82cd-db128fc3f6c\",\"name\":\"Normalized Profile to Managed User\",\"description\":\"Converts a normalized social profile into a managed user\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgbWFuYWdlZFVzZXIgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlck5hbWUiLCBub3JtYWxpemVkUHJvZmlsZS51c2VybmFtZSkpKQoKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgicG9zdGFsQWRkcmVzcyIsIG5vcm1hbGl6ZWRQcm9maWxlLnBvc3RhbEFkZHJlc3MpCmlmIChub3JtYWxpemVkUHJvZmlsZS5hZGRyZXNzTG9jYWxpdHkuaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgiY2l0eSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NMb2NhbGl0eSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24uaXNOb3ROdWxsKCkpIG1hbmFnZWRVc2VyLnB1dCgic3RhdGVQcm92aW5jZSIsIG5vcm1hbGl6ZWRQcm9maWxlLmFkZHJlc3NSZWdpb24pCmlmIChub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInBvc3RhbENvZGUiLCBub3JtYWxpemVkUHJvZmlsZS5wb3N0YWxDb2RlKQppZiAobm9ybWFsaXplZFByb2ZpbGUuY291bnRyeS5pc05vdE51bGwoKSkgbWFuYWdlZFVzZXIucHV0KCJjb3VudHJ5Iiwgbm9ybWFsaXplZFByb2ZpbGUuY291bnRyeSkKaWYgKG5vcm1hbGl6ZWRQcm9maWxlLnBob25lLmlzTm90TnVsbCgpKSBtYW5hZ2VkVXNlci5wdXQoInRlbGVwaG9uZU51bWJlciIsIG5vcm1hbGl6ZWRQcm9maWxlLnBob25lKQoKLy8gaWYgdGhlIGdpdmVuTmFtZSBhbmQgZmFtaWx5TmFtZSBpcyBudWxsIG9yIGVtcHR5Ci8vIHRoZW4gYWRkIGEgYm9vbGVhbiBmbGFnIHRvIHRoZSBzaGFyZWQgc3RhdGUgdG8gaW5kaWNhdGUgbmFtZXMgYXJlIG5vdCBwcmVzZW50Ci8vIHRoaXMgY291bGQgYmUgdXNlZCBlbHNld2hlcmUKLy8gZm9yIGVnLiB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gYSBzY3JpcHRlZCBkZWNpc2lvbiBub2RlIHRvIGJ5LXBhc3MgcGF0Y2hpbmcKLy8gdGhlIHVzZXIgb2JqZWN0IHdpdGggYmxhbmsgdmFsdWVzIHdoZW4gZ2l2ZW5OYW1lICBhbmQgZmFtaWx5TmFtZSBpcyBub3QgcHJlc2VudApib29sZWFuIG5vR2l2ZW5OYW1lID0gbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lLmFzU3RyaW5nKCk/LnRyaW0oKSkKYm9vbGVhbiBub0ZhbWlseU5hbWUgPSBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lLmlzTnVsbCgpIHx8ICghbm9ybWFsaXplZFByb2ZpbGUuZmFtaWx5TmFtZS5hc1N0cmluZygpPy50cmltKCkpCnNoYXJlZFN0YXRlLnB1dCgibmFtZUVtcHR5T3JOdWxsIiwgbm9HaXZlbk5hbWUgJiYgbm9GYW1pbHlOYW1lKQoKcmV0dXJuIG1hbmFnZWRVc2VyCg==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3150" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.012Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "6b041cdd91b1a940e2f050d4a2c575a6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1668, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Test-Script-1\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Test-Script-1%22" - }, - "response": { - "bodySize": 854, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 854, - "text": "{\"result\":[{\"_id\":\"59f84396-71e4-4c1d-a6ae-c4fc624d9752\",\"name\":\"Test-Script-1\",\"description\":\"A test script that uses an environment variable and a secret variable\",\"script\":\"Ly8gQ2FsY3VsYXRlIEU9bWNeMiB1c2luZyBtID0gNDIKY29uc3QgYzIgPSBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi50ZXN0LnZhcmlhYmxlLmxpZ2h0Iik7CmNvbnNvbGUubG9nKGBFID0gJHs0MiAqIGMyICogYzJ9YCk7Ci8vIENhbGN1bGF0ZSB0aGUgYXJlYSBvZiBhIGNpcmNsZSB3aXRoIHJhZGl1cyByID0gNDIKY29uc3QgcGkgPSBwYXJzZUZsb2F0KHN5c3RlbUVudi5nZXRQcm9wZXJ0eSgiZXN2LnRlc3Quc2VjcmV0LnBpIikpOwpjb25zb2xlLmxvZyhgQSA9ICR7cGkgKiA0MiAqIDQyfWApOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "854" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.074Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "9ae5250c7c369e659926259583ec72fe", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"hasWebAuthN.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22hasWebAuthN.js%22" - }, - "response": { - "bodySize": 776, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 776, - "text": "{\"result\":[{\"_id\":\"29be3f4a-cf40-4aca-8fe3-de40c9a801dd\",\"name\":\"hasWebAuthN.js\",\"description\":\"null\",\"script\":\"dmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKc2hhcmVkU3RhdGUucHV0KCJkZWJ1ZyIsd2ViYXV0aG5EZXZpY2VQcm9maWxlcyk7CmlmKHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMubGVuZ3RoPjIpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7Cn0KZWxzZSB7CiAgb3V0Y29tZSA9ICJmYWxzZSI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "776" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.135Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "0b5bdd5efa8fa86e894e34cbb0737401", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript3\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript3%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"3b2f6836-184c-4ee9-8a1d-557cb01837a5\",\"name\":\"FrodoTestScript3\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.194Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "5b160758e77e5641a3f36258878baa00", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1669, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"timerButton.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22timerButton.js%22" - }, - "response": { - "bodySize": 3752, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3752, - "text": "{\"result\":[{\"_id\":\"13aaf8de-cd8c-4b0e-9167-39ca1fb590a4\",\"name\":\"timerButton.js\",\"description\":\"null\",\"script\":\"Ly8gVGltZXIgQnV0dG9uIG5vZGUKLy8gT3V0Y29tZXM6IFsgInRydWUiLCAidGltZXIiIF0KCgpERUxBWT0xMDsKTUVTU0FHRT0iU2tpcCB0byB5b3VyIHByZWZlcnJlZCBtZXRob2QuLi4gIjsKQlVUVE9OVEVYVD0iU2VsZWN0IGFub3RoZXIgbG9naW4gbWV0aG9kIjsKCnZhciBmciA9IEphdmFJbXBvcnRlcigKICAgIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkuQWN0aW9uLAogICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5OYW1lQ2FsbGJhY2ssCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKZnVuY3Rpb24gY3JlYXRlU2NyaXB0KCkgewogICAgcmV0dXJuIFN0cmluZygiIFxuXAogICAgICAgIHZhciBDT1VOVCA9ICIgKyBERUxBWSArICI7IFxuXAogICAgICAgIGZ1bmN0aW9uIGdvKG9icykgeyBcblwKICAgICAgICAgICAgY29uc3QgcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdOyBcblwKICAgICAgICAgICAgaWYgKHApIHsgXG5cCiAgICAgICAgICAgICAgICBwLmhpZGRlbiA9IHRydWU7IFxuXAogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGFiZWxbZm9yPScgKyBwLmlkICsgJ10nKS5oaWRkZW4gPSB0cnVlOyBcblwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpLmlubmVyVGV4dCA9ICciICsgQlVUVE9OVEVYVCArICInOyBcblwKICAgICAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7IFxuXAogICAgICAgICAgICAgICAgYi5jbGFzc0xpc3QuYWRkKFwiYnRuXCIsIFwibXQtM1wiLCBcImJ0bi1zZWNvbmRhcnlcIik7IFxuXAogICAgICAgICAgICAgICAgYi5pbm5lckhUTUwgPSAnIiArIE1FU1NBR0UgKyAiJyArIENPVU5UICsgJ3MnOyBcblwKICAgICAgICAgICAgICAgIGIub25jbGljayA9IGZ1bmN0aW9uKCkgeyBwLnZhbHVlPSdfX19USU1FX19fJzsgcC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7IH07IFxuXAogICAgICAgICAgICAgICAgcC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLCBwLm5leHRTaWJsaW5nKTsgXG5cCiAgICAgICAgICAgICAgICB2YXIgdCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeyBcblwKICAgICAgICAgICAgICAgICAgICBpZiAoQ09VTlQgPT0gMSkgeyBcblwKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0KTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHAudmFsdWU9J19fX1RJTUVfX18nOyBwLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dpbkJ1dHRvbl8wJykuY2xpY2soKTsgfSwgMjAwKTsgXG5cCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgXG5cCiAgICAgICAgICAgICAgICAgICAgICAgIENPVU5ULS07IFxuXAogICAgICAgICAgICAgICAgICAgICAgICBiLmlubmVySFRNTCA9ICciICsgTUVTU0FHRSArICInICsgQ09VTlQgKyAncyc7IFxuXAogICAgICAgICAgICAgICAgICAgIH0gXG5cCiAgICAgICAgICAgICAgICB9LCAxMDAwICk7IFxuXAogICAgICAgICAgICAgICAgaWYgKG9icykgb2JzLmRpc2Nvbm5lY3QoKTsgXG5cCiAgICAgICAgICAgICAgICByZXR1cm47IFxuXAogICAgICAgICAgICB9IFxuXAogICAgICAgIH0gXG5cCiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W2RhdGEtdnYtYXM9XCJEVU1NWVwiXScpWzBdKSBnbygpOyBcblwKICAgICAgICBlbHNlIHsgXG5cCiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucywgb2JzKSA9PiB7IGdvKG9icyk7IH0pOyBcblwKICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7IFxuXAogICAgICAgIH0gXG5cCiAgICAiKTsKfQoKCmlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKGNyZWF0ZVNjcmlwdCgpKSwKICAgICAgICBuZXcgZnIuTmFtZUNhbGxiYWNrKCJEVU1NWSIpCiAgICApLmJ1aWxkKCkKfSBlbHNlIHsKICAgIHZhciBjYiA9IGNhbGxiYWNrcy5nZXQoMSkuZ2V0TmFtZSgpOwogICAgaWYgKGNiID09PSAiX19fVElNRV9fXyIpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidGltZXIiKS5idWlsZCgpOwogICAgfSBlbHNlIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7CiAgICB9Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3752" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.252Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "196330af484d2bef6f816b5f21b41a08", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"MultilevelSelect\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22MultilevelSelect%22" - }, - "response": { - "bodySize": 4634, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4634, - "text": "{\"result\":[{\"_id\":\"95143d29-e417-49a8-a86c-a3b4cf8fd8ed\",\"name\":\"MultilevelSelect\",\"description\":\"null\",\"script\":\"CmZ1bmN0aW9uIGdldENvdW50cmllcyhkYXRhKSB7CiAgdmFyIGMgPSBbXTsKICBkYXRhLmZvckVhY2goZT0+Yy5wdXNoKGUubmFtZSkpOwogIHJldHVybiBjOwp9CgpmdW5jdGlvbiBnZXRTdGF0ZXMoZGF0YSwgYykgewogIHZhciBzID0gW107CiAgZGF0YVtjXS5zdGF0ZXMuZm9yRWFjaChlPT5zLnB1c2goZS5uYW1lKSk7CiAgcmV0dXJuIHM7Cn0KCmZ1bmN0aW9uIGdldENpdGllcyhkYXRhLCBjLCBzKSB7CiAgdmFyIGNpID0gW107CiAgZGF0YVtjXS5zdGF0ZXNbc10uY2l0aWVzLmZvckVhY2goZT0+Y2kucHVzaChlLm5hbWUpKTsKICByZXR1cm4gY2k7Cn0KCmZ1bmN0aW9uIGdldERhdGEoKSB7CiAgdmFyIHJlcXVlc3RPcHRpb25zID0gewogICAgbWV0aG9kOiAnR0VUJywKICB9CgogIHZhciByZXF1ZXN0VVJMID0gJ2h0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vYXRvbWljc2FtdXJhaS80OGM4OTFlOGE3OGU4YWEzNDBjMGZmZjk2ZDQ4MDZmNC9yYXcvOTk0NjFmZjdjZDNjYTFiMGI3YTU1MTk0MjkxNTM1N2UzYTQzOGFiNS9jb3VudHJ5LXN0YXRlLWNpdHkuanNvbic7CiAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3RVUkwsIHJlcXVlc3RPcHRpb25zKS5nZXQoKTsKCiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7CiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXNwb25zZS50ZXh0KCkpOwogIH0gZWxzZSB7CiAgICBudWxsOwogIH0KfQoKKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIGRhdGEgPSBnZXREYXRhKCk7CiAgICB2YXIgc3RhdGVzID0gW107CiAgICB2YXIgY2l0aWVzID0gW107CiAgICB2YXIgc2VsZWN0ZWRDb3VudHJ5ID0gMDsKICAgIHZhciBzZWxlY3RlZFN0YXRlID0gMDsKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIHNlbGVjdGVkQ291bnRyeSA9IG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkQ291bnRyeScpKTowOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNlbGVjdGVkIGNvdW50cnkge30nLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBzZWxlY3RlZFN0YXRlID0gbm9kZVN0YXRlLmdldCgnc2VsZWN0ZWRTdGF0ZScpP3BhcnNlSW50KG5vZGVTdGF0ZS5nZXQoJ3NlbGVjdGVkU3RhdGUnKSk6MDsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3QgY291bnRyeScsIGdldENvdW50cmllcyhkYXRhKSwgc2VsZWN0ZWRDb3VudHJ5LCBmYWxzZSk7CiAgICAgIHN0YXRlcyA9IGdldFN0YXRlcyhkYXRhLCBzZWxlY3RlZENvdW50cnkpOwogICAgICBjYWxsYmFja3NCdWlsZGVyLmNob2ljZUNhbGxiYWNrKCdTZWxlY3Qgc3RhdGUnLCBzdGF0ZXMsIHNlbGVjdGVkU3RhdGUsIGZhbHNlKTsKICAgICAgY2l0aWVzID0gZ2V0Q2l0aWVzKGRhdGEsIHNlbGVjdGVkQ291bnRyeSwgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAxJyk7CiAgICAgIGNpdGllcy5mb3JFYWNoKGU9PnsKICAgICAgICBjYWxsYmFja3NCdWlsZGVyLnRleHRPdXRwdXRDYWxsYmFjaygwLCBlKTsKICAgICAgfSk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAyJyk7CiAgICAgIGNhbGxiYWNrc0J1aWxkZXIuY29uZmlybWF0aW9uQ2FsbGJhY2soMCwgWydVcGRhdGUnLCAnQ29tcGxldGUnXSwgMCk7CiAgICAgIGxvZ2dlci5lcnJvcignc2FuZGxvZzogaGVyZSAzOiB7fScsIGNhbGxiYWNrcy5nZXRDaG9pY2VDYWxsYmFja3MoKS5zaXplKCkpOwogICAgICBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDApLnNldFNlbGVjdGVkSW5kZXgoc2VsZWN0ZWRDb3VudHJ5KTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDQnKTsKICAgICAgY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgxKS5zZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkU3RhdGUpOwoKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBoZXJlIDUnKTsKICAgICAgdmFyIHNjcmlwdCA9IGAKICAgICAgICAgIGZ1bmN0aW9uIHNob3dPcmdEZXRhaWxzKCkgewogICAgICAgICAgICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyJyk7CiAgICAgICAgICAgIHdyYXBwZXIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsICc8ZGl2PnRlc3Q8L2Rpdj4nKTsKICAgICAgICAgIH0KICAgICAgICAgIHNldFRpbWVvdXQoc2hvd09yZ0RldGFpbHMsIDEwMCk7CiAgICAgICAgICBgOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLnNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpOwogICAgICAvLyBjYWxsYmFja3NCdWlsZGVyLmhpZGRlblZhbHVlQ2FsbGJhY2soJ3NlbGVjdGlvbkNoYW5nZWQnLCAnZmFsc2UnKQogICAgfSBlbHNlIHsKICAgICAgc2VsZWN0ZWRDb3VudHJ5ID0gY2FsbGJhY2tzLmdldENob2ljZUNhbGxiYWNrcygpLmdldCgwKVswXTsKICAgICAgbG9nZ2VyLmVycm9yKCdzYW5kbG9nOiBzZXQgc2VsZWN0ZWQgY291bnRyeSB7fScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ3NlbGVjdGVkQ291bnRyeScsIHNlbGVjdGVkQ291bnRyeSk7CiAgICAgIHNlbGVjdGVkU3RhdGUgPSBjYWxsYmFja3MuZ2V0Q2hvaWNlQ2FsbGJhY2tzKCkuZ2V0KDEpWzBdOwogICAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IHNldCBzZWxlY3RlZCBzdGF0ZSB7fScsIHNlbGVjdGVkU3RhdGUpOwogICAgICBub2RlU3RhdGUucHV0U2hhcmVkKCdzZWxlY3RlZFN0YXRlJywgc2VsZWN0ZWRTdGF0ZSk7CiAgICAgIGlmIChjYWxsYmFja3MuZ2V0Q29uZmlybWF0aW9uQ2FsbGJhY2tzKCkuZ2V0KDApID09IDApIHsKICAgICAgICBvdXRjb21lID0gJ3VwZGF0ZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgb3V0Y29tZSA9ICdjb21wbGV0ZSc7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoIChlKSB7CiAgICBsb2dnZXIuZXJyb3IoJ3NhbmRsb2c6IGVycm9yOiB7fSAnICsgZSwgZSk7CiAgICBvdXRjb21lID0gJ2Vycm9yJwogIH0KfSkoKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4634" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.309Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "1a05176e811af286cab7cd2351a67f5d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1698, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"GitHub Profile Normalization (VS)\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22GitHub%20Profile%20Normalization%20%28VS%29%22" - }, - "response": { - "bodySize": 1570, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1570, - "text": "{\"result\":[{\"_id\":\"23143919-6b78-40c3-b25e-beca19b229e0\",\"name\":\"GitHub Profile Normalization (VS)\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJHaXRIdWIgcmF3UHJvZmlsZTogIityYXdQcm9maWxlKQoKcmV0dXJuIGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZmlyc3RfbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmxhc3RfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5waWN0dXJlLmRhdGEudXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLmVtYWlsKSkp\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1570" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.366Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "14aafb5a130f24e5f2a8a21ebc2a8630", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"resetPushBomb.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22resetPushBomb.js%22" - }, - "response": { - "bodySize": 614, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 614, - "text": "{\"result\":[{\"_id\":\"e387c5d7-ceb8-459e-87e6-d09eca512385\",\"name\":\"resetPushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIF9pZCA9IHNoYXJlZFN0YXRlLmdldCgiX2lkIik7CnZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1zdHIyIjsKCmlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUsWyIiXSk7CgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "614" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.422Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "e3c2d193ee5e301889ca03246f232640", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"SAML2 IDP Adapter Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22SAML2%20IDP%20Adapter%20Script%22" - }, - "response": { - "bodySize": 7044, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7044, - "text": "{\"result\":[{\"_id\":\"248b8a56-df81-4b1b-b4ba-45d994f6504c\",\"name\":\"SAML2 IDP Adapter Script\",\"description\":\"Default global script for SAML2 IDP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9TQU1MMklkZW50aXR5UHJvdmlkZXJBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBJZHBBZGFwdGVyU2NyaXB0SGVscGVyICgxKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgSWRwQWRhcHRlclNjcmlwdEhlbHBlciBjb250YWluaW5nIGhlbHBlciBtZXRob2RzLiBTZWUgSmF2YWRvYyBmb3IgbW9yZSBkZXRhaWxzLgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgyKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDMpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDQpCiAqICAgICBUaGUgb3JpZ2luYWwgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IGZyb20gU1AKICogcmVxSWQgLSBTdHJpbmcKICogICAgIFRoZSBpZCB0byB1c2UgZm9yIGNvbnRpbnVhdGlvbiBvZiBwcm9jZXNzaW5nIGlmIHRoZSBhZGFwdGVyIHJlZGlyZWN0cwogKiByZXMgLSBSZXNwb25zZSAoNSkKICogICAgIFRoZSBTQU1MIFJlc3BvbnNlCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNikKICogICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLiBUaGUgcmVmZXJlbmNlIHR5cGUgb2YgdGhpcyBpcyBPYmplY3QgYW5kIHdvdWxkIG5lZWQgdG8gYmUgY2FzdGVkIHRvIFNTT1Rva2VuLgogKiByZWxheVN0YXRlIC0gU3RyaW5nCiAqICAgICBUaGUgcmVsYXlTdGF0ZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVkaXJlY3QKICogZmF1bHRDb2RlIC0gU3RyaW5nCiAqICAgICB0aGUgZmF1bHQgY29kZSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogZmF1bHREZXRhaWwgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBkZXRhaWwgdGhhdCB3aWxsIGJlIHJldHVybmVkIGluIHRoZSBTQU1MIHJlc3BvbnNlCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwuCiAqICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuPHNjcmlwdCBuYW1lPgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb24gKDcpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL0F1dGhuUmVxdWVzdC5odG1sLgogKiAoNSkgUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvUmVzcG9uc2UuaHRtbC4KICogKDYpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBJRFAgQWRhcHRlciBzY3JpcHRlZCBwbHVnaW4uCiAqLwoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2luZ2xlU2lnbk9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlU2lnbk9uICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlQXV0aGVudGljYXRpb246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVBdXRoZW50aWNhdGlvbiAoKSB7CiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNlbmRSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgcmVxSWQKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIGJyb3dzZXIgcmVkaXJlY3Rpb24gaGFwcGVuZWQgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlU2VuZFJlc3BvbnNlICgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2lnblJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHNlc3Npb24KICogICAgIHJlbGF5U3RhdGUKICogICAgIHJlcwogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTaWduUmVzcG9uc2UgKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgZmF1bHRDb2RlCiAqICAgICBmYXVsdERldGFpbAogKiAgICAgbG9nZ2VyCiAqLwpmdW5jdGlvbiBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlICgpIHsKfQ==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7044" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.478Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "63054e0911bafed4c6e0d118e2b5d118", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1686, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Apple Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Apple%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 2942, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2942, - "text": "{\"result\":[{\"_id\":\"484e6246-dbc6-4288-97e6-54e55431402e\",\"name\":\"Apple Profile Normalization\",\"description\":\"Normalizes raw profile data from Apple\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICoKICogSW4gc29tZSBjb21tb24gZGVmYXVsdCBjb25maWd1cmF0aW9ucywgdGhlIGZvbGxvd2luZyBrZXlzIGFyZSByZXF1aXJlZCB0byBiZSBub3QgZW1wdHk6CiAqIHVzZXJuYW1lLCBnaXZlbk5hbWUsIGZhbWlseU5hbWUsIGVtYWlsLgogKgogKiBGcm9tIFJGQzQ1MTc6IEEgdmFsdWUgb2YgdGhlIERpcmVjdG9yeSBTdHJpbmcgc3ludGF4IGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlCiAqIGFyYml0cmFyeSBjaGFyYWN0ZXJzIGZyb20gdGhlIFVuaXZlcnNhbCBDaGFyYWN0ZXIgU2V0IChVQ1MpLgogKiBBIHplcm8tbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmcgaXMgbm90IHBlcm1pdHRlZC4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKU3RyaW5nIGVtYWlsID0gImNoYW5nZUBtZS5jb20iClN0cmluZyBzdWJqZWN0SWQgPSByYXdQcm9maWxlLnN1YgpTdHJpbmcgZmlyc3ROYW1lID0gIiAiClN0cmluZyBsYXN0TmFtZSA9ICIgIgpTdHJpbmcgdXNlcm5hbWUgPSBzdWJqZWN0SWQKU3RyaW5nIG5hbWUKCmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgiZW1haWwiKSAmJiByYXdQcm9maWxlLmVtYWlsLmlzTm90TnVsbCgpKXsgLy8gVXNlciBjYW4gZWxlY3QgdG8gbm90IHNoYXJlIHRoZWlyIGVtYWlsCiAgICBlbWFpbCA9IHJhd1Byb2ZpbGUuZW1haWwuYXNTdHJpbmcoKQogICAgdXNlcm5hbWUgPSBlbWFpbAp9CmlmIChyYXdQcm9maWxlLmlzRGVmaW5lZCgibmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5pc05vdE51bGwoKSkgewogICAgaWYgKHJhd1Byb2ZpbGUubmFtZS5pc0RlZmluZWQoImZpcnN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5maXJzdE5hbWUuaXNOb3ROdWxsKCkpIHsKICAgICAgICBmaXJzdE5hbWUgPSByYXdQcm9maWxlLm5hbWUuZmlyc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KICAgIGlmIChyYXdQcm9maWxlLm5hbWUuaXNEZWZpbmVkKCJsYXN0TmFtZSIpICYmIHJhd1Byb2ZpbGUubmFtZS5sYXN0TmFtZS5pc05vdE51bGwoKSkgewogICAgICAgIGxhc3ROYW1lID0gcmF3UHJvZmlsZS5uYW1lLmxhc3ROYW1lLmFzU3RyaW5nKCkKICAgIH0KfQoKbmFtZSA9IChmaXJzdE5hbWU/LnRyaW0oKSA/IGZpcnN0TmFtZSA6ICIiKSArIChsYXN0TmFtZT8udHJpbSgpID8gKChmaXJzdE5hbWU/LnRyaW0oKSA/ICIgIiA6ICIiKSArIGxhc3ROYW1lKSA6ICIiKQpuYW1lID0gICghbmFtZT8udHJpbSgpKSA/ICIgIiA6IG5hbWUKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCBzdWJqZWN0SWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIG5hbWUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIGVtYWlsKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgZmlyc3ROYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIGxhc3ROYW1lKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCB1c2VybmFtZSkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2942" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.535Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "52794446c8f3a5d849b464d74d5ec188", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1673, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"selectFavFactor.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22selectFavFactor.js%22" - }, - "response": { - "bodySize": 4348, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4348, - "text": "{\"result\":[{\"_id\":\"3c9d3b4a-b38c-4c77-a8d7-4b937e48f62f\",\"name\":\"selectFavFactor.js\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheXMgTUZBIG9wdGlvbnMgZmlsdGVyZWQgYnkgdXNlcnMgcHJlZmVyZW5jZXMKdmFyIHdlYmF1dGhuRGV2aWNlUHJvZmlsZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHNoYXJlZFN0YXRlLmdldCgiX2lkIiksICJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIikudG9TdHJpbmcoKTsKdmFyIHB1c2hEZXZpY2VQcm9maWxlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKSwgInB1c2hEZXZpY2VQcm9maWxlcyIpLnRvU3RyaW5nKCk7Cgp2YXIgaGFzV2ViQXV0aE49ZmFsc2U7CnZhciBoYXNQdXNoPWZhbHNlOwoKaWYod2ViYXV0aG5EZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzV2ViQXV0aE4gPSB0cnVlOwp9CmlmKHB1c2hEZXZpY2VQcm9maWxlcy5sZW5ndGg+MikgewogICAgaGFzUHVzaCA9IHRydWU7Cn0KCgptZmFzID0geyAKICAgICAgICAgICJQdXNoIjogIlB1c2ggbm90aWZpY2F0aW9uIHZpYSBhdXRoZW50aWNhdG9yIGFwcCIsIAogICAgICAgICAiV2ViQXV0aE4iOiAiU2VjdXJpdHkgS2V5L1RvdWNoSUQvV2luZG93c0hlbGxvL1Bhc3NLZXkiLCAKICAgICAgICAgICAvLyJRUiIgOiAiUVIgQ29kZSBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgICJTTVMiIDogIlNNUyBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8iRW1haWwiIDogIkUtbWFpbCBDYXNjYWRlZCBDb250ZXh0IChXZWJBdXRoTikiLAogICAgICAgICAgLy8gIlNNU01MIiA6ICJTTVMgTWFnaWMgTGluayIKICAgICAgIH07CgoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suQ2hvaWNlQ2FsbGJhY2sKKQoKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKCi8vIEFkZCBlbnRyeSB0byBtdWx0aSB2YWx1ZQp2YXIgY2hvaWNlcyA9IFtdOwppZihoYXNQdXNoPT10cnVlKXsKICAgICAgY2hvaWNlcy5wdXNoKG1mYXMuUHVzaCk7Cn0KaWYoaGFzV2ViQXV0aE49PXRydWUpewogICAgICBjaG9pY2VzLnB1c2gobWZhcy5XZWJBdXRoTik7CiAgICAgIC8vY2hvaWNlcy5wdXNoKG1mYXMuUVIpOwogICAgICAvL2Nob2ljZXMucHVzaChtZmFzLlNNUyk7CiAgICAvL2Nob2ljZXMucHVzaChtZmFzLkVtYWlsKTsKCn0KLy9jaG9pY2VzLnB1c2gobWZhcy5TTVNNTCk7CmZ1bmN0aW9uIHNldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUsY3VzdG9tQXR0clZhbHVlKQp7CiAgdmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCdfaWQnKTsKICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwgJ2ZyLWlkbS1jdXN0b20tYXR0cnMnKTsKICBpZiAoZnJJZG1DdXN0b21BdHRyaWJ1dGVzKQogIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCgovL0NhbGxiYWNrIHRvIHByZXNlbnQgYW5kIHJldHJpZXZlIHNlbGVjdGVkIG9yZyBhbmQgc2V0Ci8vc2VsZWN0ZWQgdGhlbWUgZm9yIHNldHRpbmcgaW4gdGhlIG5leHQgbm9kZQoKCgp3aXRoIChmcikgewogICAgICBpZiAoY2hvaWNlcy5sZW5ndGggPCAyKSBhY3Rpb24gPSBBY3Rpb24uZ29UbyhvdXRjb21lKS5idWlsZCgpOwogICAgZWxzZSB7CiAgICAgICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAiU3Ryb25nIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkLiBQbGVhc2Ugc2VsZWN0IHlvdXIgcHJlZmVycmVkIGZvcm0gb2Ygc3Ryb25nIGF1dGhlbnRpY2F0aW9uIGZyb20gdGhlIGxpc3QgYmVsb3cuIiwKICAgICAgICAgICAgICAgICAgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgZmFsc2UKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApLndpdGhTdGFnZShKU09OLnN0cmluZ2lmeSh7ICJDaG9pY2VDYWxsYmFjayI6IFsgeyAiZGlzcGxheVR5cGUiOiJyYWRpbyIgfSBdIH0pKS53aXRoSGVhZGVyKCJDaG9vc2UgTWV0aG9kIikuYnVpbGQoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gY2FsbGJhY2tzLmdldCgwKS5nZXRTZWxlY3RlZEluZGV4ZXMoKVswXTsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkTmFtZTsKICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG1mYXMpIGlmIChjaG9pY2VzW3NlbGVjdGVkSW5kZXhdID09IG1mYXNba2V5XSkgc2VsZWN0ZWROYW1lID0ga2V5OwogICAgICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoInNlbGVjdGVkTmFtZSIsIHNlbGVjdGVkTmFtZSk7CiAgICAgICAgICAgICAgc2V0Q3VzdG9tQXR0clZhbHVlICgiY3VzdG9tX2Zhdm91cml0ZUZhY3RvciIsc2VsZWN0ZWROYW1lKTsKICAgICAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8oc2VsZWN0ZWROYW1lKS5idWlsZCgpOwogICAgICAgIH0gICAKICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4348" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.593Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "d3af4f4c72e384f18ea7e6e408bf5d8c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1692, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Scripted Module - Server Side\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Scripted%20Module%20-%20Server%20Side%22" - }, - "response": { - "bodySize": 4699, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4699, - "text": "{\"result\":[{\"_id\":\"7e3d7067-d50f-4674-8c76-a3e13a810c33\",\"name\":\"Scripted Module - Server Side\",\"description\":\"Default global script for server side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgp2YXIgU1RBUlRfVElNRSA9IDk7ICAvLyA5YW0KdmFyIEVORF9USU1FICAgPSAxNzsgLy8gNXBtCnZhciBsb25naXR1ZGUsIGxhdGl0dWRlOwp2YXIgbG9jYWxUaW1lOwoKbG9nZ2VyLm1lc3NhZ2UoIlN0YXJ0aW5nIHNjcmlwdGVkIGF1dGhlbnRpY2F0aW9uIik7CmxvZ2dlci5tZXNzYWdlKCJVc2VyOiAiICsgdXNlcm5hbWUpOwoKdmFyIHVzZXJQb3N0YWxBZGRyZXNzID0gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKTsKbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgYWRkcmVzczogIiArIHVzZXJQb3N0YWxBZGRyZXNzKTsKCmdldExvbmdpdHVkZUxhdGl0dWRlRnJvbVVzZXJQb3N0YWxBZGRyZXNzKCk7CmdldExvY2FsVGltZSgpOwoKbG9nZ2VyLm1lc3NhZ2UoIkN1cnJlbnQgdGltZSBhdCB0aGUgdXNlcnMgbG9jYXRpb246ICIgKyBsb2NhbFRpbWUuZ2V0SG91cnMoKSk7CmlmIChsb2NhbFRpbWUuZ2V0SG91cnMoKSA8IFNUQVJUX1RJTUUgfHwgbG9jYWxUaW1lLmdldEhvdXJzKCkgPiBFTkRfVElNRSkgewogICAgbG9nZ2VyLmVycm9yKCJMb2dpbiBmb3JiaWRkZW4gb3V0c2lkZSB3b3JrIGhvdXJzISIpOwogICAgYXV0aFN0YXRlID0gRkFJTEVEOwp9IGVsc2UgewogICAgbG9nZ2VyLm1lc3NhZ2UoIkF1dGhlbnRpY2F0aW9uIGFsbG93ZWQhIik7CiAgICBhdXRoU3RhdGUgPSBTVUNDRVNTOwp9CgpmdW5jdGlvbiBnZXRMb25naXR1ZGVMYXRpdHVkZUZyb21Vc2VyUG9zdGFsQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlclBvc3RhbEFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwogICAgICAvL3RoZSBhYm92ZSBVUkkgaGFzIHRvIGJlIGV4dGVuZGVkIHdpdGggYW4gQVBJX0tFWSBpZiB1c2VkIGluIGEgZnJlcXVlbnQgbWFubmVyCiAgICAgIC8vc2VlIGRvY3VtZW50YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9nZW9jb2RpbmcvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIGdlb2NvZGUgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIHZhciBpOwogICAgZm9yIChpID0gMDsgaSA8IGdlb2NvZGUucmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciByZXN1bHQgPSBnZW9jb2RlLnJlc3VsdHNbaV07CiAgICAgICAgbGF0aXR1ZGUgPSByZXN1bHQuZ2VvbWV0cnkubG9jYXRpb24ubGF0OwogICAgICAgIGxvbmdpdHVkZSA9IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sbmc7CgogICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKCJsYXRpdHVkZToiICsgbGF0aXR1ZGUgKyAiIGxvbmdpdHVkZToiICsgbG9uZ2l0dWRlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0TG9jYWxUaW1lKCkgewoKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICB2YXIgbG9jYXRpb24gPSAibG9jYXRpb249IiArIGxhdGl0dWRlICsgIiwiICsgbG9uZ2l0dWRlOwogICAgdmFyIHRpbWVzdGFtcCA9ICJ0aW1lc3RhbXA9IiArIG5vdzsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS90aW1lem9uZS9qc29uPyIgKyBsb2NhdGlvbiArICImIiArIHRpbWVzdGFtcCk7CiAgICAgIHJlcXVlc3Quc2V0TWV0aG9kKCJHRVQiKTsKICAgICAgLy90aGUgYWJvdmUgVVJJIGhhcyB0byBiZSBleHRlbmRlZCB3aXRoIGFuIEFQSV9LRVkgaWYgdXNlZCBpbiBhIGZyZXF1ZW50IG1hbm5lcgogICAgICAvL3NlZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vdGltZXpvbmUvaW50cm8KCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICBsb2dSZXNwb25zZShyZXNwb25zZSk7CgogICAgdmFyIHRpbWV6b25lID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICB2YXIgbG9jYWxUaW1lc3RhbXAgPSBwYXJzZUludChub3cpICsgcGFyc2VJbnQodGltZXpvbmUuZHN0T2Zmc2V0KSArIHBhcnNlSW50KHRpbWV6b25lLnJhd09mZnNldCk7CiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWVzdGFtcCoxMDAwKTsKfQoKZnVuY3Rpb24gZ2V0VXNlclBvc3RhbEFkZHJlc3MoKSB7CiAgICB2YXIgdXNlckFkZHJlc3NTZXQgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAicG9zdGFsQWRkcmVzcyIpOwogICAgaWYgKHVzZXJBZGRyZXNzU2V0ID09IG51bGwgfHwgdXNlckFkZHJlc3NTZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIGFkZHJlc3Mgc3BlY2lmaWVkIGZvciB1c2VyOiAiICsgdXNlcm5hbWUpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKQp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_SERVER_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4699" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:26 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.651Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "193c3c2054d3f1715bf9afab6efb5428", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1674, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"CheckIfValidSession\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22CheckIfValidSession%22" - }, - "response": { - "bodySize": 616, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 616, - "text": "{\"result\":[{\"_id\":\"3b7c5bbe-5a80-4ba1-8918-6a3e2ef891c4\",\"name\":\"CheckIfValidSession\",\"description\":\"Check if a valid session already exists\",\"script\":\"aWYgKHR5cGVvZiBleGlzdGluZ1Nlc3Npb24gIT09ICd1bmRlZmluZWQnKQp7CiAgb3V0Y29tZSA9ICJoYXNTZXNzaW9uIjsKfQplbHNlCnsKICBvdXRjb21lID0gIm5vU2Vzc2lvbiI7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "616" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.708Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "3061b032426771626e9bedd19872123e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript1\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript1%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d\",\"name\":\"FrodoTestScript1\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.765Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "48a4e51decbcd68b9b96980ee4cf93b3", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1683, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Demo - Journey Chooser\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Demo%20-%20Journey%20Chooser%22" - }, - "response": { - "bodySize": 6552, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 6552, - "text": "{\"result\":[{\"_id\":\"320012d2-ad02-401a-871e-3973db81a3d7\",\"name\":\"Demo - Journey Chooser\",\"description\":\"null\",\"script\":\"Ly8gRGlzcGxheSBjaG9pY2Ugb2Ygam91cm5leXMKLy8gU2VlIGh0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20gZm9yIGV4YW1wbGUgaWNvbnMKdmFyIGpvdXJuZXlzID0gWwogIC8veyAibmFtZSI6ICJMZWdhY3kgTG9naW4iLCAidXJsIjogIkxvZ2luIiwgImljb24iOiAiMTI4LzYzMTcvNjMxNzU3Ny5wbmciIH0sCiAgeyAibmFtZSI6ICJMb2dpbiIsICJ1cmwiOiAiUGFzc3dvcmRsZXNzLU1hc3RlciIsICJpY29uIjogIjEyOC85Njk5Lzk2OTk1ODIucG5nIiB9LAogIC8veyAibmFtZSI6ICJSZWdpc3RlciIsICJ1cmwiOiAiRGVtby1Qd2RsZXNzLU5ldy1Vc2VyICIsICJpY29uIjogIjEyOC8xNjk4LzE2OTg1NzIucG5nIiB9LAogIC8veyAibmFtZSI6ICJRUiBMb2dpbiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVFSIiwgImljb24iOiAiMTI4LzEyODcvMTI4NzU1OC5wbmciIH0sCiAgLy97ICJuYW1lIjogIlNNUyBXZWJBdXRoTiIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUyIsICJpY29uIjogIjEyOC8yNzA0LzI3MDQxNjcucG5nIiB9LAogIC8veyAibmFtZSI6ICJTTVMgTWFnaWMgTGluayIsICJ1cmwiOiAiRGVtby1Qd2RMZXNzLVNNUy1TaW1wbGUiLCAiaWNvbiI6ICIxMjgvMjcwNC8yNzA0MTY3LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiSUQgUHJvb2ZpbmciLCAidXJsIjogIkRlbW8tT25GaWRvIiwgImljb24iOiAiMTI4LzYwNjEvNjA2MTM5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlJlZ2lzdGVyK0lEVi1MaXZlIiwgInVybCI6ICJEZW1vLVNlbGZSZWdpc3RyYXRpb24iLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVnaXN0ZXIrSURWLVNhbmRib3giLCAidXJsIjogIkRlbW8tU2VsZlJlZ2lzdHJhdGlvblNhbmRib3giLCAiaWNvbiI6ICIxMjgvMTY5OC8xNjk4NTcyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVtZW1iZXIgVXNlcm5hbWVzIiwgInVybCI6ICJEZW1vLVJlbWVtYmVyTXlVc2VybmFtZSIsICJpY29uIjogIjEyOC84ODkvODg5NjY4LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGVlciBSZWNvdmVyeSIsICJ1cmwiOiAiRGVtby1SZWNvdmVyeSIsICJpY29uIjogIjEyOC8yNTk3LzI1OTcxNDMucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIiwgInVybCI6ICJGaW5nZXJwcmludEpTIiwgImljb24iOiAiLzEyOC84MzM3LzgzMzc3MDIucG5nIiB9LAogIC8veyAibmFtZSI6ICJGaW5nZXJwcmludEpTIFBybyIsICJ1cmwiOiAiRmluZ2VycHJpbnRQcm9KUyIsICJpY29uIjogIi8xMjgvODMzNy84MzM3NzAyLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUmVzZXQgUGFzc3dvcmQiLCAidXJsIjogIlJlc2V0UGFzc3dvcmQiLCAiaWNvbiI6ICIxMjgvMTAwMC8xMDAwOTMzLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU29jaWFsIExvZ2luIiwgInVybCI6ICJEZW1vLVNvY2lhbCIsICJpY29uIjogIjEyOC8zMDAvMzAwMjIxLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiU0FNTCIsICJ1cmwiOiAiRGVtby1TQU1MIiwgImljb24iOiAiMTI4LzI5LzI5NjExLnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLU9BVEgiLCAidXJsIjogIkRlbW8tTUZBLU9BVEgiLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiTUZBLVB1c2giLCAidXJsIjogIkRlbW8tTUZBLVB1c2giLCAiaWNvbiI6ICIxMjgvNzQ3Ni83NDc2Nzk2LnBuZyIgfSwKICAvL3sgIm5hbWUiOiAiUGFzc3dvcmRsZXNzIiwgInVybCI6ICJEZW1vLU1GQS1QYXNzd2RsZXNzIiwgImljb24iOiAiMTI4LzI3NjcvMjc2NzE0Ni5wbmciIH0sICAKICAvL3sgIm5hbWUiOiAiTUZBLUNob2ljZSIsICJ1cmwiOiAiRGVtby1NRkEtQ2hvaWNlIiwgImljb24iOiAiMTI4Lzc0NzYvNzQ3Njc5Ni5wbmciIH0sCiAgLy97ICJuYW1lIjogIlByb2dyZXNzaXZlIFByb2ZpbGUiLCAidXJsIjogIlByb2dyZXNzaXZlUHJvZmlsZSIsICJpY29uIjogIjEyOC83MzE5LzczMTk1MDkucG5nIiB9LAogIC8veyAibmFtZSI6ICJBZ2UtQmFzZWQgTG9naW4iLCAidXJsIjogIkRlbW8tQWdlQmFzZWRMb2dpbiIsICJpY29uIjogIjEyOC8zMDgxLzMwODE5NjkucG5nIiB9LAogIC8veyAibmFtZSI6ICJNdWx0aSBCcmFuZCIsICJ1cmwiOiAiRGVtby1NdWx0aUJyYW5kIiwgImljb24iOiAiMTI4LzY5ODAvNjk4MDczNS5wbmciIH0sCiAgLy97ICJuYW1lIjogIkFudGkgRnJhdWQiLCAidXJsIjogIjEtRGVtby1DaG9vc2VyLUF1dG9BY2Nlc3MiLCAiaWNvbiI6ICIxMjgvMjg2Ny8yODY3NzI1LnBuZyIgfSwKICAKICAKXQoKCnZhciBJQ09OUyA9ICJodHRwczovL2Nkbi1pY29ucy1wbmcuZmxhdGljb24uY29tLyIKdmFyIFNJWkUgPSAiMjQiOwoKdmFyIGNzcyA9ICIqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSAgLmNvbHVtbiB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOmxlZnQ7IH0gLnJvdzphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDsgfSAuYm94IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgIGhlaWdodDogNjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwIDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgY29sb3I6IHJnYigwLCAwLCAwKTsgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMCk7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDoxcHg7IG1hcmdpbi1ib3R0b206IDJweDsgIH0gLmljb24geyBoZWlnaHQ6IDMycHg7IG1pbi13aWR0aDogMzJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0iOwoKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKKQoKCndpdGgoZnIpIHsKICAgIHZhciBzY3JpcHQ7CiAgICBmdW5jdGlvbiBjcmVhdGVTY3JpcHQoKSB7CiAgICAgICAgICB2YXIgbGVmdCA9ICIiOwogICAgICAgIHZhciByaWdodCA9ICIiOwogICAgICAgICAgZm9yIChpIGluIGpvdXJuZXlzKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gJzxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tYmxvY2sgYm94XCIgaHJlZj1cImh0dHBzOi8vb3BlbmFtLXZvbGtlci1kZW1vLmZvcmdlYmxvY2tzLmNvbS9hbS9YVUk/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPScgKyBqb3VybmV5c1tpXVsidXJsIl0gKyAnXCI+PGltZyBjbGFzcz1cImljb25cIiBzcmM9XCInICsgSUNPTlMgKyBqb3VybmV5c1tpXVsiaWNvbiJdICsgJ1wiPjxzcGFuPicgKyBqb3VybmV5c1tpXVsibmFtZSJdICsgJzwvc3Bhbj48L2E+JzsKICAgICAgICAgICAgICBpZiAoaSAlIDIgPT0gMCkgCiAgICAgICAgICAgICAgICAgIGxlZnQgKz0gZWxlbTsKICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgICAgICByaWdodCArPSBlbGVtOwogICAgICAgIH0KICAgICAgICByZXR1cm4gU3RyaW5nKCJkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkuaW5uZXJIVE1MID0gJyIgKyBjc3MgKyAiJyBcblwKICAgICAgICAgICAgdmFyIGNob29zZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaWQgPSAnY2hvb3Nlcic7IFxuXAogICAgICAgICAgICB2YXIgY2IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FsbGJhY2tzUGFuZWwnKTsgXG5cCiAgICAgICAgICAgIGNiLmluc2VydEJlZm9yZShjaG9vc2VyLCBjYi5maXJzdENoaWxkKTsgXG5cCiAgICAgICAgICAgIGNob29zZXIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJyb3dcIj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IitsZWZ0KyI8L2Rpdj48ZGl2IGNsYXNzPVwiY29sdW1uXCI+IityaWdodCsiPC9kaXY+PC9kaXY+JyBcblwKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9c3VibWl0XScpKSB7IFxuXAogICAgICAgICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblt0eXBlPXN1Ym1pdF0nKTsgXG5cCiAgICAgICAgICAgICAgICBiLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbigpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nob29zZXInKS5yZW1vdmUoKTsgIH0pOyBcblwKICAgICAgICAgICAgfSBcblwKICAgICAgICAiKTsKICAgIH0gIAogIAogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBBY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IFNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhjcmVhdGVTY3JpcHQoKSkKICAgICAgICApLmJ1aWxkKCkKICAgIH0gZWxzZSBhY3Rpb24gPSBBY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "6552" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.821Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "92a7bd7f1355ae753e4e937db47d63cd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1702, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OAuth2 Access Token Modification Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20Access%20Token%20Modification%20Script%22" - }, - "response": { - "bodySize": 10093, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10093, - "text": "{\"result\":[{\"_id\":\"d22f9a0c-426a-4466-b95e-d0f125b0d5fa\",\"name\":\"OAuth2 Access Token Modification Script\",\"description\":\"Default global script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.878Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "bc60b63002c1eecace0496edd0cf81dd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1674, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-DisplayUserName\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-DisplayUserName%22" - }, - "response": { - "bodySize": 3288, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3288, - "text": "{\"result\":[{\"_id\":\"0ab1dc10-a54f-476f-ad07-2a04915cd443\",\"name\":\"wks-DisplayUserName\",\"description\":\"DisplayUserName\",\"script\":\"LyogRGlzcGxheSBVc2VybmFtZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBEaXNwbGF5IHRoZSB1c2VybmFtZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICB0cnkgewogICAgdmFyIG91dGNvbWUgPSAndHJ1ZSc7CiAgICB2YXIgdXNlcm5hbWUgPSBub2RlU3RhdGUuZ2V0KCd1c2VybmFtZScpLmFzU3RyaW5nKCk7CgogICAgLy8gU3BlY2lmeSB0aGUgbWVzc2FnZSB5b3Ugd2FudCB0byBkaXNwbGF5LiBZb3UgbWF5IHVzZSBIVE1MIGZvciBmb3JtYXR0aW5nLiBBdm9pZCBsaW5lIGJyZWFrcyEgVXNlIDxicj4gaW5zdGVhZC4KICAgIHZhciBtZXNzYWdlID0gJ1lvdXIgRW5jb3JlIHVzZXJuYW1lIGlzOjxoMyBzdHlsZT0iY29sb3I6IzI5NDhBNzsiPicrdXNlcm5hbWUrJzwvaDM+JzsKCiAgICB2YXIgYW5jaG9yID0gJ2FuY2hvci0nK2dlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKTsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gXAogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiBcCiAgICAgIGZ1bmN0aW9uIChlKSB7XG4gXAogICAgICAgIHZhciBtZXNzYWdlID0gZS5maXJzdEVsZW1lbnRDaGlsZDtcbiBcCiAgICAgICAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIithbmNob3IrIicpIHtcbiBcCiAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciK21lc3NhZ2UrIic7XG4gXAogICAgICAgIH1cbiBcCiAgICAgIH0pIjsKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgICAgICBjb20uc3VuLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uLmNhbGxiYWNrcy5TY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2sKICAgICkKICAgIGlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLnNlbmQoCiAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgICAgICBhbmNob3IKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9CiAgICBlbHNlIHsKICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgIH0KICB9IGNhdGNoIChlcnJvcikgewogICAgbG9nZ2VyLmVycm9yKCdFcnJvcjogJyArIGVycm9yKTsKICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7CiAgfQoKICAgLyoKICAgICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAgICogCiAgICAqIEV4YW1wbGU6CiAgICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICAqLwogIGZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL1t4XS9nLCBmdW5jdGlvbihjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkqMTB8MDsKICAgICAgICAgIHZhciB2ID0gcjsKICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDEwKTsKICAgICAgfSk7CiAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3288" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.934Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "cdfe982399a02cf5e2c34a763a4473ef", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1680, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Get esv admin token\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Get%20esv%20admin%20token%22" - }, - "response": { - "bodySize": 844, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 844, - "text": "{\"result\":[{\"_id\":\"9674f7d1-7448-4544-879e-91587bb04f46\",\"name\":\"Get esv admin token\",\"description\":\"Get esc admin token\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwp2YXIgYWRtaW5Ub2tlbiA9ICBzeXN0ZW1FbnYuZ2V0UHJvcGVydHkoImVzdi5hZG1pbi50b2tlbiIpOwpzaGFyZWRTdGF0ZS5wdXQoJ2FkbWluVG9rZW4nLCBhZG1pblRva2VuKTsKb3V0Y29tZSA9ICJ0cnVlIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "844" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:27.992Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "de7aeea45f0d5f5bc11451a836edabc8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1663, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FR-Debug\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FR-Debug%22" - }, - "response": { - "bodySize": 16721, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 16721, - "text": "{\"result\":[{\"_id\":\"c0413dae-fdd1-45b7-9302-61d6ae02b194\",\"name\":\"FR-Debug\",\"description\":\"Debug to show AM States\",\"script\":\"LyogRElTQ0xBSU1FUjogVGhpcyBjb2RlIGlzIHByb3ZpZGVkIHRvIHlvdSBleHByZXNzbHkgYXMgYW4gZXhhbXBsZSAgKOKAnFNhbXBsZSBDb2Rl4oCdKS4gSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBpbmRpdmlkdWFsIHJlY2lwaWVudCB1c2VyLCBpbiBoaXMvaGVyIHNvbGUgZGlzY3JldGlvbiwgdG8gZGlsaWdlbmNlIHN1Y2ggU2FtcGxlIENvZGUgZm9yIGFjY3VyYWN5LCBjb21wbGV0ZW5lc3MsIHNlY3VyaXR5LCBhbmQgZmluYWwgZGV0ZXJtaW5hdGlvbiBmb3IgYXBwcm9wcmlhdGVuZXNzIG9mIHVzZS4gCiAqIEFOWSBTQU1QTEUgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiDigJxBUyBJU+KAnSBJUyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORC4gRk9SR0VST0NLIEFORCBJVFMgTElDRU5TT1JTIEVYUFJFU1NMWSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUywgIFdIRVRIRVIgRVhQUkVTUywgSU1QTElFRCwgT1IgU1RBVFVUT1JZLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTICBPRiBNRVJDSEFOVEFCSUxJVFksIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKiBGT1JHRVJPQ0sgU0hBTEwgTk9UIEhBVkUgQU5ZIExJQUJJTElUWSBBUklTSU5HIE9VVCBPRiBPUiBSRUxBVElORyBUTyBBTlkgVVNFLCBJTVBMRU1FTlRBVElPTiwgSU5URUdSQVRJT04sIE9SIENPTkZJR1VSQVRJT04gT0YgQU5ZIFNBTVBMRSBDT0RFIElOIEFOWSBQUk9EVUNUSU9OIEVOVklST05NRU5UIE9SIEZPUiBBTlkgQ09NTUVSQ0lBTCBERVBMT1lNRU5UKFMpLgogKgogKiBTY3JpcHQgTmFtZTogQU0gSm91cm5leSBUZW1wbGF0ZQogKgogKiBBdXRob3JzOiBzZUBmb3JnZXJvY2suY29tCiAqIAogKiBUaGlzIHNjcmlwdCBzaG93cyBhIGRlZmF1bHQgdGVtcGxhdGUgb24gaG93IHlvdXIgU2NyaXB0aW5nIERlY2lzaW9uIE5vZGUgc2NyaXB0cyBzaG91bGQgYmUgd3JpdHRlbi4KICogSXQgc2hvd3MgeW91IGhvdyB0byB3b3JrIHdpdGggc2hhcmVkU3RhdGUsIHRyYW5zaWVudFN0YXRlLCBzZWN1cmVTdGF0ZS4KICogVGhpcyBpcyBhIGdyZWF0IGRlYnVnIHNjcmlwdCB0byB1c2UgaW4gYW5kIG9mIGl0c2VsZiBhcyBpdCB3aWxsIGRpc3BsYXkgYWxsIHRocmVlIHN0YXRlcyBtZW50aW9uZWQgYWJvdmUgaW4gYSBmb3JtYXR0ZWQgdGFibGUKICogCiAqIFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHBhcmFtZXRyaXplZC4gSXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBhcyBpcy4gCiAqIEl0IHJlcXVpcmVzIHNvbWUgbm9kZXMgdGhhdCBzZXQgYXQgbGVhc3Qgc2hhcmVkU3RhdGUgYmVmb3JlIGl0IGNhbiBvcGVyYXRlLgogKiBGb3IgZXhhbXBsZSwgc2V0IGEgcGFnZSBub2RlIHdpdGggUGxhdGZvcm0gVXNlcm5hbWUgYW5kIFBsYXRmb3JtIFBhc3N3b3JkIG5vZGVzCiAqIAogKiBUaGlzIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIHRydWUKKi8KCi8vIERvIGV2ZXJ5dGhpbmcgaW4gYSBzZWxmLWludm9raW5nIGZ1bmN0aW9uIGFuZCBkbyBub3Qgd3JpdGUgY29kZSBvdXRzaWRlIG9mIGEgZnVuY3Rpb24gb3IgeW91IHdpbGwgcGF5IGRlYXJseS4gCi8vIFRoaXMgaXMgYmVjYXVzZSBvZiB0b3AtbGV2ZWwgc2NvcGluZy93aGl0ZWxpc3RpbmcvZXRjIGlzc3VlcyB0aGF0IGdpdmUgeW91ICd1bmRlZmluZWQnIGVycm9ycy4KKGZ1bmN0aW9uICgpIHsKICBsb2dnZXIubWVzc2FnZSgiU2NyaXB0OiBzdGFydCIpOyAvLyBiZWdpbmcgb2Ygc2NyaXB0IG1haW4KICBvdXRjb21lID0gInRydWUiOyAvLyA8LSBmaWxsIGluIGRlZmF1bHQgb3V0Y29tZSBoZXJlIGFuZCBpdCBzaG91bGQgbWF0Y2ggYSAiU2NyaXB0IE91dGNvbWVzIiBzZXR0aW5nIG9uIHRoaXMgbm9kZSBpdHNlbGYKCiAgLy8gYnVpbGQgb3V0cHV0IGh0bWwgdGFibGUgdGhhdCB3aWxsIGJlIHNlbnQgYmFjayB0byBicm93c2VyCiAgdmFyIG91dHB1dCA9IGNyZWF0ZUh0bWwoKTsKCiAgLy8gaXNzdWUgY2FsbGJhY2sgdG8gYnJvd3NlciBhZnRlciBvdXRwdXQgaHRtbCBpcyBidWlsdCBmcm9tIGNyZWF0ZUh0bWwoKSBmdW5jdGlvbgogIGRpc3BsYXlNZXNzYWdlKG91dHB1dCk7CiAgCiAgbG9nZ2VyLm1lc3NhZ2UoIlNjcmlwdDogZW5kIik7IC8vIGVuZCBvZiBzY3JpcHQgbWFpbgoKICAvKgogICogUHV0IGZ1bmN0aW9ucyBiZWxvdyBoZXJlCiAgKi8KICBmdW5jdGlvbiBjcmVhdGVIdG1sKCkgewogICAgICB2YXIgaHRtbCA9ICI8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkXCI+IjsKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlNoYXJlZCBTdGF0ZSBWYXJpYWJsZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIgogICAgICAgICAgICAmJiBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICIiCiAgICAgICAgICAgICYmICIiK3N0YXRlS2V5ICE9PSAib2JqZWN0QXR0cmlidXRlcyIgIC8vIGdvaW5nIHRvIHB1bGwgb3V0IG9iamVjdEF0dHJpYnV0ZXMgbGF0ZXIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCiAgICAgICAgewogICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzdGF0ZUtleSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBzaGFyZWRTdGF0ZS5nZXQoc3RhdGVLZXkpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRoZWFkIGNsYXNzPVwidGhlYWQtZGFya1wiPjx0cj48dGggY2xhc3M9XCJweC0xIHB5LTFcIiBjb2xzcGFuPVwiMlwiPlRyYW5zaWVudCBTdGF0ZSBWYXJpYWJsZXMgKHRyYW5zaWVudFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvLyBnZXQgYWxsIHRoZSBrZXlzIGluIG5vZGVTdGF0ZQogICAgICB2YXIgaXRlcmF0b3IgPSBub2RlU3RhdGUua2V5cygpLml0ZXJhdG9yKCk7CiAgICAgIHZhciBzdGF0ZUtleXMgPSBbXTsKICAgICAgd2hpbGUgKGl0ZXJhdG9yLmhhc05leHQoKSkgewogICAgICAgICAgc3RhdGVLZXlzLnB1c2goaXRlcmF0b3IubmV4dCgpLnRvU3RyaW5nKCkpOwogICAgICB9CiAgICAgIHN0YXRlS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZUtleSkgewogICAgICAgIGlmICh0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiB0cmFuc2llbnRTdGF0ZS5nZXQoc3RhdGVLZXkpLnRvU3RyaW5nKCkgIT09ICJudWxsIiAKICAgICAgICAgICAgJiYgdHJhbnNpZW50U3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAiIgogICAgICAgICAgICAmJiAiIitzdGF0ZUtleSAhPT0gIm9iamVjdEF0dHJpYnV0ZXMiKSAKICAgICAgICB7CiAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHN0YXRlS2V5ICsgIjwvdGQ+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIHRyYW5zaWVudFN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIC8vIEJ1aWxkIHRoZSB0YWJsZSBvZiBvYmplY3RBdHRyaWJ1dGVzIGluIHNoYXJlZFN0YXRlCiAgICAgIGlmIChzaGFyZWRTdGF0ZS5nZXQoIm9iamVjdEF0dHJpYnV0ZXMiKSkKICAgICAgeyAgIAogICAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5TaGFyZWQgT2JqZWN0IEF0dHJpYnV0ZXMgKHNoYXJlZFN0YXRlLmdldCk8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAgIHZhciBlbnRyaWVzID0gc2hhcmVkU3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZW50cnlTZXQoKS50b0FycmF5KCk7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2UgZW50cnlTZXQoKS4gQ2FuIHVzZSBrZXlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRLZXkoKSArICI8L3RkPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBlbnRyeS5nZXRWYWx1ZSgpICsgIjwvdGQ+PC90cj4iOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj5FTVBUWTwvdGQ+PC90cj4iOwogICAgICB9CiAgICAgIGh0bWwgKz0gIjwvdGFibGU+IjsKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2Ygb2JqZWN0QXR0cmlidXRlcyBpbiB0cmFuc2llbnRTdGF0ZQogICAgICBpZiAodHJhbnNpZW50U3RhdGUuZ2V0KCJvYmplY3RBdHRyaWJ1dGVzIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+VHJhbnNpZW50IE9iamVjdCBBdHRyaWJ1dGVzICh0cmFuc2llbnRTdGF0ZS5nZXQpPC90aD48L3RyPjwvdGhlYWQ+IjsKICAgICAgICB2YXIga2V5cyA9IHRyYW5zaWVudFN0YXRlLmdldCgnb2JqZWN0QXR0cmlidXRlcycpLmtleVNldCgpLnRvQXJyYXkoKTsKICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyAvLyBzaG93aW5nIGhvdyB0byB1c2Uga2V5U2V0KCkuIENhbiB1c2UgZW50cnlTZXQoKS4KICAgICAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjbGFzcz1cInB4LTEgcHktMVwiPiIgKyBrZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgdHJhbnNpZW50U3RhdGUuZ2V0KCdvYmplY3RBdHRyaWJ1dGVzJykuZ2V0KGtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgaHRtbCArPSAiPHRyPjx0ZCBjb2xzcGFuPVwiMlwiPkVNUFRZPC90ZD48L3RyPiI7CiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5ub2RlU3RhdGUuZ2V0ICh0cmFuc2llbnRTdGF0ZSwgc2VjdXJlU3RhdGUsIHNoYXJlZFN0YXRlKTwvdGg+PC90cj48L3RoZWFkPiI7CiAgICAgIC8vIGdldCBhbGwgdGhlIGtleXMgaW4gbm9kZVN0YXRlCiAgICAgIHZhciBpdGVyYXRvciA9IG5vZGVTdGF0ZS5rZXlzKCkuaXRlcmF0b3IoKTsKICAgICAgdmFyIHN0YXRlS2V5cyA9IFtdOwogICAgICB3aGlsZSAoaXRlcmF0b3IuaGFzTmV4dCgpKSB7CiAgICAgICAgICBzdGF0ZUtleXMucHVzaChpdGVyYXRvci5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIH0KICAgICAgc3RhdGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKHN0YXRlS2V5KSB7CiAgICAgICAgaWYgKG5vZGVTdGF0ZS5nZXQoc3RhdGVLZXkpIAogICAgICAgICAgICAmJiBub2RlU3RhdGUuZ2V0KHN0YXRlS2V5KS50b1N0cmluZygpICE9PSAibnVsbCIKICAgICAgICAgICAgJiYgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkudG9TdHJpbmcoKSAhPT0gIiIKICAgICAgICAgICAgJiYgIiIrc3RhdGVLZXkgIT09ICJwYWdlTm9kZUNhbGxiYWNrcyIpIC8vcGFnZU5vZGVDYWxsYmFja3MgYXJlIGludGVybmFsIHRvIHRoZSBQYWdlIE5vZGUgYW5kIG5vdCBuZWVkZWQvdXNlZCAgCgogICAgICAgIHsKICAgICAgICAgIGh0bWwgKz0gIjx0cj48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgc3RhdGVLZXkgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgbm9kZVN0YXRlLmdldChzdGF0ZUtleSkgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwoKCiAgICAgIGh0bWwgKz0gIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWRcIj4iOwogICAgICAvLyBsb29raW5nIGZvciBhIHdheSB0byBidWlsZCB0aGlzIEFNIFVzZXIgUHJvZmlsZSBsaXN0IGR5bmFtaWNhbGx5CiAgICAgIHZhciBvYmpBTUF0dHJzID0gWwogICAgICAgICJ1aWQiLAogICAgICAgICJjbiIsCiAgICAgICAgImluZXRVc2VyU3RhdHVzIiwKICAgICAgICAiZ2l2ZW5OYW1lIiwKICAgICAgICAic24iLAogICAgICAgICJtYWlsIiwKICAgICAgICAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0ZWxlcGhvbmVOdW1iZXIiLAogICAgICAgICJzdHJlZXQiLAogICAgICAgICJsIiwKICAgICAgICAicG9zdGFsQ29kZSIsCiAgICAgICAgImNvIiwKICAgICAgICAic3QiLAogICAgICAgICJkaXNwbGF5TmFtZSIsCiAgICAgICAgImZyLWF0dHItaXN0cjEiLAogICAgICAgICJmci1hdHRyLWlzdHIyIiwKICAgICAgICAiZnItYXR0ci1pc3RyMyIsCiAgICAgICAgImZyLWF0dHItaXN0cjQiLAogICAgICAgICJmci1hdHRyLWlzdHI1IiwKICAgICAgICAiZnItYXR0ci1zdHIxIiwKICAgICAgICAiZnItYXR0ci1zdHIyIiwKICAgICAgICAiZnItYXR0ci1zdHIzIiwKICAgICAgICAiZnItYXR0ci1zdHI0IiwKICAgICAgICAiZnItYXR0ci1zdHI1IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkxIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkyIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk0IiwKICAgICAgICAiZnItYXR0ci1pbXVsdGk1IiwKICAgICAgICAiZnItYXR0ci1tdWx0aTEiLAogICAgICAgICJmci1hdHRyLW11bHRpMiIsCiAgICAgICAgImZyLWF0dHItbXVsdGkzIiwKICAgICAgICAiZnItYXR0ci1tdWx0aTQiLAogICAgICAgICJmci1hdHRyLW11bHRpNSIsCiAgICAgICAgImZyLWF0dHItaWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTIiLAogICAgICAgICJmci1hdHRyLWlkYXRlMyIsCiAgICAgICAgImZyLWF0dHItaWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1pZGF0ZTUiLAogICAgICAgICJmci1hdHRyLWRhdGUxIiwKICAgICAgICAiZnItYXR0ci1kYXRlMiIsCiAgICAgICAgImZyLWF0dHItZGF0ZTMiLAogICAgICAgICJmci1hdHRyLWRhdGU0IiwKICAgICAgICAiZnItYXR0ci1kYXRlNSIsCiAgICAgICAgImZyLWF0dHItaWludDEiLAogICAgICAgICJmci1hdHRyLWlpbnQyIiwKICAgICAgICAiZnItYXR0ci1paW50MyIsCiAgICAgICAgImZyLWF0dHItaWludDQiLAogICAgICAgICJmci1hdHRyLWlpbnQ1IiwKICAgICAgICAiZnItYXR0ci1pbnQxIiwKICAgICAgICAiZnItYXR0ci1pbnQyIiwKICAgICAgICAiZnItYXR0ci1pbnQzIiwKICAgICAgICAiZnItYXR0ci1pbnQ0IiwKICAgICAgICAiZnItYXR0ci1pbnQ1IgogICAgICBdOyAgCgogICAgICAvLyBCdWlsZCB0aGUgdGFibGUgb2YgaWRSZXBvc2l0b3J5IGJpbmRpbmcKICAgICAgdmFyIGF0dHJzMjsKICAgICAgaWYgKHNoYXJlZFN0YXRlLmdldCgiX2lkIikgJiYgaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpLCAidWlkIikpCiAgICAgIHsKICAgICAgICBodG1sICs9ICI8dGhlYWQgY2xhc3M9XCJ0aGVhZC1kYXJrXCI+PHRyPjx0aCBjbGFzcz1cInB4LTEgcHktMVwiIGNvbHNwYW49XCIyXCI+aWRSZXBvc2l0b3J5IEFNIFVzZXIgUHJvZmlsZTwvdGg+PC90cj48L3RoZWFkPiI7ICAgICAgICAKICAgICAgICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwogICAgICAgIG9iakFNQXR0cnMuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikgewogICAgICAgICAgYXR0cnMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCBhdHRyKTsgIAogICAgICAgICAgaWYgKGF0dHJzICYmICIiK2F0dHJzICE9PSAibnVsbCIgJiYgIiIrYXR0cnMgIT09ICIiICYmICIiK2F0dHJzLnNpemUoKT4wKXsKICAgICAgICAgICAgaWYgKGF0dHJzLnNpemUoKT09PTEpewogICAgICAgICAgICAgICAgYXR0cnMgPSBzaW5nbGVWYWx1ZShhdHRycyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGF0dHIgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgYXR0cnMgKyAiPC90ZD48L3RyPiI7CiAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgCiAgICAgIH0KICAgICAgaHRtbCArPSAiPC90YWJsZT4iOwogICAgICAKICAgICAgaHRtbCArPSAiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZFwiPiI7CiAgICAgIGh0bWwgKz0gIjx0aGVhZCBjbGFzcz1cInRoZWFkLWRhcmtcIj48dHI+PHRoIGNsYXNzPVwicHgtMSBweS0xXCIgY29sc3Bhbj1cIjJcIj5SZXF1ZXN0IEhlYWRlcnM8L3RoPjwvdHI+PC90aGVhZD4iOwogICAgICAvL2h0bWwgKz0gIjx0cj48dGQgY29sc3Bhbj1cIjJcIj4iICsgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSArICI8L3RkPjwvdHI+IjsKICAgICAgdmFyIHJIZWFkZXJzID0gU3RyaW5nKHJlcXVlc3RIZWFkZXJzKS5zcGxpdCgnXSwgJykubWFwKGZ1bmN0aW9uIChoZWFkZXIpewogICAgICAgIHJldHVybiBoZWFkZXIuc3BsaXQoJz0nKVswXS5yZXBsYWNlKCd7JywnJykucmVwbGFjZSgnfScsJycpOyAKICAgICAgfSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBySGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uIChoZWFkZXJOYW1lKSB7CiAgICAgICAgdmFyIGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKICAgICAgICBodG1sICs9ICI8dHI+PHRkIGNsYXNzPVwicHgtMSBweS0xXCI+IiArIGhlYWRlck5hbWUgKyAiPC90ZD48dGQgY2xhc3M9XCJweC0xIHB5LTFcIj4iICsgaGVhZGVyLmdldCgwKSArICI8L3RkPjwvdHI+IjsKICAgICAgfSk7ICAgIAogICAgCiAgICBodG1sICs9ICI8L3RhYmxlPiI7CiAgICAgIAogICAgcmV0dXJuIGh0bWw7CiAgfQogIAogIC8vYnVpbGRzIHRoZSBodG1sIHRvIGRpc3BsYXkgdGhlIG1lc3NhZ2UgaW4gdGhlIGJyb3dzZXIgb24gdGhlIGNhbGxiYWNrCiAgLy91c2UgdmlldyBzb3VyY2UgaW4gYnJvd3NlciBhbmQgbG9vayBmb3IgY2xhc3M9ImNhbGxiYWNrLWNvbXBvbmVudCIgdG8gc2VlIGh0bWwgcmVzcG9uc2UKICBmdW5jdGlvbiBkaXNwbGF5TWVzc2FnZShtZXNzYWdlKSB7CiAgICAgIHZhciBhbmNob3IgPSAiYW5jaG9yLSIuY29uY2F0KGdlbmVyYXRlTnVtZXJpY1Rva2VuKCd4eHgnKSk7CiAgICAgIHZhciBoYWxpZ24gPSAibGVmdCI7CiAgICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4iLmNvbmNhdCgKICAgICAgICAgICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAgICAgICAgICAgICAgICAgIiAgdmFyIG1lc3NhZ2UgPSBlLmZpcnN0RWxlbWVudENoaWxkO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgbWVzc2FnZS5zdHlsZSA9IFwiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIG1lc3NhZ2UuYWxpZ24gPSBcIiIpLmNvbmNhdChoYWxpZ24pLmNvbmNhdCgiXCI7XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBtZXNzYWdlLmlubmVySFRNTCA9ICciKS5jb25jYXQobWVzc2FnZSkuY29uY2F0KCInO1xuIikuY29uY2F0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICB9XG4iKS5jb25jYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifSkiKQogICAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgICAgIGphdmF4LnNlY3VyaXR5LmF1dGguY2FsbGJhY2suVGV4dE91dHB1dENhbGxiYWNrLAogICAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICAgICkKICAgICAgaWYgKG1lc3NhZ2UubGVuZ3RoICYmIGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKAogICAgICAgICAgICAgIG5ldyBmci5UZXh0T3V0cHV0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgICAgYW5jaG9yCiAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICBuZXcgZnIuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrKHNjcmlwdCkKICAgICAgICAgICkuYnVpbGQoKQogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgYWN0aW9uID0gZnIuQWN0aW9uLmdvVG8ob3V0Y29tZSkuYnVpbGQoKTsKICAgICAgfQogIH0KCiAgLyoKICAgKiBHZW5lcmF0ZSBhIHRva2VuIGluIHRoZSBkZXNpcmVkIGZvcm1hdC4gQWxsICd4JyBjaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHJhbmRvbSBudW1iZXIgMC05LgogICAqIFRoaXMgaXMgbmVlZGVkIHRvIGhhdmUgYSB1bmlxdWUgZGl2KGFuY2hvci14KSBvbiB0aGUgaHRtbCBjYWxsYmFjayB0aGF0IHdlIGNhbiBwb3B1bGF0ZSBkYXRhCiAgICogRXhhbXBsZToKICAgKiAneHh4eHgnIHByb2R1Y2VzICcyODUzNScKICAgKiAneHh4LXh4eCcgcHJvZHVjZXMgJzQzMi01MjEnCiAgICovCiAgZnVuY3Rpb24gZ2VuZXJhdGVOdW1lcmljVG9rZW4oZm9ybWF0KSB7CiAgICAgIHJldHVybiBmb3JtYXQucmVwbGFjZSgvW3hdL2csIGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxMCB8IDA7CiAgICAgICAgICB2YXIgdiA9IHI7CiAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICAgIH0pOwogIH0KCiAgLy8gZ2V0IGEgc2luZ2xlVmFsdWUgZnJvbSBhIEhhc2hTZXQKICBmdW5jdGlvbiBzaW5nbGVWYWx1ZSh4KQogIHsKICAgIGlmKHguc2l6ZSgpPjApCiAgICAgIHsKICAgICAgICByZXR1cm4geC5pdGVyYXRvcigpLm5leHQoKTsKICAgICAgfQogICAgICAKICAgIHJldHVybiAiIjsKICAgIAogIH0KCn0oKSk7IC8vIHNlbGYtaW52b2tpbmcgZnVuY3Rpb24=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.047Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "5e9aaa7940499ae88cb8e5c5b2d83090", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"FrodoTestScript4\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22FrodoTestScript4%22" - }, - "response": { - "bodySize": 1131, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1131, - "text": "{\"result\":[{\"_id\":\"10643e95-873a-4ec0-b713-a7f56760d179\",\"name\":\"FrodoTestScript4\",\"description\":\"Check if username has already been collected.\",\"script\":\"LyogQ2hlY2sgVXNlcm5hbWUKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQ2hlY2sgaWYgdXNlcm5hbWUgaGFzIGFscmVhZHkgYmVlbiBjb2xsZWN0ZWQuCiAqIFJldHVybiAia25vd24iIGlmIHllcywgInVua25vd24iIG90aGVyd2lzZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0ga25vd24KICogLSB1bmtub3duCiAqLwooZnVuY3Rpb24gKCkgewogICAgaWYgKG51bGwgIT0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKSB7CiAgICAgICAgb3V0Y29tZSA9ICJrbm93biI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvdXRjb21lID0gInVua25vd24iOwogICAgfQp9KCkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1131" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.105Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "abae260899074b15f700a18919a6f82f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1666, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pushBomb.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pushBomb.js%22" - }, - "response": { - "bodySize": 2069, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2069, - "text": "{\"result\":[{\"_id\":\"0414eed8-abfd-43bb-94b5-c841a8ba2c98\",\"name\":\"pushBomb.js\",\"description\":\"null\",\"script\":\"dmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjIiOwp2YXIgdGhyZXNob2xkID0gMjsKb3V0Y29tZSA9ICJkZWZhdWx0IjsKdmFyIG5vdyA9IG5ldyBEYXRlKCkgIAp2YXIgZXBvY2ggPSBNYXRoLnJvdW5kKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTsKdmFyIGVwb2NoQ3VycmVudE1pbnV0ZSA9IE1hdGgucm91bmQoZXBvY2gvNjApOwoKdmFyIHVzZXJBdHRyOwp2YXIgX2lkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIGVwb2NoQXR0ck1pbnV0ZT0wOwp2YXIgYXR0ZW1wdENvdW50PTE7Cgp2YXIgdXNlclByZWZlcmVuY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShfaWQsICJmci1pZG0tcHJlZmVyZW5jZXMiKS50b1N0cmluZygpOwoKaWYodXNlclByZWZlcmVuY2VzLmluZGV4T2YoIlwiY3VzdG9tX3B1c2hcIjp0cnVlIikgPiAtMSkKewogICAgb3V0Y29tZSA9ICJzdXNwZW5kZWQiOwp9CmVsc2UKewogIHZhciB1c2VyQXR0clJhdyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoX2lkLCBhdHRyaWJ1dGUpOwogIGlmICh1c2VyQXR0clJhdyAmJiB1c2VyQXR0clJhdy5pdGVyYXRvcigpLmhhc05leHQoKSkgewogICAgICB1c2VyQXR0ciA9IEpTT04ucGFyc2UodXNlckF0dHJSYXcuaXRlcmF0b3IoKS5uZXh0KCkudG9TdHJpbmcoKSk7CiAgICAgIGVwb2NoQXR0ck1pbnV0ZSA9IHVzZXJBdHRyWzBdOwogICAgICBhdHRlbXB0Q291bnQgPSB1c2VyQXR0clsxXTsKICAgICAgYXR0ZW1wdENvdW50ID0gYXR0ZW1wdENvdW50ICsgMTsKICB9CgogIC8vaWYoCgogIHZhciBuZXdBdHRyOwogIGlmKGVwb2NoQ3VycmVudE1pbnV0ZT09ZXBvY2hBdHRyTWludXRlKSB7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hBdHRyTWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSAgKyAiXSIpOwogIH0KICBlbHNlIHsKICAgICAgYXR0ZW1wdENvdW50PTE7CiAgICAgIG5ld0F0dHIgPSBTdHJpbmcoIlsiICsgZXBvY2hDdXJyZW50TWludXRlLnRvU3RyaW5nKCkgKyAiLCIgKyBhdHRlbXB0Q291bnQudG9TdHJpbmcoKSArICJdIik7CiAgfQogIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoX2lkLCAiZnItYXR0ci1zdHIyIixbbmV3QXR0cl0pOwoKICBpZihhdHRlbXB0Q291bnQ+dGhyZXNob2xkKSB7CiAgICBvdXRjb21lID0gInRydWUiOwogIH0KICBlbHNlIHsKICAgIG91dGNvbWUgPSAiZmFsc2UiOwogIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2069" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.161Z", - "time": 65, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 65 - } - }, - { - "_id": "c5cda9fdad2bde1459bbb88c54fff9e7", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1700, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Device Id (Match) - Client Side\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Device%20Id%20%28Match%29%20-%20Client%20Side%22" - }, - "response": { - "bodySize": 13210, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 13210, - "text": "{\"result\":[{\"_id\":\"157298c0-7d31-4059-a95b-eeb08473b7e5\",\"name\":\"Device Id (Match) - Client Side\",\"description\":\"Default global script for client side Device Id (Match) Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGZvbnREZXRlY3RvciA9IChmdW5jdGlvbiAoKSB7CiAgICAvKioKICAgICAqIEphdmFTY3JpcHQgY29kZSB0byBkZXRlY3QgYXZhaWxhYmxlIGF2YWlsYWJpbGl0eSBvZiBhCiAgICAgKiBwYXJ0aWN1bGFyIGZvbnQgaW4gYSBicm93c2VyIHVzaW5nIEphdmFTY3JpcHQgYW5kIENTUy4KICAgICAqCiAgICAgKiBBdXRob3IgOiBMYWxpdCBQYXRlbAogICAgICogV2Vic2l0ZTogaHR0cDovL3d3dy5sYWxpdC5vcmcvbGFiL2phdmFzY3JpcHQtY3NzLWZvbnQtZGV0ZWN0LwogICAgICogTGljZW5zZTogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wCiAgICAgKiAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAgICAqIFZlcnNpb246IDAuMTUgKDIxIFNlcCAyMDA5KQogICAgICogICAgICAgICAgQ2hhbmdlZCBjb21wYXJpc2lvbiBmb250IHRvIGRlZmF1bHQgZnJvbSBzYW5zLWRlZmF1bHQtZGVmYXVsdCwKICAgICAqICAgICAgICAgIGFzIGluIEZGMy4wIGZvbnQgb2YgY2hpbGQgZWxlbWVudCBkaWRuJ3QgZmFsbGJhY2sKICAgICAqICAgICAgICAgIHRvIHBhcmVudCBlbGVtZW50IGlmIHRoZSBmb250IGlzIG1pc3NpbmcuCiAgICAgKiBWZXJzaW9uOiAwLjIgKDA0IE1hciAyMDEyKQogICAgICogICAgICAgICAgQ29tcGFyaW5nIGZvbnQgYWdhaW5zdCBhbGwgdGhlIDMgZ2VuZXJpYyBmb250IGZhbWlsaWVzIGllLAogICAgICogICAgICAgICAgJ21vbm9zcGFjZScsICdzYW5zLXNlcmlmJyBhbmQgJ3NhbnMnLiBJZiBpdCBkb2Vzbid0IG1hdGNoIGFsbCAzCiAgICAgKiAgICAgICAgICB0aGVuIHRoYXQgZm9udCBpcyAxMDAlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbQogICAgICogVmVyc2lvbjogMC4zICgyNCBNYXIgMjAxMikKICAgICAqICAgICAgICAgIFJlcGxhY2VkIHNhbnMgd2l0aCBzZXJpZiBpbiB0aGUgbGlzdCBvZiBiYXNlRm9udHMKICAgICAqLwogICAgLyoKICAgICAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMgRm9yZ2VSb2NrIEFTLgogICAgICovCiAgICB2YXIgZGV0ZWN0b3IgPSB7fSwgYmFzZUZvbnRzLCB0ZXN0U3RyaW5nLCB0ZXN0U2l6ZSwgaCwgcywgZGVmYXVsdFdpZHRoID0ge30sIGRlZmF1bHRIZWlnaHQgPSB7fSwgaW5kZXg7CgogICAgLy8gYSBmb250IHdpbGwgYmUgY29tcGFyZWQgYWdhaW5zdCBhbGwgdGhlIHRocmVlIGRlZmF1bHQgZm9udHMuCiAgICAvLyBhbmQgaWYgaXQgZG9lc24ndCBtYXRjaCBhbGwgMyB0aGVuIHRoYXQgZm9udCBpcyBub3QgYXZhaWxhYmxlLgogICAgYmFzZUZvbnRzID0gWydtb25vc3BhY2UnLCAnc2Fucy1zZXJpZicsICdzZXJpZiddOwoKICAgIC8vd2UgdXNlIG0gb3IgdyBiZWNhdXNlIHRoZXNlIHR3byBjaGFyYWN0ZXJzIHRha2UgdXAgdGhlIG1heGltdW0gd2lkdGguCiAgICAvLyBBbmQgd2UgdXNlIGEgTExpIHNvIHRoYXQgdGhlIHNhbWUgbWF0Y2hpbmcgZm9udHMgY2FuIGdldCBzZXBhcmF0ZWQKICAgIHRlc3RTdHJpbmcgPSAibW1tbW1tbW1tbWxsaSI7CgogICAgLy93ZSB0ZXN0IHVzaW5nIDcycHggZm9udCBzaXplLCB3ZSBtYXkgdXNlIGFueSBzaXplLiBJIGd1ZXNzIGxhcmdlciB0aGUgYmV0dGVyLgogICAgdGVzdFNpemUgPSAnNzJweCc7CgogICAgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CgogICAgLy8gY3JlYXRlIGEgU1BBTiBpbiB0aGUgZG9jdW1lbnQgdG8gZ2V0IHRoZSB3aWR0aCBvZiB0aGUgdGV4dCB3ZSB1c2UgdG8gdGVzdAogICAgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgIHMuc3R5bGUuZm9udFNpemUgPSB0ZXN0U2l6ZTsKICAgIHMuaW5uZXJIVE1MID0gdGVzdFN0cmluZzsKICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgLy9nZXQgdGhlIGRlZmF1bHQgd2lkdGggZm9yIHRoZSB0aHJlZSBiYXNlIGZvbnRzCiAgICAgICAgcy5zdHlsZS5mb250RmFtaWx5ID0gYmFzZUZvbnRzW2luZGV4XTsKICAgICAgICBoLmFwcGVuZENoaWxkKHMpOwogICAgICAgIGRlZmF1bHRXaWR0aFtiYXNlRm9udHNbaW5kZXhdXSA9IHMub2Zmc2V0V2lkdGg7IC8vd2lkdGggZm9yIHRoZSBkZWZhdWx0IGZvbnQKICAgICAgICBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dID0gcy5vZmZzZXRIZWlnaHQ7IC8vaGVpZ2h0IGZvciB0aGUgZGVmdWFsdCBmb250CiAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgIH0KCiAgICBkZXRlY3Rvci5kZXRlY3QgPSBmdW5jdGlvbihmb250KSB7CiAgICAgICAgdmFyIGRldGVjdGVkID0gZmFsc2UsIGluZGV4LCBtYXRjaGVkOwogICAgICAgIGZvciAoaW5kZXggaW4gYmFzZUZvbnRzKSB7CiAgICAgICAgICAgIHMuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQgKyAnLCcgKyBiYXNlRm9udHNbaW5kZXhdOyAvLyBuYW1lIG9mIHRoZSBmb250IGFsb25nIHdpdGggdGhlIGJhc2UgZm9udCBmb3IgZmFsbGJhY2suCiAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgICAgIG1hdGNoZWQgPSAocy5vZmZzZXRXaWR0aCAhPT0gZGVmYXVsdFdpZHRoW2Jhc2VGb250c1tpbmRleF1dIHx8IHMub2Zmc2V0SGVpZ2h0ICE9PSBkZWZhdWx0SGVpZ2h0W2Jhc2VGb250c1tpbmRleF1dKTsKICAgICAgICAgICAgaC5yZW1vdmVDaGlsZChzKTsKICAgICAgICAgICAgZGV0ZWN0ZWQgPSBkZXRlY3RlZCB8fCBtYXRjaGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV0ZWN0ZWQ7CiAgICB9OwoKICAgIHJldHVybiBkZXRlY3RvcjsKfSgpKTsKLyoKICogRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEhFQURFUi4KICoKICogQ29weXJpZ2h0IChjKSAyMDA5IFN1biBNaWNyb3N5c3RlbXMgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zCiAqIG9mIHRoZSBDb21tb24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlCiAqICh0aGUgTGljZW5zZSkuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluCiAqIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICoKICogWW91IGNhbiBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIGh0dHBzOi8vb3BlbnNzby5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwgb3IKICogb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQKICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCiAqIHBlcm1pc3Npb24gYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBXaGVuIGRpc3RyaWJ1dGluZyBDb3ZlcmVkIENvZGUsIGluY2x1ZGUgdGhpcyBDRERMCiAqIEhlYWRlciBOb3RpY2UgaW4gZWFjaCBmaWxlIGFuZCBpbmNsdWRlIHRoZSBMaWNlbnNlIGZpbGUKICogYXQgb3BlbnNzby9sZWdhbC9DRERMdjEuMC50eHQuCiAqIElmIGFwcGxpY2FibGUsIGFkZCB0aGUgZm9sbG93aW5nIGJlbG93IHRoZSBDRERMIEhlYWRlciwKICogd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzIFtdIHJlcGxhY2VkIGJ5CiAqIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uOgogKiAiUG9ydGlvbnMgQ29weXJpZ2h0ZWQgW3llYXJdIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0iCiAqCiAqLwovKgogKiBQb3J0aW9ucyBDb3B5cmlnaHRlZCAyMDEzIFN5bnRlZ3JpdHkuCiAqIFBvcnRpb25zIENvcHlyaWdodGVkIDIwMTMtMjAxNCBGb3JnZVJvY2sgQVMuCiAqLwoKdmFyIGNvbGxlY3RTY3JlZW5JbmZvID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzY3JlZW5JbmZvID0ge307CiAgICAgICAgaWYgKHNjcmVlbikgewogICAgICAgICAgICBpZiAoc2NyZWVuLndpZHRoKSB7CiAgICAgICAgICAgICAgICBzY3JlZW5JbmZvLnNjcmVlbldpZHRoID0gc2NyZWVuLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLmhlaWdodCkgewogICAgICAgICAgICAgICAgc2NyZWVuSW5mby5zY3JlZW5IZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2NyZWVuLnBpeGVsRGVwdGgpIHsKICAgICAgICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuQ29sb3VyRGVwdGggPSBzY3JlZW4ucGl4ZWxEZXB0aDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3Qgc2NyZWVuIGluZm9ybWF0aW9uLiBzY3JlZW4gaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzY3JlZW5JbmZvOwogICAgfSwKICAgIGNvbGxlY3RUaW1lem9uZUluZm8gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHRpbWV6b25lSW5mbyA9ICB7fSwgb2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpOwoKICAgICAgICBpZiAob2Zmc2V0KSB7CiAgICAgICAgICAgIHRpbWV6b25lSW5mby50aW1lem9uZSA9IG9mZnNldDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLndhcm4oIkNhbm5vdCBjb2xsZWN0IHRpbWV6b25lIGluZm9ybWF0aW9uLiB0aW1lem9uZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aW1lem9uZUluZm87CiAgICB9LAogICAgY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbyA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgaWYgKG5hdmlnYXRvciAmJiBuYXZpZ2F0b3IucGx1Z2lucykgewogICAgICAgICAgICB2YXIgcGx1Z2luc0luZm8gPSB7fSwgaSwgcGx1Z2lucyA9IG5hdmlnYXRvci5wbHVnaW5zOwogICAgICAgICAgICBwbHVnaW5zSW5mby5pbnN0YWxsZWRQbHVnaW5zID0gIiI7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgcGx1Z2luc0luZm8uaW5zdGFsbGVkUGx1Z2lucyA9IHBsdWdpbnNJbmZvLmluc3RhbGxlZFBsdWdpbnMgKyBwbHVnaW5zW2ldLmZpbGVuYW1lICsgIjsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcGx1Z2luc0luZm87CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBicm93c2VyIHBsdWdpbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLnBsdWdpbnMgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICB9CgogICAgfSwKLy8gR2V0dGluZyBnZW9sb2NhdGlvbiB0YWtlcyBzb21lIHRpbWUgYW5kIGlzIGRvbmUgYXN5bmNocm9ub3VzbHksIGhlbmNlIG5lZWQgYSBjYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgb25jZSBnZW9sb2NhdGlvbiBpcyByZXRyaWV2ZWQuCiAgICBjb2xsZWN0R2VvbG9jYXRpb25JbmZvID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGdlb2xvY2F0aW9uSW5mbyA9IHt9LAogICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgICAgICAgICAgZ2VvbG9jYXRpb25JbmZvLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICBnZW9sb2NhdGlvbkluZm8ubGF0aXR1ZGUgPSBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGU7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgICAgICB9LCBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ2Fubm90IGNvbGxlY3QgZ2VvbG9jYXRpb24gaW5mb3JtYXRpb24uICIgKyBlcnJvci5jb2RlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwogICAgICAgICAgICAgICAgY2FsbGJhY2soZ2VvbG9jYXRpb25JbmZvKTsKICAgICAgICAgICAgfTsKICAgICAgICBpZiAobmF2aWdhdG9yICYmIG5hdmlnYXRvci5nZW9sb2NhdGlvbikgewogICAgICAgICAgICAvLyBOQjogSWYgdXNlciBjaG9vc2VzICdOb3Qgbm93JyBvbiBGaXJlZm94IG5laXRoZXIgY2FsbGJhY2sgZ2V0cyBjYWxsZWQKICAgICAgICAgICAgLy8gICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUzMwogICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJDYW5ub3QgY29sbGVjdCBnZW9sb2NhdGlvbiBpbmZvcm1hdGlvbi4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBjYWxsYmFjayhnZW9sb2NhdGlvbkluZm8pOwogICAgICAgIH0KICAgIH0sCiAgICBjb2xsZWN0QnJvd3NlckZvbnRzSW5mbyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgZm9udHNJbmZvID0ge30sIGksIGZvbnRzTGlzdCA9IFsiY3Vyc2l2ZSIsIm1vbm9zcGFjZSIsInNlcmlmIiwic2Fucy1zZXJpZiIsImZhbnRhc3kiLCJkZWZhdWx0IiwiQXJpYWwiLCJBcmlhbCBCbGFjayIsCiAgICAgICAgICAgICJBcmlhbCBOYXJyb3ciLCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLCJCb29rbWFuIE9sZCBTdHlsZSIsIkJyYWRsZXkgSGFuZCBJVEMiLCJDZW50dXJ5IiwiQ2VudHVyeSBHb3RoaWMiLAogICAgICAgICAgICAiQ29taWMgU2FucyBNUyIsIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkdlb3JnaWEiLCJHZW50aXVtIiwiSW1wYWN0IiwiS2luZyIsIkx1Y2lkYSBDb25zb2xlIiwiTGFsaXQiLAogICAgICAgICAgICAiTW9kZW5hIiwiTW9ub3R5cGUgQ29yc2l2YSIsIlBhcHlydXMiLCJUYWhvbWEiLCJUZVgiLCJUaW1lcyIsIlRpbWVzIE5ldyBSb21hbiIsIlRyZWJ1Y2hldCBNUyIsIlZlcmRhbmEiLAogICAgICAgICAgICAiVmVyb25hIl07CiAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gIiI7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBmb250c0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGZvbnREZXRlY3Rvci5kZXRlY3QoZm9udHNMaXN0W2ldKSkgewogICAgICAgICAgICAgICAgZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzID0gZm9udHNJbmZvLmluc3RhbGxlZEZvbnRzICsgZm9udHNMaXN0W2ldICsgIjsiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmb250c0luZm87CiAgICB9LAogICAgZGV2aWNlUHJpbnQgPSB7fTsKCmRldmljZVByaW50LnNjcmVlbiA9IGNvbGxlY3RTY3JlZW5JbmZvKCk7CmRldmljZVByaW50LnRpbWV6b25lID0gY29sbGVjdFRpbWV6b25lSW5mbygpOwpkZXZpY2VQcmludC5wbHVnaW5zID0gY29sbGVjdEJyb3dzZXJQbHVnaW5zSW5mbygpOwpkZXZpY2VQcmludC5mb250cyA9IGNvbGxlY3RCcm93c2VyRm9udHNJbmZvKCk7CgppZiAobmF2aWdhdG9yLnVzZXJBZ2VudCkgewogICAgZGV2aWNlUHJpbnQudXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKfQppZiAobmF2aWdhdG9yLmFwcE5hbWUpIHsKICAgIGRldmljZVByaW50LmFwcE5hbWUgPSBuYXZpZ2F0b3IuYXBwTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcENvZGVOYW1lKSB7CiAgICBkZXZpY2VQcmludC5hcHBDb2RlTmFtZSA9IG5hdmlnYXRvci5hcHBDb2RlTmFtZTsKfQppZiAobmF2aWdhdG9yLmFwcFZlcnNpb24pIHsKICAgIGRldmljZVByaW50LmFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbikgewogICAgZGV2aWNlUHJpbnQuYXBwTWlub3JWZXJzaW9uID0gbmF2aWdhdG9yLmFwcE1pbm9yVmVyc2lvbjsKfQppZiAobmF2aWdhdG9yLmJ1aWxkSUQpIHsKICAgIGRldmljZVByaW50LmJ1aWxkSUQgPSBuYXZpZ2F0b3IuYnVpbGRJRDsKfQppZiAobmF2aWdhdG9yLnBsYXRmb3JtKSB7CiAgICBkZXZpY2VQcmludC5wbGF0Zm9ybSA9IG5hdmlnYXRvci5wbGF0Zm9ybTsKfQppZiAobmF2aWdhdG9yLmNwdUNsYXNzKSB7CiAgICBkZXZpY2VQcmludC5jcHVDbGFzcyA9IG5hdmlnYXRvci5jcHVDbGFzczsKfQppZiAobmF2aWdhdG9yLm9zY3B1KSB7CiAgICBkZXZpY2VQcmludC5vc2NwdSA9IG5hdmlnYXRvci5vc2NwdTsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3QpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3QgPSBuYXZpZ2F0b3IucHJvZHVjdDsKfQppZiAobmF2aWdhdG9yLnByb2R1Y3RTdWIpIHsKICAgIGRldmljZVByaW50LnByb2R1Y3RTdWIgPSBuYXZpZ2F0b3IucHJvZHVjdFN1YjsKfQppZiAobmF2aWdhdG9yLnZlbmRvcikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yID0gbmF2aWdhdG9yLnZlbmRvcjsKfQppZiAobmF2aWdhdG9yLnZlbmRvclN1YikgewogICAgZGV2aWNlUHJpbnQudmVuZG9yU3ViID0gbmF2aWdhdG9yLnZlbmRvclN1YjsKfQppZiAobmF2aWdhdG9yLmxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5sYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnVzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQudXNlckxhbmd1YWdlID0gbmF2aWdhdG9yLnVzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSkgewogICAgZGV2aWNlUHJpbnQuYnJvd3Nlckxhbmd1YWdlID0gbmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZTsKfQppZiAobmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlKSB7CiAgICBkZXZpY2VQcmludC5zeXN0ZW1MYW5ndWFnZSA9IG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZTsKfQoKLy8gQXR0ZW1wdCB0byBjb2xsZWN0IGdlby1sb2NhdGlvbiBpbmZvcm1hdGlvbiBhbmQgcmV0dXJuIHRoaXMgd2l0aCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgovLyBPdGhlcndpc2UsIGlmIGdlby1sb2NhdGlvbiBmYWlscyBvciB0YWtlcyBsb25nZXIgdGhhbiAzMCBzZWNvbmRzLCBhdXRvLXN1Ym1pdCB0aGUgZGF0YSBjb2xsZWN0ZWQgc28gZmFyLgphdXRvU3VibWl0RGVsYXkgPSAzMDAwMDsKb3V0cHV0LnZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJpbnQpOwpjb2xsZWN0R2VvbG9jYXRpb25JbmZvKGZ1bmN0aW9uKGdlb2xvY2F0aW9uSW5mbykgewogICAgZGV2aWNlUHJpbnQuZ2VvbG9jYXRpb24gPSBnZW9sb2NhdGlvbkluZm87CiAgICBvdXRwdXQudmFsdWUgPSBKU09OLnN0cmluZ2lmeShkZXZpY2VQcmludCk7CiAgICBzdWJtaXQoKTsKfSk7Cg==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.230Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "e81a7568b2f332dd73d17af7613483cf", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1691, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Salesforce Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Salesforce%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1564, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1564, - "text": "{\"result\":[{\"_id\":\"312e951f-70c5-49d2-a9ae-93aef909d5df\",\"name\":\"Salesforce Profile Normalization\",\"description\":\"Normalizes raw profile data from Salesforce\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImdpdmVuTmFtZSIsIHJhd1Byb2ZpbGUuZ2l2ZW5fbmFtZSksCiAgICAgICAgZmllbGQoImZhbWlseU5hbWUiLCByYXdQcm9maWxlLmZhbWlseV9uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnBpY3R1cmUpLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJsb2NhbGUiLCByYXdQcm9maWxlLnpvbmVJbmZvKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1564" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.288Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "d15d4354eec1219a37a90beaed3de432", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1684, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"SAML2 SP Adapter Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22SAML2%20SP%20Adapter%20Script%22" - }, - "response": { - "bodySize": 10793, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10793, - "text": "{\"result\":[{\"_id\":\"69f06e63-128c-4e2f-af52-079a8a6f448b\",\"name\":\"SAML2 SP Adapter Script\",\"description\":\"Default global script for SAML2 SP Adapter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhlIHNjcmlwdCBoYXMgdGhlc2UgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyBhIFNBTUwyIGZsb3cuCiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25SZXF1ZXN0CiAqICAgICAgLSBwcmVTaW5nbGVTaWduT25Qcm9jZXNzCiAqICAgICAgLSBwb3N0U2luZ2xlU2lnbk9uU3VjY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZVNpZ25PbkZhaWx1cmUKICogICAgICAtIHBvc3ROZXdOYW1lSURTdWNjZXNzCiAqICAgICAgLSBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzcwogKiAgICAgIC0gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcwogKiAgICAgIC0gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MKICoKICogUGxlYXNlIHNlZSB0aGUgSmF2YURvYyBmb3IgdGhlIGludGVyZmFjZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmFtL3NhbWwyL3BsdWdpbnMvU1BBZGFwdGVyLmh0bWwKICogTm90ZSB0aGF0IHRoZSBpbml0aWFsaXplIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGZvciB0aGUgdmFyaWFibGVzIGF2YWlsYWJsZSB0byBpdC4KICoKICogaG9zdGVkRW50aXR5SWQgLSBTdHJpbmcKICogICAgIEVudGl0eSBJRCBmb3IgdGhlIGhvc3RlZCBJRFAKICogcmVhbG0gLSBTdHJpbmcKICogICAgIFJlYWxtIG9mIHRoZSBob3N0ZWQgSURQCiAqIGlkcEVudGl0eUlkIC0gU3RyaW5nCiAqICAgICBUaGUgZW50aXR5IElEIGZvciB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgZm9yIHdoaWNoIHRoZSBzaWduLW9uIHJlcXVlc3Qgd2lsbCBiZSBzZW50LgogKiByZXF1ZXN0IC0gSHR0cFNlcnZsZXRSZXF1ZXN0ICgxKQogKiAgICAgU2VydmxldCByZXF1ZXN0IG9iamVjdAogKiByZXNwb25zZSAtIEh0dHBTZXJ2bGV0UmVzcG9uc2UgKDIpCiAqICAgICBTZXJ2bGV0IHJlc3BvbnNlIG9iamVjdAogKiBhdXRoblJlcXVlc3QgLSBBdXRoblJlcXVlc3QgKDMpCiAqICAgICBUaGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBzZW50IHRoYXQgaXMgc2VudCBmcm9tIHRoZSBTZXJ2aWNlIFByb3ZpZGVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpCiAqICAgICBUaGUgc2luZ2xlIHNpZ24tb24gc2Vzc2lvbi4gVGhlIHJlZmVyZW5jZSB0eXBlIG9mIHRoaXMgaXMgT2JqZWN0IGFuZCB3b3VsZCBuZWVkIHRvIGJlIGNhc3RlZCB0byBTU09Ub2tlbi4KICogcmVzIC0gUmVzcG9uc2UgKDUpCiAqICAgICBUaGUgU1NPIFJlc3BvbnNlIHJlY2VpdmVkIGZyb20gdGhlIElkZW50aXR5IFByb3ZpZGVyLgogKiBwcm9maWxlIC0gU3RyaW5nCiAqICAgICBUaGUgcHJvdG9jb2wgcHJvZmlsZSB0aGF0IGlzIHVzZWQsIHRoaXMgd2lsbCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZnJvbSBTQU1MMkNvbnN0YW50cyAoNik6CiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9QT1NUCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9BUlRJRkFDVAogKiAgICAgICAgICAtIFNBTUwyQ29uc3RhbnRzLlBBT1MKICogb3V0IC0gUHJpbnRXcml0ZXIgKDcpCiAqICAgICBUaGUgUHJpbnRXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0by4KICogaXNGZWRlcmF0aW9uIC0gYm9vbGVhbgogKiAgICAgU2V0IHRvIHRydWUgaWYgdXNpbmcgZmVkZXJhdGlvbiwgb3RoZXJ3aXNlIGZhbHNlLgogKiBmYWlsdXJlQ29kZSAtIGludAogKiAgICAgQW4gaW50ZWdlciBob2xkaW5nIHRoZSBmYWlsdXJlIGNvZGUgd2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBwb3RlbnRpYWwgdmFsdWVzIHNlZSBTUEFkYXB0ZXIuCiAqIHVzZXJJZCAtIFN0cmluZwogKiAgICAgVGhlIHVuaXF1ZSB1bml2ZXJzYWwgSUQgb2YgdGhlIHVzZXIgd2l0aCB3aG9tIHRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3Qgd2FzIHBlcmZvcm1lZC4KICogaWRSZXF1ZXN0IC0gTWFuYWdlTmFtZUlEUmVxdWVzdCAoOCkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlcXVlc3QsIHRoaXMgd2lsbCBiZSBudWxsIGlmIHRoZSByZXF1ZXN0IG9iamVjdCBpcyBub3QgYXZhaWxhYmxlCiAqIGlkUmVzcG9uc2UgLSBNYW5hZ2VOYW1lSURSZXNwb25zZSAoOSkKICogICAgIFRoZSBuZXcgbmFtZSBpZGVudGlmaWVyIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmUgbnVsbCBpZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUKICogYmluZGluZyAtIFN0cmluZwogKiAgICAgVGhlIGJpbmRpbmcgdXNlZCBmb3IgdGhlIG5ldyBuYW1lIGlkZW50aWZpZXIgcmVxdWVzdC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICogICAgICAgICAgLSBTQU1MMkNvbnN0YW50cy5TT0FQCiAqICAgICAgICAgIC0gU0FNTDJDb25zdGFudHMuSFRUUF9SRURJUkVDVAogKiBsb2dvdXRSZXF1ZXN0IC0gTG9nb3V0UmVxdWVzdCAoMTApCiAqICAgICBUaGUgc2luZ2xlIGxvZ291dCByZXF1ZXN0LgogKiBsb2dvdXRSZXNwb25zZSAtIExvZ291dFJlc3BvbnNlICgxMSkKICogICAgIFRoZSBzaW5nbGUgbG9nb3V0IHJlc3BvbnNlLgogKiBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIgLSBTcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEyKQogKiAgICAgQW4gaW5zdGFuY2Ugb2YgU3BBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIGxvZ2dlciAtIExvZ2dlciBpbnN0YW5jZQogKiAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy48c2NyaXB0IG5hbWU+CiAqCiAqIFRocm93cyBTQU1MMkV4Y2VwdGlvbiAoMTMpOgogKiAgICAgZm9yIGFueSBleGNlcHRpb25zIG9jY3VycmluZyBpbiB0aGUgYWRhcHRlci4gVGhlIGZlZGVyYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlCiAqCiAqIENsYXNzIHJlZmVyZW5jZToKICogKDEpIEh0dHBTZXJ2bGV0UmVxdWVzdCAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0Lmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlc3BvbnNlIC0gaHR0cHM6Ly90b21jYXQuYXBhY2hlLm9yZy90b21jYXQtNy4wLWRvYy9zZXJ2bGV0YXBpL2phdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlc3BvbnNlLmh0bWwuCiAqICgzKSBBdXRoblJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wcm90b2NvbC9SZXNwb25zZS5odG1sCiAqICg2KSBTQU1MMkNvbnN0YW50cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9jb21tb24vU0FNTDJDb25zdGFudHMuaHRtbAogKiAoNykgUHJpbnRXcml0ZXIgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS9pby9QcmludFdyaXRlci5odG1sCiAqICg4KSBNYW5hZ2VOYW1lSURSZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL01hbmFnZU5hbWVJRFJlcXVlc3QuaHRtbAogKiAoOSkgTWFuYWdlTmFtZUlEUmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTWFuYWdlTmFtZUlEUmVzcG9uc2UuaHRtbAogKiAoMTApIExvZ291dFJlcXVlc3QgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVxdWVzdC5odG1sCiAqICgxMSkgTG9nb3V0UmVzcG9uc2UgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4zL19hdHRhY2htZW50cy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvTG9nb3V0UmVzcG9uc2UuaHRtbAogKiAoMTIpIFNwQWRhcHRlclNjcmlwdEhlbHBlciAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjMvX2F0dGFjaG1lbnRzL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL3NjcmlwdGVkL1NwQWRhcHRlclNjcmlwdEhlbHBlci5odG1sLgogKiAoMTMpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMy9fYXR0YWNobWVudHMvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL2NvbW1vbi9TQU1MMkV4Y2VwdGlvbi5odG1sLgogKi8KCi8qCiAqIFRlbXBsYXRlL2RlZmF1bHQgc2NyaXB0IGZvciBTQU1MMiBTUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT25SZXF1ZXN0OgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIGlkcEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblJlcXVlc3QoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZVNpZ25PblByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHByZVNpbmdsZVNpZ25PblByb2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICByZXF1ZXN0CiAqICAgICByZXNwb25zZQogKiAgICAgb3V0CiAqICAgICBzZXNzaW9uCiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlcwogKiAgICAgcHJvZmlsZQogKiAgICAgaXNGZWRlcmF0aW9uCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKgogKiBSZXR1cm4gLSB0cnVlIGlmIHJlc3BvbnNlIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGZhbHNlIGlmIG5vdC4gRGVmYXVsdCB0byBmYWxzZS4KICovCmZ1bmN0aW9uIHBvc3RTaW5nbGVTaWduT25TdWNjZXNzKCkgewogICAgcmV0dXJuIGZhbHNlOwp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzCiAqICAgICBwcm9maWxlCiAqICAgICBmYWlsdXJlQ29kZQogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiByZXNwb25zZSBpcyBiZWluZyByZWRpcmVjdGVkLCBmYWxzZSBpZiBub3QuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwb3N0U2luZ2xlU2lnbk9uRmFpbHVyZSgpIHsKICAgIHJldHVybiBmYWxzZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdE5ld05hbWVJRFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGlkUmVxdWVzdAogKiAgICAgaWRSZXNwb25zZQogKiAgICAgYmluZGluZwogKiAgICAgc3BBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICBsb2dnZXIKICovCmZ1bmN0aW9uIHBvc3ROZXdOYW1lSURTdWNjZXNzKCkgewp9CgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwb3N0VGVybWluYXRlTmFtZUlEU3VjY2VzczoKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHVzZXJJZAogKiAgICAgaWRSZXF1ZXN0CiAqICAgICBpZFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFRlcm1pbmF0ZU5hbWVJRFN1Y2Nlc3MoKSB7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpbmdsZUxvZ291dFByb2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2luZ2xlTG9nb3V0UHJvY2VzcygpIHsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3M6CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIHJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICB1c2VySWQKICogICAgIGxvZ291dFJlcXVlc3QKICogICAgIGxvZ291dFJlc3BvbnNlCiAqICAgICBiaW5kaW5nCiAqICAgICBzcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcG9zdFNpbmdsZUxvZ291dFN1Y2Nlc3MoKSB7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_SP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.346Z", - "time": 50, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 50 - } - }, - { - "_id": "afa15dc27a4267006563eb6adc5fc01a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"debug\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22debug%22" - }, - "response": { - "bodySize": 3308, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3308, - "text": "{\"result\":[{\"_id\":\"3cb43516-ae69-433a-8787-501d45db14e9\",\"name\":\"debug\",\"description\":\"Display sharedState, transientState, and headers.\",\"script\":\"LyogZGVidWcKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogRGlzcGxheSBzaGFyZWRTdGF0ZSwgdHJhbnNpZW50U3RhdGUsIGFuZCBoZWFkZXJzLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSB0cnVlCiAqLwp2YXIgYW5jaG9yID0gImFuY2hvci0iLmNvbmNhdChnZW5lcmF0ZU51bWVyaWNUb2tlbigneHh4JykpOwp2YXIgaGFsaWduID0gImxlZnQiOwp2YXIgbWVzc2FnZSA9ICI8cD48Yj5TaGFyZWQgU3RhdGU8L2I+Ojxici8+Ii5jb25jYXQoCiAgICAgIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkpLmNvbmNhdCgiPC9wPiIpLmNvbmNhdCgKICAgICI8cD48Yj5UcmFuc2llbnQgU3RhdGU8L2I+Ojxici8+IikuY29uY2F0KAogICAgICB0cmFuc2llbnRTdGF0ZS50b1N0cmluZygpKS5jb25jYXQoIjwvcD4iKS5jb25jYXQoCiAgICAiPHA+PGI+UmVxdWVzdCBIZWFkZXJzPC9iPjo8YnIvPiIpLmNvbmNhdCgKICAgICAgcmVxdWVzdEhlYWRlcnMudG9TdHJpbmcoKSkuY29uY2F0KCI8L3A+IikKdmFyIHNjcmlwdCA9ICJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiIuY29uY2F0KAogICJkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjYWxsYmFjay1jb21wb25lbnQnKSkuZm9yRWFjaChcbiIpLmNvbmNhdCgKICAiZnVuY3Rpb24gKGUpIHtcbiIpLmNvbmNhdCgKICAiICB2YXIgbWVzc2FnZSA9IGUuZmlyc3RFbGVtZW50Q2hpbGQ7XG4iKS5jb25jYXQoCiAgIiAgaWYgKG1lc3NhZ2UuZmlyc3RDaGlsZCAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZU5hbWUgPT0gJyN0ZXh0JyAmJiBtZXNzYWdlLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnRyaW0oKSA9PSAnIikuY29uY2F0KGFuY2hvcikuY29uY2F0KCInKSB7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmNsYXNzTmFtZSA9IFwidGV4dC1sZWZ0XCI7XG4iKS5jb25jYXQoCiAgIiAgICBtZXNzYWdlLmFsaWduID0gXCIiKS5jb25jYXQoaGFsaWduKS5jb25jYXQoIlwiO1xuIikuY29uY2F0KAogICIgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAnIikuY29uY2F0KG1lc3NhZ2UpLmNvbmNhdCgiJztcbiIpLmNvbmNhdCgKICAiICB9XG4iKS5jb25jYXQoCiAgIn0pIikKdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICBqYXZheC5zZWN1cml0eS5hdXRoLmNhbGxiYWNrLlRleHRPdXRwdXRDYWxsYmFjaywKICAgIGNvbS5zdW4uaWRlbnRpdHkuYXV0aGVudGljYXRpb24uY2FsbGJhY2tzLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjawopCmlmIChtZXNzYWdlLmxlbmd0aCAmJiBjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICBuZXcgZnIuVGV4dE91dHB1dENhbGxiYWNrKAogICAgICAgICAgICBmci5UZXh0T3V0cHV0Q2FsbGJhY2suSU5GT1JNQVRJT04sCiAgICAgICAgICAgIGFuY2hvcgogICAgICAgICksCiAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICApLmJ1aWxkKCkKfQplbHNlIHsKICBhY3Rpb24gPSBmci5BY3Rpb24uZ29UbygidHJ1ZSIpLmJ1aWxkKCk7Cn0KCiAvKgogICogR2VuZXJhdGUgYSB0b2tlbiBpbiB0aGUgZGVzaXJlZCBmb3JtYXQuIEFsbCAneCcgY2hhcmFjdGVycyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSByYW5kb20gbnVtYmVyIDAtOS4KICAqIAogICogRXhhbXBsZToKICAqICd4eHh4eCcgcHJvZHVjZXMgJzI4NTM1JwogICogJ3h4eC14eHgnIHByb2R1Y2VzICc0MzItNTIxJwogICovCmZ1bmN0aW9uIGdlbmVyYXRlTnVtZXJpY1Rva2VuKGZvcm1hdCkgewogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24oYykgewogICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxMHwwOwogICAgICAgIHZhciB2ID0gcjsKICAgICAgICByZXR1cm4gdi50b1N0cmluZygxMCk7CiAgICB9KTsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3308" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.400Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "da171ffe43fa0414dde04a78281c0870", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"GitHub Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22GitHub%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1232, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1232, - "text": "{\"result\":[{\"_id\":\"a7a78773-445b-4eca-bb93-409e86bced81\",\"name\":\"GitHub Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUubG9naW4pKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1232" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.459Z", - "time": 59, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 59 - } - }, - { - "_id": "99d259eb57c25d01ede5cf21815c8741", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1703, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Authentication Tree Decision Node Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Authentication%20Tree%20Decision%20Node%20Script%22" - }, - "response": { - "bodySize": 759, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 759, - "text": "{\"result\":[{\"_id\":\"01e1a3c0-038b-4c16-956a-6c9d89328cff\",\"name\":\"Authentication Tree Decision Node Script\",\"description\":\"Default global script for a scripted decision node\",\"script\":\"LyoKICAtIERhdGEgbWFkZSBhdmFpbGFibGUgYnkgbm9kZXMgdGhhdCBoYXZlIGFscmVhZHkgZXhlY3V0ZWQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgc2hhcmVkU3RhdGUgdmFyaWFibGUuCiAgLSBUaGUgc2NyaXB0IHNob3VsZCBzZXQgb3V0Y29tZSB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIuCiAqLwoKb3V0Y29tZSA9ICJ0cnVlIjsK\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "759" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.524Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "2309a7f49a1fe4728cc77e95bde7fe41", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1696, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"My Example Script Using Libraries\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22My%20Example%20Script%20Using%20Libraries%22" - }, - "response": { - "bodySize": 796, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 796, - "text": "{\"result\":[{\"_id\":\"bb393d07-a121-47e2-9d24-1a1066f39ec0\",\"name\":\"My Example Script Using Libraries\",\"description\":\"My Example Script Using Libraries\",\"script\":\"LyoqCiAqIFRlc3RpbmcgbGlicmFyeSBzY3JpcHRzCiAqLwp2YXIgbXlsaWIgPSByZXF1aXJlKCdNeSBFeGFtcGxlIExpYnJhcnknKTsKdmFyIGxvZ2dlcnMgPSByZXF1aXJlKCdMaWJyYXJ5IFNjcmlwdCcpOwoKbXlsaWIuYWRkKDEpOwpteWxpYi5sb2dUb3RhbChsb2dnZXIpOwpteWxpYi5hZGQoMyk7Cm15bGliLmxvZ1RvdGFsV2l0aE1lc3NhZ2UobG9nZ2VyLCBteWxpYi5NU0cpOwoKb3V0Y29tZSA9ICd0cnVlJzs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "796" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.582Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "1f8cce56ecc6a4b46438c8bef34eec8c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"takeFavouriteFactor.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22takeFavouriteFactor.js%22" - }, - "response": { - "bodySize": 1032, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1032, - "text": "{\"result\":[{\"_id\":\"77e87451-bde9-40c0-84b1-02d4c97687f2\",\"name\":\"takeFavouriteFactor.js\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkKewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykKICB7CiAgICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICAgICAgcmV0dXJuIGZySWRtQ3VzdG9tQXR0cmlidXRlc09iamVjdFtjdXN0b21BdHRyTmFtZV07CiAgfQp9Cgp2YXIgZmF2RmFjdG9yID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7Cm91dGNvbWUgPSBmYXZGYWN0b3I7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1032" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.640Z", - "time": 48, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 48 - } - }, - { - "_id": "75d67cb54b1596db4dd7aef88161182c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1710, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha OAuth2 Access Token Modification Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20OAuth2%20Access%20Token%20Modification%20Script%22" - }, - "response": { - "bodySize": 10105, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10105, - "text": "{\"result\":[{\"_id\":\"39c08084-1238-43e8-857f-2e11005eac49\",\"name\":\"Alpha OAuth2 Access Token Modification Script\",\"description\":\"Default alpha realm script for OAuth2 Access Token Modification\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTktMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMKICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCBsZXRzIHlvdSBtb2RpZnkgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGFuIE9BdXRoMiBhY2Nlc3MgdG9rZW4KICogd2l0aCBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBBY2Nlc3NUb2tlbiAoMSkgaW50ZXJmYWNlLgogKiBUaGUgY2hhbmdlcyBtYWRlIHRvIE9BdXRoMiBhY2Nlc3MgdG9rZW5zIHdpbGwgZGlyZWN0bHkgaW1wYWN0IHRoZSBzaXplIG9mIHRoZSBDVFMgdG9rZW5zLAogKiBhbmQsIHNpbWlsYXJseSwgdGhlIHNpemUgb2YgdGhlIEpXVHMgaWYgY2xpZW50LWJhc2VkIE9BdXRoMiB0b2tlbnMgYXJlIHV0aWxpemVkLgogKiBXaGVuIGFkZGluZy91cGRhdGluZyBmaWVsZHMgbWFrZSBzdXJlIHRoYXQgdGhlIHRva2VuIHNpemUgcmVtYWlucyB3aXRoaW4gY2xpZW50L3VzZXItYWdlbnQgbGltaXRzLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBzY29wZXMgLSBTZXQ8U3RyaW5nPiAoNikuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICogcmVxdWVzdFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgY29udGFpbnMgYSBtYXAgb2YgcmVxdWVzdCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RVcmkgLSBUaGUgcmVxdWVzdCBVUkkuCiAqICAgICAgICAgICAgICAgICAgICAgcmVhbG0gLSBUaGUgcmVhbG0gdGhhdCB0aGUgcmVxdWVzdCByZWxhdGVzIHRvLgogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBBIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBoYW5kbGVkIGluIGFjY29yZGFuY2Ugd2l0aCBPV0FTUCBiZXN0IHByYWN0aWNlczoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9vd2FzcC5vcmcvd3d3LWNvbW11bml0eS92dWxuZXJhYmlsaXRpZXMvVW5zYWZlX3VzZV9vZl9SZWZsZWN0aW9uLgogKiBjbGllbnRQcm9wZXJ0aWVzIC0gVW5tb2RpZmlhYmxlIE1hcCAoNSkuCiAqICAgICAgICAgICAgICAgICAgICBQcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQgcHJvcGVydGllczoKICogICAgICAgICAgICAgICAgICAgIGNsaWVudElkIC0gVGhlIGNsaWVudCdzIFVSSSBmb3IgdGhlIHJlcXVlc3QgbG9jYWxlLgogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkUmVzcG9uc2VUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgcmVzcG9uc2UgdHlwZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkU2NvcGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCBzY29wZXMgZm9yIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzOyBmb3IgZXhhbXBsZToKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21NYXBbS2V5MV09VmFsdWUxIHdpbGwgYmUgcmV0dXJuZWQgYXMgY3VzdG9tTWFwIC0+IEtleTEgLT4gVmFsdWUxLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGFkZCBjdXN0b20gcHJvcGVydGllcyB0byBhIGNsaWVudCwgdXBkYXRlIHRoZSBDdXN0b20gUHJvcGVydGllcyBmaWVsZAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEFNIENvbnNvbGUgPiBSZWFsbSBOYW1lID4gQXBwbGljYXRpb25zID4gT0F1dGggMi4wID4gQ2xpZW50cyA+IENsaWVudCBJRCA+IEFkdmFuY2VkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDMpLgogKiAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgaWRlbnRpdHkgb2YgdGhlIHJlc291cmNlIG93bmVyLgogKiBzZXNzaW9uIC0gU1NPVG9rZW4gKDQpLgogKiAgICAgICAgICAgUHJlc2VudCBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgc2Vzc2lvbiBjb29raWUsIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBvYmplY3QuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlICJPQXV0aDJQcm92aWRlciIgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoOCkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIG5vIHZhbHVlIGlzIGV4cGVjdGVkLCBjaGFuZ2VzIHNoYWxsIGJlIG1hZGUgdG8gdGhlIGFjY2Vzc1Rva2VuIHBhcmFtZXRlciBkaXJlY3RseS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgQWNjZXNzVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvQWNjZXNzVG9rZW4uaHRtbC4KICogKDMpIEFNSWRlbnRpdHkgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvaWRtL0FNSWRlbnRpdHkuaHRtbC4KICogKDQpIFNTT1Rva2VuIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDUpIE1hcCAtIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvSGFzaE1hcC5odG1sLAogKiAgICAgICAgICAgb3IgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9MaW5rZWRIYXNoTWFwLmh0bWwuCiAqICg2KSBTZXQgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hTZXQuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgogKi8KCi8qIEVYQU1QTEUKKGZ1bmN0aW9uICgpIHsKICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlcXVlc3QsCiAgICAgICAgb3JnLmZvcmdlcm9jay5odHRwLnByb3RvY29sLlJlc3BvbnNlCiAgICApOwoKICAgIC8vIEFsd2F5cyBpbmNsdWRlcyB0aGlzIGZpZWxkIGluIHRoZSB0b2tlbi4KICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkKCdrZXkxJywgJ3ZhbHVlMScpOwoKICAgIC8vIFJlY2VpdmVzIGFuZCBhZGRzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gYWRkaXRpb25hbCB2YWx1ZXMgYnkgcGVyZm9ybWluZyBhIFJFU1QgY2FsbCB0byBhbiBleHRlcm5hbCBzZXJ2aWNlLgogICAgLy8gV0FSTklORzogQmVsb3csIHlvdSB3aWxsIGZpbmQgYSByZWZlcmVuY2UgdG8gYSB0aGlyZC1wYXJ0eSBzaXRlLCB3aGljaCBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGV4YW1wbGUuCiAgICB2YXIgdXJpID0gJ2h0dHBzOi8vanNvbnBsYWNlaG9sZGVyLnR5cGljb2RlLmNvbS9wb3N0cyc7CgogICAgdHJ5IHsKICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBmckphdmEuUmVxdWVzdCgpOwoKICAgICAgICAvLyBZb3UgY2FuIGNoYWluIG1ldGhvZHMgdGhhdCByZXR1cm4gdGhlIHJlcXVlc3Qgb2JqZWN0LgogICAgICAgIHJlcXVlc3Quc2V0VXJpKHVyaSkKICAgICAgICAgICAgLnNldE1ldGhvZCgnUE9TVCcpCiAgICAgICAgICAgIC5zZXRFbnRpdHkoSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogewogICAgICAgICAgICAgICAgICAgIGtleTI6ICd2YWx1ZTInLAogICAgICAgICAgICAgICAgICAgIGtleTM6ICd2YWx1ZTMnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKCiAgICAgICAgLy8gWW91IGNhbiBjYWxsIGEgbWV0aG9kIHdoZW4gY2hhaW5pbmcgaXMgbm90IHBvc3NpYmxlLgogICAgICAgIHJlcXVlc3QuZ2V0SGVhZGVycygpLmFkZCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnKTsKCiAgICAgICAgLy8gU2VuZHMgdGhlIHJlcXVlc3QgYW5kIHJlY2VpdmVzIHRoZSByZXNwb25zZS4KICAgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0T3JUaHJvdygpOwoKICAgICAgICAvLyBDaGVja3MgaWYgdGhlIHJlc3BvbnNlIHN0YXR1cyBpcyBhcyBleHBlY3RlZC4KICAgICAgICBpZiAocmVzcG9uc2UuZ2V0U3RhdHVzKCkgPT09IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5TdGF0dXMuQ1JFQVRFRCkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CgogICAgICAgICAgICAvLyBTZXQgbXVsdGlwbGUgdG9rZW4gZmllbGRzIGF0IG9uY2UuCiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLnNldEZpZWxkcyhyZXN1bHQudXBkYXRlZEZpZWxkcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gb2J0YWluIGFjY2VzcyB0b2tlbiBtb2RpZmljYXRpb25zLiBTdGF0dXM6ICcgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICcuIENvbnRlbnQ6ICcgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGxvZ2dlci5lcnJvcignVGhlIHJlcXVlc3QgcHJvY2Vzc2luZyB3YXMgaW50ZXJydXB0ZWQuICcgKyBlKTsKCiAgICAgICAgLy8gVGhlIGFjY2VzcyB0b2tlbiByZXF1ZXN0IGZhaWxzIHdpdGggdGhlIEhUVFAgNTAwIGVycm9yIGluIHRoaXMgY2FzZS4KICAgICAgICB0aHJvdyAoJ1VuYWJsZSB0byBvYnRhaW4gcmVzcG9uc2UgZnJvbTogJyArIHVyaSk7CiAgICB9CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgaWRlbnRpdHkgYXR0cmlidXRlIHZhbHVlcyB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgYWNjZXNzVG9rZW4uc2V0RmllbGQoJ21haWwnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ21haWwnKSk7CiAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgncGhvbmUnLCBpZGVudGl0eS5nZXRBdHRyaWJ1dGUoJ3RlbGVwaG9uZU51bWJlcicpLnRvQXJyYXkoKVswXSk7CgogICAgLy8gQWRkcyBuZXcgZmllbGRzIGNvbnRhaW5pbmcgdGhlIHNlc3Npb24gcHJvcGVydHkgdmFsdWVzLgogICAgLy8gTk9URTogc2Vzc2lvbiBtYXkgbm90IGJlIGF2YWlsYWJsZSBmb3Igbm9uLWludGVyYWN0aXZlIGF1dGhvcml6YXRpb24gZ3JhbnRzLgogICAgaWYgKHNlc3Npb24pIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBhY2Nlc3NUb2tlbi5zZXRGaWVsZCgnaXBBZGRyZXNzJywgc2Vzc2lvbi5nZXRQcm9wZXJ0eSgnSG9zdCcpKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIHNlc3Npb24gcHJvcGVydHkgdmFsdWUuICcgKyBlKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVtb3ZlcyBhIG5hdGl2ZSBmaWVsZCBmcm9tIHRoZSB0b2tlbiBlbnRyeSwgdGhhdCB3YXMgc2V0IGJ5IEFNLgogICAgLy8gV0FSTklORzogcmVtb3ZpbmcgbmF0aXZlIGZpZWxkcyBmcm9tIHRoZSB0b2tlbiBtYXkgcmVzdWx0IGluIGxvc3Mgb2YgZnVuY3Rpb25hbGl0eS4KICAgIC8vIGFjY2Vzc1Rva2VuLnJlbW92ZVRva2VuTmFtZSgpCgogICAgLy8gTm8gcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkLiBMZXQgaXQgYmUgdW5kZWZpbmVkLgp9KCkpOwoqLwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:27 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.693Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "44e730c22a54944186cc3c6ed74bbce4", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Amazon Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Amazon%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1296, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1296, - "text": "{\"result\":[{\"_id\":\"6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30\",\"name\":\"Amazon Profile Normalization\",\"description\":\"Normalizes raw profile data from Amazon\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJfaWQpLAogICAgICAgIGZpZWxkKCJkaXNwbGF5TmFtZSIsIHJhd1Byb2ZpbGUubmFtZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1296" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.755Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "8fed64e04407bbd842030f4d52b6a67e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1686, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Yahoo Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Yahoo%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1546, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1546, - "text": "{\"result\":[{\"_id\":\"424da748-82cc-4b54-be6f-82bd64d82a74\",\"name\":\"Yahoo Profile Normalization\",\"description\":\"Normalizes raw profile data from Yahoo\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1546" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.812Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "fe90a50ae7c7e0edfbed453351ad162b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1689, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OAuth2 Evaluate Scope Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20Evaluate%20Scope%20Script%22" - }, - "response": { - "bodySize": 3734, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3734, - "text": "{\"result\":[{\"_id\":\"da56fe60-8b38-4c46-a405-d6b306d4b336\",\"name\":\"OAuth2 Evaluate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Evaluation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgbGV0cyB5b3UgcG9wdWxhdGUgdGhlIHNjb3BlcyB3aXRoIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlcyB3aGVuIHRoZSB0b2tlbmluZm8gZW5kcG9pbnQgaXMgY2FsbGVkLgogKiBGb3IgZXhhbXBsZSwgaWYgb25lIG9mIHRoZSBzY29wZXMgaXMgbWFpbCwgQU0gc2V0cyBtYWlsIHRvIHRoZSByZXNvdXJjZSBvd25lcidzIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHRva2VuIGluZm9ybWF0aW9uIHJldHVybmVkLgogKgogKiBEZWZpbmVkIHZhcmlhYmxlczoKICogYWNjZXNzVG9rZW4gLSBBY2Nlc3NUb2tlbiAoMSkuCiAqICAgICAgICAgICAgICAgVGhlIGFjY2VzcyB0b2tlbiB0byBiZSB1cGRhdGVkLgogKiAgICAgICAgICAgICAgIE11dGFibGUgb2JqZWN0LCBhbGwgY2hhbmdlcyB0byB0aGUgYWNjZXNzIHRva2VuIHdpbGwgYmUgcmVmbGVjdGVkLgogKiBpZGVudGl0eSAtIEFNSWRlbnRpdHkgKDIpLgogKiAgICAgICAgICAgIFRoZSBjbGllbnQncyBpZGVudGl0eSBpZiBwcmVzZW50IG9yIHRoZSByZXNvdXJjZSBvd25lcidzIGlkZW50aXR5LiBDYW4gYmUgbnVsbC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgZGVidWcgbG9nZ2VyIGluc3RhbmNlOgogKiAgICAgICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgICAgICBDb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0VWQUxVQVRFX1NDT1BFCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoMykuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIEhUVFAgQ2xpZW50IGluc3RhbmNlOgogKiAgICAgICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50Lmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtaHR0cC1jbGllbnQuCiAqCiAqIFJldHVybiAtIGEgTWFwPFN0cmluZywgT2JqZWN0PiBvZiB0aGUgYWNjZXNzIHRva2VuJ3MgaW5mb3JtYXRpb24gKDQpLgogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBBY2Nlc3NUb2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vYXV0aDIvY29yZS9BY2Nlc3NUb2tlbi5odG1sLgogKiAoMikgQU1JZGVudGl0eSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9pZG0vQU1JZGVudGl0eS5odG1sLgogKiAoMykgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg0KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbC4KICovCgovKioKICogRGVmYXVsdCBldmFsdWF0ZSBzY29wZSBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzLgogKi8KCihmdW5jdGlvbiAoKSB7CiAgICB2YXIgbWFwID0gbmV3IGphdmEudXRpbC5IYXNoTWFwKCk7CiAgICBpZiAoaWRlbnRpdHkgIT09IG51bGwpIHsKICAgICAgICB2YXIgc2NvcGVzID0gYWNjZXNzVG9rZW4uZ2V0U2NvcGUoKS50b0FycmF5KCk7CiAgICAgICAgc2NvcGVzLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKHNjb3BlKS50b0FycmF5KCk7CiAgICAgICAgICAgIG1hcC5wdXQoc2NvcGUsIGF0dHJpYnV0ZXMuam9pbigiLCIpKTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLmVycm9yKCdpZGVudGl0eSBpcyBudWxsJyk7CiAgICB9CiAgICByZXR1cm4gbWFwOwp9KCkpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_EVALUATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3734" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.868Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "383132fe28b74d67e177962008c53d13", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"level\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22level%22" - }, - "response": { - "bodySize": 834, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 834, - "text": "{\"result\":[{\"_id\":\"41c24257-d7fc-4654-8b46-c2666dc5b56d\",\"name\":\"level\",\"description\":\"set per level shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdsZXZlbCcgKyBsZXZlbCArICdWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzZXQgYXQgZWFjaCBsZXZlbCBvZiB0aGUgbmVzdGVkIGpvdXJuZXlzLiBJdCBjb250YWlucyBhbiBpbmRpY2F0b3IgaW4gd2hpY2ggbGV2ZWwgaXQgd2FzIHNldC4nKTsKfSgpKTs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "834" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.923Z", - "time": 59, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 59 - } - }, - { - "_id": "e4bae345254e0df9bfa0f0633bad19e0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1690, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"VKontakte Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22VKontakte%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1502, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1502, - "text": "{\"result\":[{\"_id\":\"403cf226-6051-4368-8b72-9ba14f9a5140\",\"name\":\"VKontakte Profile Normalization\",\"description\":\"Normalizes raw profile data from VKontakte\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGhvdG9fNTApLAogICAgICAgIGZpZWxkKCJlbWFpbCIsIHJhd1Byb2ZpbGUuZW1haWwpLAogICAgICAgIGZpZWxkKCJ1c2VybmFtZSIsIHJhd1Byb2ZpbGUuZW1haWwpKSk=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1502" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:28.986Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "cd03ce6bab1791470b0a5e2b82b846e7", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1696, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"SAML2 IDP Attribute Mapper Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22SAML2%20IDP%20Attribute%20Mapper%20Script%22" - }, - "response": { - "bodySize": 10711, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 10711, - "text": "{\"result\":[{\"_id\":\"c4f22465-2368-4e27-8013-e6399974fd48\",\"name\":\"SAML2 IDP Attribute Mapper Script\",\"description\":\"Default global script for SAML2 IDP Attribute Mapper\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIHNjcmlwdCByZXR1cm5zIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSBvYmplY3RzIGZvciB0aGUgSURQIGZyYW1ld29yayB0byBpbnNlcnQgaW50byB0aGUgZ2VuZXJhdGVkIEFzc2VydGlvbi4KICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoMSkKICogICAgICAgICAgIFRoZSBzaW5nbGUgc2lnbi1vbiBzZXNzaW9uLgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgICAgICBUaGUgaG9zdGVkIGVudGl0eSBJRC4KICogcmVtb3RlRW50aXR5SWQgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICAgICAgVGhlIHJlbW90ZSBlbnRpdHkgSUQuCiAqIHJlYWxtIC0gU3RyaW5nIChwcmltaXRpdmUpLgogKiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSByZWFsbSB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGluZyB0by4KICogbG9nZ2VyIC0gQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgbG9nIGZpbGVzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aDogc2NyaXB0cy5TQU1MMl9JRFBfQVRUUklCVVRFX01BUFBFUgogKiBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgLSBJZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIgKDIpCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIEFuIElkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlciBpbnN0YW5jZSBjb250YWluaW5nIG1ldGhvZHMgdXNlZCBmb3IgSURQIGF0dHJpYnV0ZSBtYXBwaW5nLgogKgogKiBUaHJvd3MgU0FNTDJFeGNlcHRpb246CiAqICAgICAgLSBvbiBmYWlsaW5nIHRvIG1hcCB0aGUgSURQIGF0dHJpYnV0ZXMuCiAqCiAqIFJldHVybiAtIGEgbGlzdCBvZiBTQU1MIEF0dHJpYnV0ZSAoMykgb2JqZWN0cy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU1NPVG9rZW4gLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL2NvbS9pcGxhbmV0L3Nzby9TU09Ub2tlbi5odG1sLgogKiAoMikgSWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaHRtbC4KICogKDMpIEF0dHJpYnV0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9hc3NlcnRpb24vQXR0cmlidXRlLmh0bWwuCiAqLwoKLyoqCiAqIERlZmF1bHQgU0FNTDIgSURQIEF0dHJpYnV0ZSBNYXBwZXIuCiAqLwpmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKCkgewogICAgdmFyIGZySmF2YSA9IEphdmFJbXBvcnRlcigKICAgICAgICBjb20uc3VuLmlkZW50aXR5LnNhbWwyLmNvbW1vbi5TQU1MMkV4Y2VwdGlvbgogICAgKTsKCiAgICBjb25zdCBkZWJ1Z01ldGhvZCA9ICJTY3JpcHRlZElEUEF0dHJpYnV0ZU1hcHBlci5nZXRBdHRyaWJ1dGVzOjogIjsKCiAgICB0cnkgewoKICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1Nlc3Npb25WYWxpZChzZXNzaW9uKSkgewogICAgICAgICAgICBsb2dnZXIuZXJyb3IoZGVidWdNZXRob2QgKyAiSW52YWxpZCBzZXNzaW9uLiIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0UmVtb3RlU1BDb25maWdBdHRyaWJ1dGVNYXAocmVhbG0sIHJlbW90ZUVudGl0eUlkKTsKICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJSZW1vdGUgU1AgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICBpZiAoY29uZmlnTWFwID09IG51bGwgfHwgY29uZmlnTWFwLmlzRW1wdHkoKSkgewogICAgICAgICAgICBjb25maWdNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0SG9zdGVkSURQQ29uZmlnQXR0cmlidXRlTWFwKHJlYWxtLCBob3N0ZWRFbnRpdHlJZCk7CiAgICAgICAgICAgIGlmIChjb25maWdNYXAgPT0gbnVsbCB8fCBjb25maWdNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJDb25maWd1cmF0aW9uIG1hcCBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZ2dlci5tZXNzYWdlKGRlYnVnTWV0aG9kICsgIkhvc3RlZCBJRFAgYXR0cmlidXRlIG1hcCA9IHt9IiwgY29uZmlnTWFwKTsKICAgICAgICB9CgogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3QoKTsKICAgICAgICB2YXIgc3RyaW5nVmFsdWVNYXAgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoKTsKICAgICAgICB2YXIgYmluYXJ5VmFsdWVNYXA7CiAgICAgICAgdmFyIGxvY2FsQXR0cmlidXRlOwoKICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmVhZCB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSBkYXRhc3RvcmUgaWYgdGhlIGlnbm9yZWQgcHJvZmlsZSBpcyBlbmFibGVkIGluIHRoaXMgcmVhbG0uCiAgICAgICAgaWYgKCFpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuaXNJZ25vcmVkUHJvZmlsZShzZXNzaW9uLCByZWFsbSkpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIC8vIFJlc29sdmUgYXR0cmlidXRlcyB0byBiZSByZWFkIGZyb20gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgIHZhciBzdHJpbmdBdHRyaWJ1dGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgYmluYXJ5QXR0cmlidXRlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICAgICAgICAgIHdoaWxlIChrZXlJdGVyLmhhc05leHQoKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlJdGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICBsb2NhbEF0dHJpYnV0ZSA9IGNvbmZpZ01hcC5nZXQoa2V5KTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc1N0YXRpY0F0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5pc0JpbmFyeUF0dHJpYnV0ZShsb2NhbEF0dHJpYnV0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIHRvIHRyZWF0IGFzIGJlaW5nIGJpbmFyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5QXR0cmlidXRlcy5hZGQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLnJlbW92ZUJpbmFyeUF0dHJpYnV0ZUZsYWcobG9jYWxBdHRyaWJ1dGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0F0dHJpYnV0ZXMuYWRkKGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ0F0dHJpYnV0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nVmFsdWVNYXAgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIuZ2V0QXR0cmlidXRlcyhzZXNzaW9uLCBzdHJpbmdBdHRyaWJ1dGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghYmluYXJ5QXR0cmlidXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBiaW5hcnlWYWx1ZU1hcCA9IGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5nZXRCaW5hcnlBdHRyaWJ1dGVzKHNlc3Npb24sIGJpbmFyeUF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGRlYnVnTWV0aG9kICsgIkVycm9yIGFjY2Vzc2luZyB0aGUgZGF0YXN0b3JlLiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgLy9jb250aW51ZSB0byBjaGVjayBpbiBzc290b2tlbi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGtleUl0ZXIgPSBjb25maWdNYXAua2V5U2V0KCkuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZSAoa2V5SXRlci5oYXNOZXh0KCkpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGtleUl0ZXIubmV4dCgpCiAgICAgICAgICAgIHZhciBuYW1lRm9ybWF0ID0gbnVsbDsKICAgICAgICAgICAgdmFyIHNhbWxBdHRyaWJ1dGUgPSBrZXk7CiAgICAgICAgICAgIGxvY2FsQXR0cmlidXRlID0gY29uZmlnTWFwLmdldChrZXkpOwogICAgICAgICAgICAvLyBjaGVjayBpZiBzYW1sQXR0cmlidXRlIGhhcyBmb3JtYXQgbmFtZUZvcm1hdHxzYW1sQXR0cmlidXRlCiAgICAgICAgICAgIHZhciBzYW1sQXR0cmlidXRlcyA9IFN0cmluZyhuZXcgamF2YS5sYW5nLlN0cmluZyhzYW1sQXR0cmlidXRlKSk7CiAgICAgICAgICAgIHZhciB0b2tlbnMgPSBzYW1sQXR0cmlidXRlcy5zcGxpdCgnfCcpOwoKICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBuYW1lRm9ybWF0ID0gdG9rZW5zWzBdOwogICAgICAgICAgICAgICAgc2FtbEF0dHJpYnV0ZSA9IHRva2Vuc1sxXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlcyA9IG5ldyBqYXZhLnV0aWwuSGFzaFNldCgpOwogICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzU3RhdGljQXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBzdGF0aWMgZmxhZyBiZWZvcmUgdXNpbmcgaXQgYXMgdGhlIHN0YXRpYyB2YWx1ZQogICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlU3RhdGljQXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoW2xvY2FsQXR0cmlidXRlXSk7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJBZGRpbmcgc3RhdGljIHZhbHVlIHt9IGZvciBhdHRyaWJ1dGUgbmFtZWQge30iLCBsb2NhbEF0dHJpYnV0ZSwgc2FtbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmlzQmluYXJ5QXR0cmlidXRlKGxvY2FsQXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmxhZyBhcyBub3QgdXNlZCBmb3IgbG9va3VwCiAgICAgICAgICAgICAgICAgICAgbG9jYWxBdHRyaWJ1dGUgPSBpZHBBdHRyaWJ1dGVNYXBwZXJTY3JpcHRIZWxwZXIucmVtb3ZlQmluYXJ5QXR0cmlidXRlRmxhZyhsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWVzID0gaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldEJpbmFyeUF0dHJpYnV0ZVZhbHVlcyhzYW1sQXR0cmlidXRlLCBsb2NhbEF0dHJpYnV0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5VmFsdWVNYXApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWVNYXAgIT0gbnVsbCAmJiAhc3RyaW5nVmFsdWVNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlcyA9IHN0cmluZ1ZhbHVlTWFwLmdldChsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoZGVidWdNZXRob2QgKyAie30gc3RyaW5nIHZhbHVlIG1hcCB3YXMgZW1wdHkgb3IgbnVsbC4iLCBsb2NhbEF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VycyBzc29Ub2tlbgogICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZVZhbHVlcyA9PSBudWxsIHx8IGF0dHJpYnV0ZVZhbHVlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJVc2VyIHByb2ZpbGUgZG9lcyBub3QgaGF2ZSB2YWx1ZSBmb3Ige30sIGNoZWNraW5nIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQoaWRwQXR0cmlidXRlTWFwcGVyU2NyaXB0SGVscGVyLmdldFByb3BlcnR5U2V0KHNlc3Npb24sIGxvY2FsQXR0cmlidXRlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZXMgPT0gbnVsbCB8fCBhdHRyaWJ1dGVWYWx1ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBsb2dnZXIubWVzc2FnZShkZWJ1Z01ldGhvZCArICJ7fSBub3QgZm91bmQgaW4gdXNlciBwcm9maWxlIG9yIFNTT1Rva2VuLiIsIGxvY2FsQXR0cmlidXRlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuYWRkKGlkcEF0dHJpYnV0ZU1hcHBlclNjcmlwdEhlbHBlci5jcmVhdGVTQU1MQXR0cmlidXRlKHNhbWxBdHRyaWJ1dGUsIG5hbWVGb3JtYXQsIGF0dHJpYnV0ZVZhbHVlcykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKCiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGxvZ2dlci5lcnJvcihkZWJ1Z01ldGhvZCArICJFcnJvciBtYXBwaW5nIElEUCBhdHRyaWJ1dGVzLiAiICsgZXJyb3IpOwogICAgICAgIHRocm93IG5ldyBmckphdmEuU0FNTDJFeGNlcHRpb24oZXJyb3IpOwogICAgfQp9CgpnZXRBdHRyaWJ1dGVzKCk7\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ATTRIBUTE_MAPPER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.045Z", - "time": 57, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 57 - } - }, - { - "_id": "314adfb3c1b8ba601a880bcd4515d2b6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1664, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"SaveLogin\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22SaveLogin%22" - }, - "response": { - "bodySize": 2987, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2987, - "text": "{\"result\":[{\"_id\":\"46074930-6a38-4e36-8985-1ed90b4bdb3b\",\"name\":\"SaveLogin\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgLy8gQ3JlYXRlIG5ldyBlbnRyeSB3aXRoIGRldmljZSBwcm9maWxlIGFuZCBkYXRlCiAgdmFyIHByb2ZpbGUgPSBzaGFyZWRTdGF0ZS5nZXQoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpOwogIHZhciBkYXRlID0gRGF0ZS5ub3coKQogIHZhciBpZGVudGlmaWVyID0gcHJvZmlsZS5nZXQoImlkZW50aWZpZXIiKQogIHZhciBwbGF0Zm9ybSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoInBsYXRmb3JtIikKICB2YXIgZGV2aWNlTmFtZSA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgicGxhdGZvcm0iKS5nZXQoImRldmljZU5hbWUiKQogIHZhciBsYXRpdHVkZSA9IHByb2ZpbGUuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKQogIHZhciBsb25naXR1ZGUgPSBwcm9maWxlLmdldCgibG9jYXRpb24iKS5nZXQoImxvbmdpdHVkZSIpCiAgdmFyIHVzZXJBZ2VudCA9IHByb2ZpbGUuZ2V0KCJtZXRhZGF0YSIpLmdldCgiYnJvd3NlciIpLmdldCgidXNlckFnZW50Iik7CiAgdmFyIGJyb3dzZXIgPSAiIgogIAogIC8vIFdvcmsgb3V0IHdoaWNoIGJyb3dzZXIgdGhpcyBpcwogIGlmICh1c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCJGSVJFRk9YIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJGaXJlZm94IjsKICB9IGVsc2UgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpID4gLTEgJiYgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgLy8gQ2hyb21lIGNhbiBzb21ldGltZXMgbGlzdCBDaHJvbWUgZm9sbG93ZWQgYnkgU2FmYXJpIGluIHVzZXJBZ2VudAogICAgaWYgKHVzZXJBZ2VudC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkNIUk9NRSIpIDwgdXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikpIHsKICAgICAgYnJvd3NlciA9ICJDaHJvbWUiOwogICAgfQogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiQ0hST01FIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJDaHJvbWUiOwogIH0gZWxzZSBpZiAodXNlckFnZW50LnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiU0FGQVJJIikgPiAtMSkgewogICAgYnJvd3NlciA9ICJTYWZhcmkiOwogIH0KICAKICB2YXIgZW50cnkgPSB7CiAgICAiZGF0ZSI6IERhdGUoKS50b1N0cmluZygpLAogICAgImxhc3RTZWxlY3RlZERhdGUiOiBkYXRlLAogICAgImRldmljZSI6IHsKICAgICAgImlkZW50aWZpZXIiOiBTdHJpbmcoaWRlbnRpZmllciksCiAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAicGxhdGZvcm0iOiB7CiAgICAgICAgICAicGxhdGZvcm0iOiBTdHJpbmcocGxhdGZvcm0pLAogICAgICAgICAgImRldmljZU5hbWUiOiBTdHJpbmcoZGV2aWNlTmFtZSkKICAgICAgICB9LAogICAgICAgICJicm93c2VyIjogYnJvd3NlcgogICAgICB9CiAgICB9LAogICAgImxvY2F0aW9uIjogewogICAgICAibGF0aXR1ZGUiOiBTdHJpbmcobGF0aXR1ZGUpLAogICAgICAibG9uZ2l0dWRlIjogU3RyaW5nKGxvbmdpdHVkZSkKICAgIH0KICB9CiAgCiAgLy8gQWRkIGVudHJ5IHRvIG11bHRpIHZhbHVlCiAgdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKQogIHZhciBhdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkxIgogIGlkUmVwb3NpdG9yeS5hZGRBdHRyaWJ1dGUodXNlcm5hbWUsIGF0dHJpYnV0ZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTsKICAKICBvdXRjb21lID0gInRydWUiCn0=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2987" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.106Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "36cf1b4232865b8ec590209687e762ee", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1703, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha endUserUIClient OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20endUserUIClient%20OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41559, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41559, - "text": "{\"result\":[{\"_id\":\"e1db8a0a-0329-4962-a5bf-ecffaca376ae\",\"name\":\"Alpha endUserUIClient OIDC Claims Script\",\"description\":\"Used by endUserUIClient\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.164Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "1e5d993ae7967c35c67920283d9c1839", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1659, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"mode\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22mode%22" - }, - "response": { - "bodySize": 2093, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 2093, - "text": "{\"result\":[{\"_id\":\"5bbdaeff-ddee-44b9-b608-8d413d7d65a6\",\"name\":\"mode\",\"description\":\"Check if mode has already been set.\",\"script\":\"LyogbW9kZQogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBDb2xsZWN0IG1vZGUgaWYgbm90IGFscmVhZHkgc2V0IGFuZCBzZXQgb3V0Y29tZSB0byBtb2RlLgogKiAKICogVGhpcyBzY3JpcHQgZG9lcyBub3QgbmVlZCB0byBiZSBwYXJhbWV0cml6ZWQuIEl0IHdpbGwgd29yayBwcm9wZXJseSBhcyBpcy4KICogCiAqIFRoZSBTY3JpcHRlZCBEZWNpc2lvbiBOb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgb3V0Y29tZXMgZGVmaW5lZDoKICogLSAnc2hhcmVkIGFuZCBsZXZlbCcKICogLSAnc2hhcmVkIG9ubHknCiAqIC0gJ2xldmVsIG9ubHknCiAqIC0gJ25vbmUnCiAqLwooZnVuY3Rpb24gKCkgewogIHZhciBtb2RlID0gbm9kZVN0YXRlLmdldCgnbW9kZScpOwogIGlmIChtb2RlKSB7CiAgICBvdXRjb21lID0gbW9kZS5hc1N0cmluZygpOwogICAgdmFyIGxldmVsID0gbm9kZVN0YXRlLmdldCgnbGV2ZWwnKS5hc0ludGVnZXIoKSArIDE7CiAgICBsb2dnZXIuZXJyb3IoJ21vZGU6IG1vZGU9JyArIG1vZGUuYXNTdHJpbmcoKSArICcsIGxldmVsPScgKyBsZXZlbCk7CiAgICBzaGFyZWRTdGF0ZS5wdXQoJ2xldmVsJywgbGV2ZWwpOwogIH0KICBlbHNlIHsKICAgIHZhciBjaG9pY2VzID0gWydzaGFyZWQgYW5kIGxldmVsJywgJ3NoYXJlZCBvbmx5JywgJ2xldmVsIG9ubHknLCAnbm9uZSddOwogIAogICAgdmFyIGZyID0gSmF2YUltcG9ydGVyKAogICAgICBvcmcuZm9yZ2Vyb2NrLm9wZW5hbS5hdXRoLm5vZGUuYXBpLkFjdGlvbiwKICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5DaG9pY2VDYWxsYmFjawogICAgKQoKICAgIGlmIChjYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5zZW5kKFsKICAgICAgICBuZXcgZnIuQ2hvaWNlQ2FsbGJhY2soJ0Nob29zZSB0ZXN0IG1vZGUnLCBjaG9pY2VzLCAwLCBmYWxzZSkKICAgICAgXSkuYnVpbGQoKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBjaG9pY2UgPSBwYXJzZUludChjYWxsYmFja3MuZ2V0KDApLmdldFNlbGVjdGVkSW5kZXhlcygpWzBdKTsKICAgICAgbm9kZVN0YXRlLnB1dFNoYXJlZCgnbW9kZScsIGNob2ljZXNbY2hvaWNlXSk7CiAgICAgIG5vZGVTdGF0ZS5wdXRTaGFyZWQoJ2xldmVsJywgMCk7CiAgICAgIGFjdGlvbiA9IGZyLkFjdGlvbi5nb1RvKGNob2ljZXNbY2hvaWNlXSkuYnVpbGQoKTsKICAgIH0KICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "2093" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.224Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "0ef369f427baa872ca4ee159a6fe7dc7", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"UOP Enrich Session\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22UOP%20Enrich%20Session%22" - }, - "response": { - "bodySize": 1914, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1914, - "text": "{\"result\":[{\"_id\":\"743351b3-001a-4ec8-b3ac-a674ddb8de22\",\"name\":\"UOP Enrich Session\",\"description\":\"Enrich user session with UOP class ID.\",\"script\":\"LyogVU9QIEVucmljaCBTZXNzaW9uCiAqCiAqIEF1dGhvcjogdm9sa2VyLnNjaGV1YmVyQGZvcmdlcm9jay5jb20KICogCiAqIEFkZCBjdXJyZW50IGNsYXNzIElEIHRvIHVzZXIgc2Vzc2lvbi4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuIAogKiBJdCByZXF1aXJlcyB0aGUgSWRlbnRpZnkgRXhpc3RpbmcgVXNlciBub2RlIGJlZm9yZSBpdCBpcyBiZWluZyBjYWxsZWQuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKiAtIGZhbHNlCiAqLwpsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBzdGFydCIpOwpvdXRjb21lID0gImZhbHNlIjsKCmlmIChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpIHsKICAgIG91dGNvbWUgPSAidHJ1ZSI7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBnb2luZyB0byBlbnJpY2ggc2Vzc2lvbiB3aXRoIGNsYXNzIGlkOiAiLmNvbmNhdChzaGFyZWRTdGF0ZS5nZXQoInVvcEN1cnJlbnRDbGFzc0lEIikpKTsKICAKICAgIHZhciBmciA9IEphdmFJbXBvcnRlcigKICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaQogICAgKTsKCiAgICB3aXRoIChmcikgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJVT1AgRW5yaWNoIFNlc3Npb246IEVuZCAob3V0Y29tZT0iLmNvbmNhdChvdXRjb21lKS5jb25jYXQoIikiKSk7CiAgICAgICAgYWN0aW9uID0gQWN0aW9uLmdvVG8ob3V0Y29tZSkucHV0U2Vzc2lvblByb3BlcnR5KCJVT1BDbGFzc0lEIiwgc2hhcmVkU3RhdGUuZ2V0KCJ1b3BDdXJyZW50Q2xhc3NJRCIpKS5idWlsZCgpOwogICAgfQogIAp9IGVsc2UgewogICAgbG9nZ2VyLmVycm9yKCJVT1AgRW5yaWNoIFNlc3Npb246IG5vIGNsYXNzZXMhIik7CiAgICBsb2dnZXIud2FybmluZygiVU9QIEVucmljaCBTZXNzaW9uOiBFbmQgKG91dGNvbWU9Ii5jb25jYXQob3V0Y29tZSkuY29uY2F0KCIpIikpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1914" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.281Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "3137a01335cedaf6a0d12265a00efda2", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1692, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Saml2 IDP Adapter Always Auth\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Saml2%20IDP%20Adapter%20Always%20Auth%22" - }, - "response": { - "bodySize": 7583, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 7583, - "text": "{\"result\":[{\"_id\":\"85523e71-2d77-4577-b078-6f9674cc54e2\",\"name\":\"Saml2 IDP Adapter Always Auth\",\"description\":\"Always redirect browser pre-auth\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGUgc2NyaXB0IGhhcyB0aGVzZSB0b3AgbGV2ZWwgZnVuY3Rpb25zIHRoYXQgY291bGQgYmUgZXhlY3V0ZWQgZHVyaW5nIGEgU0FNTDIgZmxvdy4KICogICAgICAtIHByZVNpbmdsZVNpZ25PbgogKiAgICAgIC0gcHJlQXV0aGVudGljYXRpb24KICogICAgICAtIHByZVNlbmRSZXNwb25zZQogKiAgICAgIC0gcHJlU2lnblJlc3BvbnNlCiAqICAgICAgLSBwcmVTZW5kRmFpbHVyZVJlc3BvbnNlCiAqCiAqIFBsZWFzZSBzZWUgdGhlIGphdmFkb2MgZm9yIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBhbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtZXRob2RzLgogKiBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4yL2FwaWRvY3MvY29tL3N1bi9pZGVudGl0eS9zYW1sMi9wbHVnaW5zL1NBTUwySWRlbnRpdHlQcm92aWRlckFkYXB0ZXIuaHRtbAogKiBOb3RlIHRoYXQgdGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNjcmlwdHMuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzLiBDaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgZm9yIHRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGl0LgogKgogKiBob3N0ZWRFbnRpdHlJZCAtIFN0cmluZwogKiAgICAgRW50aXR5IElEIGZvciB0aGUgaG9zdGVkIElEUAogKiByZWFsbSAtIFN0cmluZwogKiAgICAgUmVhbG0gb2YgdGhlIGhvc3RlZCBJRFAKICogaWRwQWRhcHRlclNjcmlwdEhlbHBlciAtIElkcEFkYXB0ZXJTY3JpcHRIZWxwZXIgKDEpCiAqICAgICBBbiBpbnN0YW5jZSBvZiBJZHBBZGFwdGVyU2NyaXB0SGVscGVyIGNvbnRhaW5pbmcgaGVscGVyIG1ldGhvZHMuIFNlZSBKYXZhZG9jIGZvciBtb3JlIGRldGFpbHMuCiAqIHJlcXVlc3QgLSBIdHRwU2VydmxldFJlcXVlc3QgKDIpCiAqICAgICBTZXJ2bGV0IHJlcXVlc3Qgb2JqZWN0CiAqIHJlc3BvbnNlIC0gSHR0cFNlcnZsZXRSZXNwb25zZSAoMykKICogICAgIFNlcnZsZXQgcmVzcG9uc2Ugb2JqZWN0CiAqIGF1dGhuUmVxdWVzdCAtIEF1dGhuUmVxdWVzdCAoNCkKICogICAgIFRoZSBvcmlnaW5hbCBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHNlbnQgZnJvbSBTUAogKiByZXFJZCAtIFN0cmluZwogKiAgICAgVGhlIGlkIHRvIHVzZSBmb3IgY29udGludWF0aW9uIG9mIHByb2Nlc3NpbmcgaWYgdGhlIGFkYXB0ZXIgcmVkaXJlY3RzCiAqIHJlcyAtIFJlc3BvbnNlICg1KQogKiAgICAgVGhlIFNBTUwgUmVzcG9uc2UKICogc2Vzc2lvbiAtIFNTT1Rva2VuICg2KQogKiAgICAgVGhlIHNpbmdsZSBzaWduLW9uIHNlc3Npb24uIFRoZSByZWZlcmVuY2UgdHlwZSBvZiB0aGlzIGlzIE9iamVjdCBhbmQgd291bGQgbmVlZCB0byBiZSBjYXN0ZWQgdG8gU1NPVG9rZW4uCiAqIHJlbGF5U3RhdGUgLSBTdHJpbmcKICogICAgIFRoZSByZWxheVN0YXRlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZWRpcmVjdAogKiBmYXVsdENvZGUgLSBTdHJpbmcKICogICAgIHRoZSBmYXVsdCBjb2RlIHRoYXQgd2lsbCBiZSByZXR1cm5lZCBpbiB0aGUgU0FNTCByZXNwb25zZQogKiBmYXVsdERldGFpbCAtIFN0cmluZwogKiAgICAgdGhlIGZhdWx0IGRldGFpbCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgaW4gdGhlIFNBTUwgcmVzcG9uc2UKICogbG9nZ2VyIC0gTG9nZ2VyIGluc3RhbmNlCiAqICAgICBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9zY3JpcHRpbmctZ3VpZGUvc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLmh0bWwjc2NyaXB0aW5nLWFwaS1nbG9iYWwtbG9nZ2VyLgogKiAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLjxzY3JpcHQgbmFtZT4KICoKICogVGhyb3dzIFNBTUwyRXhjZXB0aW9uICg3KToKICogICAgIGZvciBhbnkgZXhjZXB0aW9ucyBvY2N1cnJpbmcgaW4gdGhlIGFkYXB0ZXIuIFRoZSBmZWRlcmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51ZQogKgogKiBDbGFzcyByZWZlcmVuY2U6CiAqICgxKSBpZHBBZGFwdGVyU2NyaXB0SGVscGVyIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcGx1Z2lucy9zY3JpcHRlZC9JZHBBZGFwdGVyU2NyaXB0SGVscGVyLmh0bWwuCiAqICgyKSBIdHRwU2VydmxldFJlcXVlc3QgLSBodHRwczovL3RvbWNhdC5hcGFjaGUub3JnL3RvbWNhdC03LjAtZG9jL3NlcnZsZXRhcGkvamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdC5odG1sLgogKiAoMykgSHR0cFNlcnZsZXRSZXNwb25zZSAtIGh0dHBzOi8vdG9tY2F0LmFwYWNoZS5vcmcvdG9tY2F0LTcuMC1kb2Mvc2VydmxldGFwaS9qYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZS5odG1sLgogKiAoNCkgQXV0aG5SZXF1ZXN0IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvcHJvdG9jb2wvQXV0aG5SZXF1ZXN0Lmh0bWwuCiAqICg1KSBSZXNwb25zZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L3NhbWwyL3Byb3RvY29sL1Jlc3BvbnNlLmh0bWwuCiAqICg2KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjIvYXBpZG9jcy9jb20vaXBsYW5ldC9zc28vU1NPVG9rZW4uaHRtbC4KICogKDcpIFNBTUwyRXhjZXB0aW9uIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcuMi9hcGlkb2NzL2NvbS9zdW4vaWRlbnRpdHkvc2FtbDIvY29tbW9uL1NBTUwyRXhjZXB0aW9uLmh0bWwuCiAqLwoKLyoKICogVGVtcGxhdGUvZGVmYXVsdCBzY3JpcHQgZm9yIFNBTUwyIElEUCBBZGFwdGVyIHNjcmlwdGVkIHBsdWdpbi4KICovCgovKgogKiBBdmFpbGFibGUgdmFyaWFibGVzIGZvciBwcmVTaW5nbGVTaWduT246CiAqICAgICBob3N0ZWRFbnRpdHlJZAogKiAgICAgcmVhbG0KICogICAgIGlkcEFkYXB0ZXJTY3JpcHRIZWxwZXIKICogICAgIHJlcXVlc3QKICogICAgIGF1dGhuUmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIHJlcUlkCiAqICAgICBsb2dnZXIKICoKICogUmV0dXJuIC0gdHJ1ZSBpZiBicm93c2VyIHJlZGlyZWN0aW9uIGlzIGhhcHBlbmluZyBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTaW5nbGVTaWduT24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNpbmdsZVNpZ25PbiIpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZUF1dGhlbnRpY2F0aW9uOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBpcyBoYXBwZW5pbmcgYWZ0ZXIgcHJvY2Vzc2luZywgZmFsc2Ugb3RoZXJ3aXNlLiBEZWZhdWx0IHRvIGZhbHNlLgogKi8KZnVuY3Rpb24gcHJlQXV0aGVudGljYXRpb24gKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZUF1dGhlbnRpY2F0aW9uIik7CiAgICByZXR1cm4gdHJ1ZTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZFJlc3BvbnNlOgogKiAgICAgaG9zdGVkRW50aXR5SWQKICogICAgIHJlYWxtCiAqICAgICBpZHBBZGFwdGVyU2NyaXB0SGVscGVyCiAqICAgICByZXF1ZXN0CiAqICAgICBhdXRoblJlcXVlc3QKICogICAgIHJlc3BvbnNlCiAqICAgICByZXFJZAogKiAgICAgc2Vzc2lvbgogKiAgICAgcmVsYXlTdGF0ZQogKiAgICAgbG9nZ2VyCiAqCiAqIFJldHVybiAtIHRydWUgaWYgYnJvd3NlciByZWRpcmVjdGlvbiBoYXBwZW5lZCBhZnRlciBwcm9jZXNzaW5nLCBmYWxzZSBvdGhlcndpc2UuIERlZmF1bHQgdG8gZmFsc2UuCiAqLwpmdW5jdGlvbiBwcmVTZW5kUmVzcG9uc2UgKCkgewogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IHByZVNlbmRSZXNwb25zZSIpOwogICAgICBsb2dnZXIuZXJyb3IoIkNoaWNhZ286IGF1dGhuUmVxdWVzdDogIithdXRoblJlcXVlc3QpOwogICAgICByZXNwb25zZS5zZW5kUmVkaXJlY3QoImh0dHBzOi8vaWRjLnNjaGV1YmVyLmlvL2FtL1hVSS8/cmVhbG09YWxwaGEmYXV0aEluZGV4VHlwZT1zZXJ2aWNlJmF1dGhJbmRleFZhbHVlPURpc3BhdGNoZXImRm9yY2VBdXRoPXRydWUmZ290bz0iK3JlbGF5U3RhdGUpOwogICAgcmV0dXJuIHRydWU7Cn0KCi8qCiAqIEF2YWlsYWJsZSB2YXJpYWJsZXMgZm9yIHByZVNpZ25SZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgYXV0aG5SZXF1ZXN0CiAqICAgICBzZXNzaW9uCiAqICAgICByZWxheVN0YXRlCiAqICAgICByZXMKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2lnblJlc3BvbnNlICgpIHsKICAgICAgbG9nZ2VyLmVycm9yKCJDaGljYWdvOiBwcmVTaWduUmVzcG9uc2UiKTsKfQoKLyoKICogQXZhaWxhYmxlIHZhcmlhYmxlcyBmb3IgcHJlU2VuZEZhaWx1cmVSZXNwb25zZToKICogICAgIGhvc3RlZEVudGl0eUlkCiAqICAgICByZWFsbQogKiAgICAgaWRwQWRhcHRlclNjcmlwdEhlbHBlcgogKiAgICAgcmVxdWVzdAogKiAgICAgcmVzcG9uc2UKICogICAgIGZhdWx0Q29kZQogKiAgICAgZmF1bHREZXRhaWwKICogICAgIGxvZ2dlcgogKi8KZnVuY3Rpb24gcHJlU2VuZEZhaWx1cmVSZXNwb25zZSAoKSB7CiAgICAgIGxvZ2dlci5lcnJvcigiQ2hpY2FnbzogcHJlU2VuZEZhaWx1cmVSZXNwb25zZSIpOwp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"SAML2_IDP_ADAPTER\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "7583" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.340Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "94adfa06e33c4effe46def70f02b0ac3", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"EmailAsUsername\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22EmailAsUsername%22" - }, - "response": { - "bodySize": 925, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 925, - "text": "{\"result\":[{\"_id\":\"e5c302c8-f838-4698-87cc-d7225fc82454\",\"name\":\"EmailAsUsername\",\"description\":\"null\",\"script\":\"b2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpCnVzZXJOYW1lID0gb2JqZWN0QXR0cmlidXRlcy5nZXQoInVzZXJOYW1lIikKCmlmKHVzZXJOYW1lKXsKICAvL0Zvcm0gRmlsbAogIG9iamVjdEF0dHJpYnV0ZXMucHV0KCJtYWlsIiwgdXNlck5hbWUpCn0gZWxzZSB7CiAgLy9Tb2NpYWwKICBvYmplY3RBdHRyaWJ1dGVzLnB1dCgidXNlck5hbWUiLCBvYmplY3RBdHRyaWJ1dGVzLmdldCgibWFpbCIpKQp9CgoKc2hhcmVkU3RhdGUucHV0KCJvYmplY3RBdHRyaWJ1dGVzIiwgb2JqZWN0QXR0cmlidXRlcyk7Ci8vc2hhcmVkU3RhdGUucHV0KCJ1c2VybmFtZSIsIG1haWwpCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "925" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.397Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "94b6f5831f71f65277b35a24d9930465", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1672, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Format Username\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Format%20Username%22" - }, - "response": { - "bodySize": 577, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 577, - "text": "{\"result\":[{\"_id\":\"223739f3-9c54-43b7-9572-3c5338786145\",\"name\":\"Format Username\",\"description\":\"null\",\"script\":\"dmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpOwoKc2hhcmVkU3RhdGUucHV0KCJkaXNwbGF5TmFtZSIsIHVzZXJuYW1lKTsKb3V0Y29tZSA9ICJjb250aW51ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "577" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.454Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "5815d86994223e9f331ece096e7b80d0", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"My Example Library\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22My%20Example%20Library%22" - }, - "response": { - "bodySize": 864, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 864, - "text": "{\"result\":[{\"_id\":\"2c38c998-aec0-4e56-8d46-bff6e24a704e\",\"name\":\"My Example Library\",\"description\":\"My Example Library\",\"script\":\"dmFyIGkgPSAwOwoKZnVuY3Rpb24gYWRkKGopIHtpICs9IGp9OwpmdW5jdGlvbiBsb2dUb3RhbChsb2cpIHsgbG9nLmluZm8oIlRvdGFsOiAiICsgaSkgfTsKCi8vIGV4cG9ydCBjb25zdGFudApleHBvcnRzLk1TRyA9ICdGaW5hbCBzdW0nOwoKLy8gZXhwb3J0IGZ1bmN0aW9ucwpleHBvcnRzLmFkZCA9IGFkZDsKZXhwb3J0cy5sb2dUb3RhbCA9IGxvZ1RvdGFsOwoKLy9kaXJlY3QgZXhwb3J0IHVzaW5nIGFuIGlubGluZSBkZWNsYXJhdGlvbgpleHBvcnRzLmxvZ1RvdGFsV2l0aE1lc3NhZ2UgPSAobG9nLCBtZXNzYWdlKSA9PiBsb2cuaW5mbyhtZXNzYWdlICsgIjogIiArIGkpOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "864" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.511Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "485f6b9ace3f0b78fc8fab7ff58f08f6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Impossible Traveller\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Impossible%20Traveller%22" - }, - "response": { - "bodySize": 3466, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3466, - "text": "{\"result\":[{\"_id\":\"d030f9fb-6d2d-4f5a-834d-b4f6304b8eb9\",\"name\":\"Impossible Traveller\",\"description\":\"null\",\"script\":\"Ly8gR2VvVmVsb2NpdHkgLyBJbXBvc3NpYmxlIEpvdXJuZXkgYXV0aGVudGljYXRpb24gc2NyaXB0Ci8vCi8vIE91dGNvbWVzIGZvciB0aGlzIHNjcmlwdCBhcmU6Ci8vICAgICAibm9Mb2NhdGlvbiIgLSB0aGUgZGV2aWNlJ3MgY3VycmVudCBsb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHNoYXJlZFN0YXRlCi8vICAgICAibm9IaXN0b3J5IiAgLSB0aGUgdXNlcidzIHByb2ZpbGUgZG9lc24ndCB5ZXQgY29udGFpbiBwcmV2aW91cyBkZXZpY2UgaGlzdG9yeQovLyAgICAgIm9rIiAgICAgICAgIC0gdGhlIHVzZXIncyBnZW92ZWxvY2l0eSBpcyBsb3dlciB0aGFuIHRoZSBtYXggYWNjZXB0YWJsZSBzcGVlZAovLyAgICAgICAiaW1wb3NzaWJsZSIgLSB0aGUgdXNlcidzIGdlb3ZlbG9jaXR5IGV4Y2VlZHMgbWF4IGFjY2VwdGFibGUgc3BlZWQKTUFYX1ZFTE9DSVRZPTMwMApmdW5jdGlvbiBjYWxjdWxhdGVEaXN0YW5jZShmaXJzdCwgc2Vjb25kKSB7CiAgICB2YXIgZmFjdG9yID0gKE1hdGguUEkgLyAxODApLAogICAgICAgIHRoZXRhLAogICAgICAgIGRpc3Q7CiAgICBmdW5jdGlvbiBkZWdyZWVzVG9SYWRpYW5zKGRlZ3JlZXMpIHsKICAgICAgICByZXR1cm4gZGVncmVlcyAqIGZhY3RvcjsKICAgIH0KICAgIGZ1bmN0aW9uIHJhZGlhbnNUb0RlZ3JlZXMocmFkaWFucykgewogICAgICAgIHJldHVybiByYWRpYW5zIC8gZmFjdG9yOwogICAgfQogICAgdGhldGEgPSBmaXJzdC5sb25naXR1ZGUgLSBzZWNvbmQubG9uZ2l0dWRlOwogICAgZGlzdCA9IE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguc2luKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKwogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoZmlyc3QubGF0aXR1ZGUpKSAqIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnMoc2Vjb25kLmxhdGl0dWRlKSkgKgogICAgICAgIE1hdGguY29zKGRlZ3JlZXNUb1JhZGlhbnModGhldGEpKTsKICAgIGRpc3QgPSBNYXRoLmFjb3MoZGlzdCk7CiAgICBkaXN0ID0gcmFkaWFuc1RvRGVncmVlcyhkaXN0KTsKICAgIGRpc3QgPSBkaXN0ICogNjAgKiAxLjE1MTU7CiAgICByZXR1cm4gZGlzdDsKfTsKdmFyIHVzZXJuYW1lID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKLy9kZXZpY2VzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZSh1c2VybmFtZSwgImRldmljZVByb2ZpbGVzIikudG9BcnJheSgpOwpsb2dpbkhpc3RvcnkgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKHVzZXJuYW1lLCAiZnItYXR0ci1pbXVsdGkxIikudG9BcnJheSgpOwppZiAobG9naW5IaXN0b3J5Lmxlbmd0aCA9PSAwKSBvdXRjb21lID0gIm5vSGlzdG9yeSI7CmVsc2UgewogICAgICBvdXRjb21lID0gIm5vTG9jYXRpb24iOwogICAgICBpZiAoc2hhcmVkU3RhdGUuY29udGFpbnNLZXkoImZvcmdlUm9jay5kZXZpY2UucHJvZmlsZSIpICYmIHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIikuY29udGFpbnNLZXkoImxvY2F0aW9uIikpIHsKICAgICAgICB2YXIgdGhpc0RldmljZSA9IHNoYXJlZFN0YXRlLmdldCgiZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlIik7CiAgICAgICAgICBvdXRjb21lID0gIm9rIjsKICAgICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpCiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxvZ2luSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciBlbnRyeSA9IEpTT04ucGFyc2UobG9naW5IaXN0b3J5W2ldKTsKICAgICAgICAgICAgICB2YXIgbGFzdFNlbGVjdGVkRGF0ZSA9IGVudHJ5WyJsYXN0U2VsZWN0ZWREYXRlIl07CiAgICAgICAgICAgICAgdmFyIGxhc3RMb2NhdGlvbiA9IGVudHJ5WyJsb2NhdGlvbiJdOwogICAgICAgICAgICAgIHZhciB0aW1lRGlmZiA9IG5vdyAtIHBhcnNlSW50KGxhc3RTZWxlY3RlZERhdGUpOwogICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBjYWxjdWxhdGVEaXN0YW5jZSh7ICJsYXRpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibGF0aXR1ZGUiKSwgImxvbmdpdHVkZSI6IHRoaXNEZXZpY2UuZ2V0KCJsb2NhdGlvbiIpLmdldCgibG9uZ2l0dWRlIikgfSwgbGFzdExvY2F0aW9uKTsKICAgICAgICAgICAgICB2ZWxvY2l0eSA9IGRpc3RhbmNlIC8gKHRpbWVEaWZmIC8gMzYwMDAwMCk7CiAgICAgICAgICAgICAgaWYgKHZlbG9jaXR5ID4gTUFYX1ZFTE9DSVRZKSBvdXRjb21lID0gImltcG9zc2libGUiOwogICAgICAgIH0KICAgIH0KfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3466" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.565Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "65ed6dc43f368c735b1a0551b4cc17da", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Alpha OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Alpha%20OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41562, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41562, - "text": "{\"result\":[{\"_id\":\"cf3515f0-8278-4ee3-a530-1bad7424c416\",\"name\":\"Alpha OIDC Claims Script\",\"description\":\"Default alpha realm script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.622Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "a66d8fba03800d3791c7f6cfc04cbcc5", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1688, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Save Mobile OATH Preference\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Save%20Mobile%20OATH%20Preference%22" - }, - "response": { - "bodySize": 813, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 813, - "text": "{\"result\":[{\"_id\":\"0ca79cb0-ea11-4e87-adac-7f8aeebc8c03\",\"name\":\"Save Mobile OATH Preference\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIG1mYVByZWZBdHRyaWJ1dGUgPSAiZnItYXR0ci1pbXVsdGkyIgogIHZhciBtZmFUeXBlID0gIiI7CiAgCiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZSh1c2VybmFtZSwgbWZhUHJlZkF0dHJpYnV0ZSwgWyJvYXRoIl0pOwogIAogIG91dGNvbWUgPSAidHJ1ZSIKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "813" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.681Z", - "time": 50, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 50 - } - }, - { - "_id": "bb0185bbe618edf37b3b81573659c176", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1676, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Set New Favourite\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Set%20New%20Favourite%22" - }, - "response": { - "bodySize": 1811, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1811, - "text": "{\"result\":[{\"_id\":\"e3b1018f-1b2e-4e96-9950-087bdfa13d6d\",\"name\":\"Set New Favourite\",\"description\":\"null\",\"script\":\"ZnVuY3Rpb24gZ2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSkgewogIHZhciBpZCA9IHNoYXJlZFN0YXRlLmdldCgnX2lkJyk7CiAgdmFyIGZySWRtQ3VzdG9tQXR0cmlidXRlcyA9IGlkUmVwb3NpdG9yeS5nZXRBdHRyaWJ1dGUoaWQsICdmci1pZG0tY3VzdG9tLWF0dHJzJyk7CiAgaWYgKGZySWRtQ3VzdG9tQXR0cmlidXRlcykgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQoKZnVuY3Rpb24gc2V0Q3VzdG9tQXR0clZhbHVlIChjdXN0b21BdHRyTmFtZSxjdXN0b21BdHRyVmFsdWUpIHsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpIHsKICAgIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3QgPSBKU09OLnBhcnNlKFN0cmluZyhmcklkbUN1c3RvbUF0dHJpYnV0ZXMudG9BcnJheSgpWzBdKSk7CiAgICBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdID0gY3VzdG9tQXR0clZhbHVlOwogICAgdmFyIGpzb25fc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0KTsKICAgIGlkUmVwb3NpdG9yeS5zZXRBdHRyaWJ1dGUoaWQsICJmci1pZG0tY3VzdG9tLWF0dHJzIixbanNvbl9zdHJpbmddKTsKICB9Cn0KCnZhciBhdHRyID0gZ2V0Q3VzdG9tQXR0clZhbHVlKCJjdXN0b21fZmF2b3VyaXRlRmFjdG9yIik7CmlmICghYXR0cil7CnNldEN1c3RvbUF0dHJWYWx1ZSAoImN1c3RvbV9mYXZvdXJpdGVGYWN0b3IiLCJXZWJBdXRoTiIpOwp9CgoKCm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1811" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:28 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.735Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "343bec8da4c8829e19f0445d0c0c21af", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1689, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OAuth2 Validate Scope Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20Validate%20Scope%20Script%22" - }, - "response": { - "bodySize": 4642, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4642, - "text": "{\"result\":[{\"_id\":\"25e6c06d-cf70-473b-bd28-26931edc476b\",\"name\":\"OAuth2 Validate Scope Script\",\"description\":\"Default global script for OAuth2 Scope Validation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoKICogVGhpcyBzY3JpcHQgdmFsaWRhdGVzIHRoZSByZXF1ZXN0ZWQgc2NvcGVzIGFnYWluc3QgdGhlIGFsbG93ZWQgc2NvcGVzLgogKiBJZiBubyBzY29wZXMgYXJlIHJlcXVlc3RlZCwgZGVmYXVsdCBzY29wZXMgYXJlIGFzc3VtZWQuCiAqIFRoZSBzY3JpcHQgaGFzIGZvdXIgdG9wIGxldmVsIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZGlmZmVyZW50IE9BdXRoMiBmbG93czoKICogICAgICAtIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlCiAqICAgICAgLSB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUKICogICAgICAtIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUKICoKICogRGVmaW5lZCB2YXJpYWJsZXM6CiAqIHJlcXVlc3RlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgVGhlIHNldCBvZiByZXF1ZXN0ZWQgc2NvcGVzLgogKiBkZWZhdWx0U2NvcGVzIC0gU2V0PFN0cmluZz4gKDEpLgogKiAgICAgICAgICAgICAgICAgVGhlIHNldCBvZiBkZWZhdWx0IHNjb3Blcy4KICogYWxsb3dlZFNjb3BlcyAtIFNldDxTdHJpbmc+ICgxKS4KICogICAgICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBzY29wZXMuCiAqIHNjcmlwdE5hbWUgLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0LgogKiBsb2dnZXIgLSBBbHdheXMgcHJlc2VudCwgdGhlIGRlYnVnIGxvZ2dlciBpbnN0YW5jZToKICogICAgICAgICAgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogICAgICAgICAgQ29ycmVzcG9uZGluZyBsb2cgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9BVVRIMl9WQUxJREFURV9TQ09QRQogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDIpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKgogKiBUaHJvd3MgSW52YWxpZFNjb3BlRXhjZXB0aW9uOgogKiAgICAgIC0gaWYgdGhlcmUgYXJlIG5vIHNjb3BlcyByZXF1ZXN0ZWQgYW5kIGRlZmF1bHQgc2NvcGVzIGFyZSBlbXB0eQogKiAgICAgIC0gaWYgYSByZXF1ZXN0ZWQgc2NvcGUgaXMgbm90IGFsbG93ZWQKICoKICogUmV0dXJuIC0gYSBTZXQ8U3RyaW5nPiBvZiB2YWxpZGF0ZWQgc2NvcGVzICgxKS4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICgyKSBDbGllbnQgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svaHR0cC9DbGllbnQuaHRtbC4KICovCgovKioKICogRGVmYXVsdCB2YWxpZGF0ZSBzY29wZSBzY3JpcHQuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZVNjb3BlcyAoKSB7CiAgICB2YXIgZnJKYXZhID0gSmF2YUltcG9ydGVyKAogICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkU2NvcGVFeGNlcHRpb24KICAgICk7CgogICAgdmFyIHNjb3BlczsKICAgIGlmIChyZXF1ZXN0ZWRTY29wZXMgPT0gbnVsbCB8fCByZXF1ZXN0ZWRTY29wZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgc2NvcGVzID0gZGVmYXVsdFNjb3BlczsKICAgIH0gZWxzZSB7CiAgICAgICAgc2NvcGVzID0gbmV3IGphdmEudXRpbC5IYXNoU2V0KGFsbG93ZWRTY29wZXMpOwogICAgICAgIHNjb3Blcy5yZXRhaW5BbGwocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICBpZiAocmVxdWVzdGVkU2NvcGVzLnNpemUoKSA+IHNjb3Blcy5zaXplKCkpIHsKICAgICAgICAgICAgdmFyIGludmFsaWRTY29wZXMgPSBuZXcgamF2YS51dGlsLkhhc2hTZXQocmVxdWVzdGVkU2NvcGVzKTsKICAgICAgICAgICAgaW52YWxpZFNjb3Blcy5yZW1vdmVBbGwoYWxsb3dlZFNjb3Blcyk7CiAgICAgICAgICAgIHRocm93IG5ldyBmckphdmEuSW52YWxpZFNjb3BlRXhjZXB0aW9uKCdVbmtub3duL2ludmFsaWQgc2NvcGUocyknKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHNjb3BlcyA9PSBudWxsIHx8IHNjb3Blcy5pc0VtcHR5KCkpIHsKICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRTY29wZUV4Y2VwdGlvbignTm8gc2NvcGUgcmVxdWVzdGVkIGFuZCBubyBkZWZhdWx0IHNjb3BlIGNvbmZpZ3VyZWQnKTsKICAgIH0KICAgIHJldHVybiBzY29wZXM7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQXV0aG9yaXphdGlvblNjb3BlICgpIHsKICAgIHJldHVybiB2YWxpZGF0ZVNjb3BlcygpOwp9CgpmdW5jdGlvbiB2YWxpZGF0ZUFjY2Vzc1Rva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlUmVmcmVzaFRva2VuU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0KCmZ1bmN0aW9uIHZhbGlkYXRlQmFja0NoYW5uZWxBdXRob3JpemF0aW9uU2NvcGUgKCkgewogICAgcmV0dXJuIHZhbGlkYXRlU2NvcGVzKCk7Cn0=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_VALIDATE_SCOPE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4642" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.793Z", - "time": 58, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 58 - } - }, - { - "_id": "c122e0c34632754298c1cf3d78d7a86f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1690, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"WordPress Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22WordPress%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1382, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1382, - "text": "{\"result\":[{\"_id\":\"91d197de-5916-4dca-83b5-9a4df26e7159\",\"name\":\"WordPress Profile Normalization\",\"description\":\"Normalizes raw profile data from WordPress\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnVzZXJuYW1lKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLmRpc3BsYXlfbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5hdmF0YXJfVVJMKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1382" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.855Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "d8b36e9647bacb5fb5169afeae53598f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1661, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"shared\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22shared%22" - }, - "response": { - "bodySize": 814, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 814, - "text": "{\"result\":[{\"_id\":\"1b52a7e0-4019-40fa-958a-15a49870e901\",\"name\":\"shared\",\"description\":\"set the same shared state variable\",\"script\":\"KGZ1bmN0aW9uICgpIHsKICBvdXRjb21lID0gJ3RydWUnOwogIHZhciBsZXZlbCA9IG5vZGVTdGF0ZS5nZXQoJ2xldmVsJykuYXNJbnRlZ2VyKCk7CiAgc2hhcmVkU3RhdGUucHV0KCdzaGFyZWRWYWx1ZScsICdMZXZlbCAnICsgbGV2ZWwgKyAnOiBUaGlzIGlzIGEgbG9uZ2VyIHN0cmluZyB2YWx1ZSBzaGFyZWQgYWNyb3NzIGFsbCBuZXN0ZWQgam91cm5leXMuIEl0IGNvbnRhaW5zIGFuIGluZGljYXRvciBpbiB3aGljaCBsZXZlbCBpdCB3YXMgbGFzdCBzZXQuJyk7Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "814" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.912Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "edb15723eb51503d9ba902a83ea36e7c", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1688, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Config Provider Node Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Config%20Provider%20Node%20Script%22" - }, - "response": { - "bodySize": 4602, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4602, - "text": "{\"result\":[{\"_id\":\"5e854779-6ec1-4c39-aeba-0477e0986646\",\"name\":\"Config Provider Node Script\",\"description\":\"Script to provide values for a config provider node\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKioKICogVGhlIGZvbGxvd2luZyBzY3JpcHQgaXMgYSBzaW1wbGlmaWVkIHRlbXBsYXRlIGZvciB1bmRlcnN0YW5kaW5nIGhvdyB0byBidWlsZAogKiB1cCBhIGNvbmZpZyBNYXAgb2JqZWN0IHdpdGggY3VzdG9tIHZhbHVlcy4gVGhlIENvbmZpZyBQcm92aWRlciBOb2RlIHdpbGwgdGhlbgogKiBwcm92aWRlIHRoaXMgY29uZmlnIE1hcCB0byB0aGUgZGVzaXJlZCBub2RlIHR5cGUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBNYXAKICogeW91IGJ1aWxkIGhlcmUgaXMgbmFtZWQgJ2NvbmZpZycuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKgogKiBub2RlU3RhdGUgLSBOb2RlIFN0YXRlICgxKQogKiAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoaXMgcmVwcmVzZW50cyB0aGUgY3VycmVudCB2YWx1ZXMgc3RvcmVkIGluIHRoZSBub2RlIHN0YXRlLgogKgogKiBpZFJlcG9zaXRvcnkgLSBQcm9maWxlIERhdGEgKDIpCiAqICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgYSByZXBvc2l0b3J5IHRvIHJldHJpZXZlIHVzZXIgaW5mb3JtYXRpb24uCiAqCiAqIHNlY3JldHMgLSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAoMykKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZSBTZWNyZXRzIEFQSSBmcm9tIGEgc2NyaXB0aW5nIGNvbnRleHQuCiAqCiAqIHJlcXVlc3RIZWFkZXJzICg0KSAtIE1hcCAoNSkKICogICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2Nlc3NpbmcgaGVhZGVycyBpbiB0aGUgbG9naW4gcmVxdWVzdC4KICoKICogbG9nZ2VyIC0gRGVidWcgTG9nZ2luZyAoNikKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2UuCiAqCiAqIGh0dHBDbGllbnQgLSBIVFRQIENsaWVudCAoNykKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIGNsaWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2UgZXh0ZXJuYWwgSFRUUCByZXF1ZXN0cy4KICoKICogcmVhbG0gLSBTdHJpbmcgKHByaW1pdGl2ZSkuCiAqICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgbmFtZSBvZiB0aGUgcmVhbG0gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgdG8uCiAqCiAqIGV4aXN0aW5nU2Vzc2lvbiAtIE1hcDxTdHJpbmcsIFN0cmluZz4gKDUpCiAqICAgICAgICAgIFByZXNlbnQgaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHNlc3Npb24gY29va2llLCB0aGUgdXNlcidzIHNlc3Npb24gb2JqZWN0LiBUaGUgcmV0dXJuZWQgbWFwIGZyb20KICogICAgICAgICAgU1NPVG9rZW4uZ2V0UHJvcGVydGllcygpICg4KQogKgogKiByZXF1ZXN0UGFyYW1ldGVycyAtIE1hcCAoNSkKICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgYXV0aGVudGljYXRpb24gcmVxdWVzdCBwYXJhbWV0ZXJzLgogKgogKgogKiBPdXRwdXRzOgogKgogKiBjb25maWcgLSBNYXAgKDUpCiAqICAgICAgICAgICBEZWZpbmUgYW5kIGZpbGwgYSBNYXAgb2JqZWN0IG5hbWVkICdjb25maWcnIHdpdGggY3VzdG9tIHZhbHVlcywgdGhpcyB3aWxsIGRlZmluZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlCiAqICAgICAgICAgICBhc3NvY2lhdGVkIG5vZGUgc2VsZWN0ZWQgaW4gdGhlIENvbmZpZ1Byb3ZpZGVyTm9kZS4KICoKICogUmVmZXJlbmNlOgogKiAoMSkgTm9kZSBTdGF0ZSAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9pZGNsb3VkLWFtL2xhdGVzdC9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtbm9kZVN0YXRlCiAqICgyKSBQcm9maWxlIERhdGEgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy4xL2F1dGhlbnRpY2F0aW9uLWd1aWRlL3NjcmlwdGluZy1hcGktbm9kZS5odG1sI3NjcmlwdGluZy1hcGktbm9kZS1pZC1yZXBvCiAqICgzKSBDcmVkZW50aWFscyBhbmQgU2VjcmV0cyAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83LjEvYXV0aGVudGljYXRpb24tZ3VpZGUvc2NyaXB0aW5nLWFwaS1ub2RlLmh0bWwjc2NyaXB0aW5nLWFwaS1hdXRobi1zZWNyZXRzCiAqICg0KSBSZXF1ZXN0IEhlYWRlcnMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hdXRoZW50aWNhdGlvbi1ndWlkZS9zY3JpcHRpbmctYXBpLW5vZGUuaHRtbCNzY3JpcHRpbmctYXBpLW5vZGUtcmVxdWVzdEhlYWRlcnMuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL01hcC5odG1sCiAqICg2KSBEZWJ1ZyBMb2dnaW5nIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvc2NyaXB0aW5nLWd1aWRlL3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWxvZ2dlci4KICogKDcpIEhUVFAgQ2xpZW50IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL2h0dHAvQ2xpZW50Lmh0bWwuCiAqICg4KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqLwoKY29uZmlnID0gewogICAgImtleTAiOiB7InN1YktleSI6ICJ2YWx1ZTAifSwKICAgICJrZXkxIjogInZhbHVlMSIKfTs=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"CONFIG_PROVIDER_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4602" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:29.968Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "c896d9e1d12bcb7e3a5d3d01a7c0dbbc", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1719, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Social Identity Provider Profile Transformation Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Social%20Identity%20Provider%20Profile%20Transformation%20Script%22" - }, - "response": { - "bodySize": 1036, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1036, - "text": "{\"result\":[{\"_id\":\"1d475815-72cb-42eb-aafd-4026989d28a7\",\"name\":\"Social Identity Provider Profile Transformation Script\",\"description\":\"Default global script for Social Identity Provider Profile Transformation\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyogRGVmYXVsdCBTb2NpYWwgSWRlbnRpdHkgUHJvdmlkZXIgUHJvZmlsZSBUcmFuc2Zvcm1hdGlvbiBzY3JpcHQgdG8gdXNlIGFzIGEgdGVtcGxhdGUgZm9yIG5ldyBzY3JpcHRzICov\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1036" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.025Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "bdb484c0a5d4bad077537e0f972d3632", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1689, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Facebook Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Facebook%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1504, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1504, - "text": "{\"result\":[{\"_id\":\"bae1d54a-e97d-4997-aa5d-c027f21af82c\",\"name\":\"Facebook Profile Normalization\",\"description\":\"Normalizes raw profile data from Facebook\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQ==\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1504" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.082Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "97e365ada37a9af61562e96f36b8cb1a", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41550, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41550, - "text": "{\"result\":[{\"_id\":\"36863ffb-40ec-48b9-94b1-9a99f71cc3b5\",\"name\":\"OIDC Claims Script\",\"description\":\"Default global script for OIDC claims\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.138Z", - "time": 60, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 60 - } - }, - { - "_id": "6305235cfeadffc508b8076bf5229d24", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1692, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Scripted Module - Client Side\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Scripted%20Module%20-%20Client%20Side%22" - }, - "response": { - "bodySize": 983, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 983, - "text": "{\"result\":[{\"_id\":\"c827d2b4-3608-4693-868e-bbcf86bd87c7\",\"name\":\"Scripted Module - Client Side\",\"description\":\"Default global script for client side Scripted Authentication Module\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTYtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qIERlZmF1bHQgQXV0aGVudGljYXRpb24gY2xpZW50IHNpZGUgc2NyaXB0IHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvciBuZXcgc2NyaXB0cyAqLwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_CLIENT_SIDE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "983" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.203Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "d7355a4b7f7900930cfa14fc0e22eef6", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1660, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Dummy\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Dummy%22" - }, - "response": { - "bodySize": 452, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 452, - "text": "{\"result\":[{\"_id\":\"4c963bb3-7084-43d0-bcdc-a47482cf1825\",\"name\":\"Dummy\",\"description\":\"Dummy\",\"script\":\"Cm91dGNvbWUgPSAidHJ1ZSI7Cg==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "452" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.263Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "cdb6bf47cf4e63bb698595aa7700365d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1688, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Twitter Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Twitter%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1378, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1378, - "text": "{\"result\":[{\"_id\":\"8e298710-b55e-4085-a464-88a375a4004b\",\"name\":\"Twitter Profile Normalization\",\"description\":\"Normalizes raw profile data from Twitter\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkX3N0ciksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgicGhvdG9VcmwiLCByYXdQcm9maWxlLnByb2ZpbGVfaW1hZ2VfdXJsKSwKICAgICAgICBmaWVsZCgiZW1haWwiLCByYXdQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnNjcmVlbl9uYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1378" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.320Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "fec901470ad24ffd46e16c9425bc5b3b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Debug Shared State\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Debug%20Shared%20State%22" - }, - "response": { - "bodySize": 1300, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1300, - "text": "{\"result\":[{\"_id\":\"634fb0b2-8873-4e78-8913-9a669e4f3816\",\"name\":\"Debug Shared State\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGksCiAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCik7CndpdGggKGZyKSB7CiAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgZGVidWcgPSBTdHJpbmcoIlNoYXJlZCBzdGF0ZTogIiArIHNoYXJlZFN0YXRlLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGRlYnVnID0gU3RyaW5nKGRlYnVnICsgIlJlcXVlc3QgaGVhZGVyczogIiArIHJlcXVlc3RIZWFkZXJzLnRvU3RyaW5nKCkgKyAiXFxuIik7CiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdTZXNzaW9uICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgZGVidWcgPSBTdHJpbmcoZGVidWcgKyAiRXhpc3Rpbmcgc2Vzc2lvbjogIiArICJcXG4iKTsKICAgICAgfSAgCiAgICAgICAgIGxvZ2dlci5lcnJvcigiSk9OSzogIiArIGRlYnVnKTsKICAgICAgc2NyaXB0ID0gU3RyaW5nKCdhbGVydCgiJytkZWJ1ZysnIik7Jyk7CiAgICAgIGFjdGlvbiA9IEFjdGlvbi5zZW5kKG5ldyBTY3JpcHRUZXh0T3V0cHV0Q2FsbGJhY2soc2NyaXB0KSkuYnVpbGQoKTsKICB9CiAgb3V0Y29tZSA9ICJ0cnVlIjsKfQ==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1300" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.375Z", - "time": 60, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 60 - } - }, - { - "_id": "dcc34405f9b2c07186729f2a8039368f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1690, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Instagram Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Instagram%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1178, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1178, - "text": "{\"result\":[{\"_id\":\"1244e639-4a31-401d-ab61-d75133d8dc9e\",\"name\":\"Instagram Profile Normalization\",\"description\":\"Normalizes raw profile data from Instagram\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLnVzZXJuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1178" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.442Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "000ff0f2b46c206e53f43f99849549df", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1691, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Normalized Profile to Identity\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Normalized%20Profile%20to%20Identity%22" - }, - "response": { - "bodySize": 1648, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1648, - "text": "{\"result\":[{\"_id\":\"ed685f9f-5909-4726-86e8-22bd38b47663\",\"name\":\"Normalized Profile to Identity\",\"description\":\"Converts a normalized social profile into an Identity\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjEgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmltcG9ydCBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlCgpKc29uVmFsdWUgaWRlbnRpdHkgPSBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUuZ2l2ZW5OYW1lKSwKICAgICAgICBmaWVsZCgic24iLCBub3JtYWxpemVkUHJvZmlsZS5mYW1pbHlOYW1lKSwKICAgICAgICBmaWVsZCgibWFpbCIsIG5vcm1hbGl6ZWRQcm9maWxlLmVtYWlsKSwKICAgICAgICBmaWVsZCgiY24iLCBub3JtYWxpemVkUHJvZmlsZS5kaXNwbGF5TmFtZSksCiAgICAgICAgZmllbGQoInVzZXJOYW1lIiwgbm9ybWFsaXplZFByb2ZpbGUudXNlcm5hbWUpLAogICAgICAgIGZpZWxkKCJpcGxhbmV0LWFtLXVzZXItYWxpYXMtbGlzdCIsIHNlbGVjdGVkSWRwICsgJy0nICsgbm9ybWFsaXplZFByb2ZpbGUuaWQuYXNTdHJpbmcoKSkpKQoKcmV0dXJuIGlkZW50aXR5\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1648" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.500Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "edb389c22d25c98fc8a100c57f0da42f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"pwdlessCheck.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22pwdlessCheck.js%22" - }, - "response": { - "bodySize": 1093, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1093, - "text": "{\"result\":[{\"_id\":\"40a38167-2371-4d49-bbf1-e0e97ace3132\",\"name\":\"pwdlessCheck.js\",\"description\":\"null\",\"script\":\"b3V0Y29tZSA9ICJsZWdhY3kiOwp2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZihnZXRDdXN0b21BdHRyVmFsdWUoImN1c3RvbV9wYXNzd29yZGxlc3MiKT09dHJ1ZSkgewogIG91dGNvbWUgPSAicHdkbGVzcyI7Cn0KCmZ1bmN0aW9uIGdldEN1c3RvbUF0dHJWYWx1ZSAoY3VzdG9tQXR0ck5hbWUpCnsKICB2YXIgaWQgPSBzaGFyZWRTdGF0ZS5nZXQoJ19pZCcpOwogIHZhciBmcklkbUN1c3RvbUF0dHJpYnV0ZXMgPSBpZFJlcG9zaXRvcnkuZ2V0QXR0cmlidXRlKGlkLCAnZnItaWRtLWN1c3RvbS1hdHRycycpOwogIGlmIChmcklkbUN1c3RvbUF0dHJpYnV0ZXMpCiAgewogICAgICB2YXIgZnJJZG1DdXN0b21BdHRyaWJ1dGVzT2JqZWN0ID0gSlNPTi5wYXJzZShTdHJpbmcoZnJJZG1DdXN0b21BdHRyaWJ1dGVzLnRvQXJyYXkoKVswXSkpOwogICAgICAgIHJldHVybiBmcklkbUN1c3RvbUF0dHJpYnV0ZXNPYmplY3RbY3VzdG9tQXR0ck5hbWVdOwogIH0KfQo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1093" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.559Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "b8afb85169152369b0e1f80254bd7a53", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1684, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Scripted Policy Condition\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Scripted%20Policy%20Condition%22" - }, - "response": { - "bodySize": 6917, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 6917, - "text": "{\"result\":[{\"_id\":\"9de3eb62-f131-4fac-a294-7bd170fd4acb\",\"name\":\"Scripted Policy Condition\",\"description\":\"Default global script for Scripted Policy Conditions\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTUtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCi8qKgogKiBUaGlzIGlzIGEgUG9saWN5IENvbmRpdGlvbiBleGFtcGxlIHNjcmlwdC4gSXQgZGVtb25zdHJhdGVzIGhvdyB0byBhY2Nlc3MgYSB1c2VyJ3MgaW5mb3JtYXRpb24sCiAqIHVzZSB0aGF0IGluZm9ybWF0aW9uIGluIGV4dGVybmFsIEhUVFAgY2FsbHMgYW5kIG1ha2UgYSBwb2xpY3kgZGVjaXNpb24gYmFzZWQgb24gdGhlIG91dGNvbWUuCiAqLwoKdmFyIHVzZXJBZGRyZXNzLCB1c2VySVAsIHJlc291cmNlSG9zdDsKCmlmICh2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkpIHsKCiAgICB2YXIgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9IGdldENvdW50cnlGcm9tVXNlckFkZHJlc3MoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJDb3VudHJ5IHJldHJpZXZlZCBmcm9tIHVzZXIncyBhZGRyZXNzOiAiICsgY291bnRyeUZyb21Vc2VyQWRkcmVzcyk7CiAgICB2YXIgY291bnRyeUZyb21Vc2VySVAgPSBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpOwogICAgbG9nZ2VyLm1lc3NhZ2UoIkNvdW50cnkgcmV0cmlldmVkIGZyb20gdXNlcidzIElQOiAiICsgY291bnRyeUZyb21Vc2VySVApOwogICAgdmFyIGNvdW50cnlGcm9tUmVzb3VyY2VVUkkgPSBnZXRDb3VudHJ5RnJvbVJlc291cmNlVVJJKCk7CiAgICBsb2dnZXIubWVzc2FnZSgiQ291bnRyeSByZXRyaWV2ZWQgZnJvbSByZXNvdXJjZSBVUkk6ICIgKyBjb3VudHJ5RnJvbVJlc291cmNlVVJJKTsKCiAgICBpZiAoY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21Vc2VySVAgJiYgY291bnRyeUZyb21Vc2VyQWRkcmVzcyA9PT0gY291bnRyeUZyb21SZXNvdXJjZVVSSSkgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIFN1Y2NlZWRlZCIpOwogICAgICAgIHJlc3BvbnNlQXR0cmlidXRlcy5wdXQoImNvdW50cnlPZk9yaWdpbiIsIFtjb3VudHJ5RnJvbVVzZXJBZGRyZXNzXSk7CiAgICAgICAgYXV0aG9yaXplZCA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBdXRob3JpemF0aW9uIEZhaWxlZCIpOwogICAgICAgIGF1dGhvcml6ZWQgPSBmYWxzZTsKICAgIH0KCn0gZWxzZSB7CiAgICBsb2dnZXIubWVzc2FnZSgiUmVxdWlyZWQgcGFyYW1ldGVycyBub3QgZm91bmQuIEF1dGhvcml6YXRpb24gRmFpbGVkLiIpOwogICAgYXV0aG9yaXplZCA9IGZhbHNlOwp9CgovKioKICogVXNlIHRoZSB1c2VyJ3MgYWRkcmVzcyB0byBsb29rdXAgdGhlaXIgY291bnRyeSBvZiByZXNpZGVuY2UuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgdXNlcidzIGNvdW50cnkgb2YgcmVzaWRlbmNlLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21Vc2VyQWRkcmVzcygpIHsKCiAgICB2YXIgcmVxdWVzdCA9IG5ldyBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuUmVxdWVzdCgpOwogICAgcmVxdWVzdC5zZXRVcmkoImh0dHA6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXNlckFkZHJlc3MpKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgZ2VvY29kZSA9IEpTT04ucGFyc2UocmVzcG9uc2UuZ2V0RW50aXR5KCkuZ2V0U3RyaW5nKCkpOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvY29kZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGdlb2NvZGUucmVzdWx0c1tpXTsKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgcmVzdWx0LmFkZHJlc3NfY29tcG9uZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0LmFkZHJlc3NfY29tcG9uZW50c1tpXS50eXBlc1swXSA9PSAiY291bnRyeSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuYWRkcmVzc19jb21wb25lbnRzW2ldLmxvbmdfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyoqCiAqIFVzZSB0aGUgdXNlcidzIElQIHRvIGxvb2t1cCB0aGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBmcm9tIHdoaWNoIHRoZSByZXF1ZXN0IG9yaWdpbmF0ZWQuCiAqLwpmdW5jdGlvbiBnZXRDb3VudHJ5RnJvbVVzZXJJUCgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgdXNlcklQKTsKICAgICAgcmVxdWVzdC5zZXRNZXRob2QoIkdFVCIpOwoKICAgIHZhciByZXNwb25zZSA9IGh0dHBDbGllbnQuc2VuZChyZXF1ZXN0KS5nZXQoKTsKICAgIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlKTsKCiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICBpZiAocmVzdWx0KSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb3VudHJ5OwogICAgfQp9CgovKioKICogVXNlIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBob3N0IG5hbWUgdG8gbG9va3VwIHRoZSBjb3VudHJ5IHdoZXJlIHRoZSByZXNvdXJjZSBpcyBob3N0ZWQuCiAqCiAqIEByZXR1cm5zIHsqfSBUaGUgY291bnRyeSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgaG9zdGVkLgogKi8KZnVuY3Rpb24gZ2V0Q291bnRyeUZyb21SZXNvdXJjZVVSSSgpIHsKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldFVyaSgiaHR0cDovL2lwLWFwaS5jb20vanNvbi8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlSG9zdCkpOwogICAgICByZXF1ZXN0LnNldE1ldGhvZCgiR0VUIik7CgogICAgdmFyIHJlc3BvbnNlID0gaHR0cENsaWVudC5zZW5kKHJlcXVlc3QpLmdldCgpOwogICAgbG9nUmVzcG9uc2UocmVzcG9uc2UpOwoKICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmdldEVudGl0eSgpLmdldFN0cmluZygpKTsKICAgIGlmIChyZXN1bHQpIHsKICAgICAgICByZXR1cm4gcmVzdWx0LmNvdW50cnk7CiAgICB9Cn0KCi8qKgogKiBSZXRyaWV2ZSBhbmQgdmFsaWRhdGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCB0byBtYWtlIHRoZSBleHRlcm5hbCBIVFRQIGNhbGxzLgogKgogKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2lsbCBiZSB0cnVlIGlmIHZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCiAqLwpmdW5jdGlvbiB2YWxpZGF0ZUFuZEluaXRpYWxpemVQYXJhbWV0ZXJzKCkgewogICAgdmFyIHVzZXJBZGRyZXNzU2V0ID0gaWRlbnRpdHkuZ2V0QXR0cmlidXRlKCJwb3N0YWxBZGRyZXNzIik7CiAgICBpZiAodXNlckFkZHJlc3NTZXQgPT0gbnVsbCB8fCB1c2VyQWRkcmVzc1NldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gYWRkcmVzcyBzcGVjaWZpZWQgZm9yIHVzZXI6ICIgKyB1c2VybmFtZSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdXNlckFkZHJlc3MgPSB1c2VyQWRkcmVzc1NldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIGFkZHJlc3M6ICIgKyB1c2VyQWRkcmVzcyk7CgogICAgaWYgKCFlbnZpcm9ubWVudCkgewogICAgICAgIGxvZ2dlci53YXJuaW5nKCJObyBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBpbiB0aGUgZXZhbHVhdGlvbiByZXF1ZXN0LiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgaXBTZXQgPSBlbnZpcm9ubWVudC5nZXQoIklQIik7CiAgICBpZiAoaXBTZXQgPT0gbnVsbCB8fCBpcFNldC5pc0VtcHR5KCkpIHsKICAgICAgICBsb2dnZXIud2FybmluZygiTm8gSVAgc3BlY2lmaWVkIGluIHRoZSBldmFsdWF0aW9uIHJlcXVlc3QgZW52aXJvbm1lbnQgcGFyYW1ldGVycy4iKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1c2VySVAgPSBpcFNldC5pdGVyYXRvcigpLm5leHQoKTsKICAgIGxvZ2dlci5tZXNzYWdlKCJVc2VyIElQOiAiICsgdXNlcklQKTsKCiAgICBpZiAoIXJlc291cmNlVVJJKSB7CiAgICAgICAgbG9nZ2VyLndhcm5pbmcoIk5vIHJlc291cmNlIFVSSSBzcGVjaWZpZWQuIik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmVzb3VyY2VIb3N0ID0gcmVzb3VyY2VVUkkubWF0Y2goL14oLio6XC9cLykod3d3XC4pPyhbQS1aYS16MC05XC1cLl0rKSg6WzAtOV0rKT8oLiopJC8pWzNdOwogICAgbG9nZ2VyLm1lc3NhZ2UoIlJlc291cmNlIGhvc3Q6ICIgKyByZXNvdXJjZUhvc3QpOwoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBsb2dSZXNwb25zZShyZXNwb25zZSkgewogICAgbG9nZ2VyLm1lc3NhZ2UoIlVzZXIgUkVTVCBDYWxsLiBTdGF0dXM6ICIgKyByZXNwb25zZS5nZXRTdGF0dXMoKSArICIsIEJvZHk6ICIgKyByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7Cn0K\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"POLICY_CONDITION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "6917" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.619Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "5466b43a77ca475a4e01825da5f1af63", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"updateWebAuthNProfileNickname.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22updateWebAuthNProfileNickname.js%22" - }, - "response": { - "bodySize": 1238, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1238, - "text": "{\"result\":[{\"_id\":\"01bec3a8-105d-45dc-9f80-d003e1b33fa2\",\"name\":\"updateWebAuthNProfileNickname.js\",\"description\":\"null\",\"script\":\"dmFyIGlkID0gc2hhcmVkU3RhdGUuZ2V0KCJfaWQiKTsKdmFyIHByb2ZpbGVzID0gaWRSZXBvc2l0b3J5LmdldEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIpOwp2YXIgb2JqZWN0QXR0cmlidXRlcyA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwp2YXIgbmV3Tmlja05hbWUgPSBvYmplY3RBdHRyaWJ1dGVzLmdldCgiY3VzdG9tX25pY2tuYW1lIik7Cgp2YXIgcHJvZmlsZXNBcnJheSA9IHByb2ZpbGVzLnRvQXJyYXkoKTsKCmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgcHJvZmlsZXNBcnJheVtpXT1wcm9maWxlc0FycmF5W2ldLnJlcGxhY2UoIk5ldyBTZWN1cml0eSBLZXkiLG5ld05pY2tOYW1lKTsKfQppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCJ3ZWJhdXRobkRldmljZVByb2ZpbGVzIixbXSk7CmZvciAodmFyIGk9MDsgaTxwcm9maWxlc0FycmF5Lmxlbmd0aDsgaSsrKQp7CiAgaWRSZXBvc2l0b3J5LmFkZEF0dHJpYnV0ZShpZCwid2ViYXV0aG5EZXZpY2VQcm9maWxlcyIscHJvZmlsZXNBcnJheVtpXSk7Cn0Kb3V0Y29tZSA9ICJzdWNjZXNzIjs=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1238" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.676Z", - "time": 57, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 57 - } - }, - { - "_id": "11fc76fd2f9a228b971725c8a994284b", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Custom Device Match Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Custom%20Device%20Match%20Script%22" - }, - "response": { - "bodySize": 542, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 542, - "text": "{\"result\":[{\"_id\":\"d58977ed-0542-4147-8197-973ef7300191\",\"name\":\"Custom Device Match Script\",\"description\":\"Custom Device Match Script\",\"script\":\"LyoKICogQ3VzdG9tIERldmljZSBNYXRjaCBTY3JpcHQKICovCgpvdXRjb21lID0gInRydWUiOw==\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "542" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:29 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.737Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "edf9e88ab9f0d37cfef8cabce82b3b72", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1686, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Itsme Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Itsme%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1530, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1530, - "text": "{\"result\":[{\"_id\":\"3d97c436-42c0-4dd0-a571-ea6f34f752b3\",\"name\":\"Itsme Profile Normalization\",\"description\":\"Normalizes raw profile data from Itsme\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMSBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgppbXBvcnQgc3RhdGljIG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUuZmllbGQKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmpzb24KaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLm9iamVjdAoKaW1wb3J0IG9yZy5mb3JnZXJvY2suanNvbi5Kc29uVmFsdWUKCkpzb25WYWx1ZSBtYW5hZ2VkVXNlciA9IGpzb24ob2JqZWN0KAogICAgICAgIGZpZWxkKCJpZCIsIHJhd1Byb2ZpbGUuc3ViKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmdpdmVuX25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5mYW1pbHlfbmFtZSksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCkpKQpyZXR1cm4gbWFuYWdlZFVzZXI=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1530" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.796Z", - "time": 75, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 75 - } - }, - { - "_id": "329d94aa7b0eb4bf87dfbf6db589c1d9", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1667, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"resetPush.js\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22resetPush.js%22" - }, - "response": { - "bodySize": 578, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 578, - "text": "{\"result\":[{\"_id\":\"18940a0d-2997-49af-8cb9-9d8da38b4145\",\"name\":\"resetPush.js\",\"description\":\"null\",\"script\":\"aWQgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpOwppZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKGlkLCAicHVzaERldmljZVByb2ZpbGVzIixbXSk7CgoKICAgIApvdXRjb21lID0gInRydWUiOwo=\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "578" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.875Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "93c3ab20c379d63b813aeb250e58e7d5", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1682, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"OAuth2 May Act Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22OAuth2%20May%20Act%20Script%22" - }, - "response": { - "bodySize": 3523, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 3523, - "text": "{\"result\":[{\"_id\":\"c735de08-f8f2-4e69-aa4a-2d8d3d438323\",\"name\":\"OAuth2 May Act Script\",\"description\":\"Default global script for OAuth2 May Act\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKLyoqCiAqIERlZmluZWQgdmFyaWFibGVzOgogKiB0b2tlbiAtIFRoZSBhY2Nlc3MgdG9rZW4gdG8gYmUgdXBkYXRlZC4gTXV0YWJsZSBvYmplY3QsIGFsbCBjaGFuZ2VzIHRvIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSByZWZsZWN0ZWQuCiAqIGxvZ2dlciAtIGFsd2F5cyBwcmVzZW50LCBjb3JyZXNwb25kaW5nIGxvZyBmaWxlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGg6IHNjcmlwdHMuT0FVVEgyX0FDQ0VTU19UT0tFTl9NT0RJRklDQVRJT04uCiAqIHNjcmlwdE5hbWUgLSBhbHdheXMgcHJlc2VudCwgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgc2NyaXB0CiAqIHNlc3Npb24gLSBwcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdAogKiByZXF1ZXN0UHJvcGVydGllcyAtIGFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIHRoZSByZXF1ZXN0IFVSSQogKiAgICAgICAgICAgICAgICAgICAgIHJlYWxtIC0gdGhlIHJlYWxtIHRoYXQgdGhlIHJlcXVlc3QgcmVsYXRlcyB0bwogKiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXMgLSBhIG1hcCBvZiB0aGUgcmVxdWVzdCBwYXJhbXMgYW5kL29yIHBvc3RlZCBkYXRhLiBFYWNoIHZhbHVlIGlzIGEgbGlzdCBvZiBvbmUgb3IKICogICAgICAgICAgICAgICAgICAgICBtb3JlIHByb3BlcnRpZXMuIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QKICogICAgICAgICAgICAgICAgICAgICBwcmFjdGljZXMuCiAqIGNsaWVudFByb3BlcnRpZXMgLSBwcmVzZW50IGlmIHRoZSBjbGllbnQgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyBpZGVudGlmaWVkLCBjb250YWlucyBhIG1hcCBvZiBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICBjbGllbnRJZCAtIHRoZSBjbGllbnQncyBVcmkgZm9yIHRoZSByZXF1ZXN0IGxvY2FsZQogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZEdyYW50VHlwZXMgLSBsaXN0IG9mIHRoZSBhbGxvd2VkIGdyYW50IHR5cGVzIChvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLkdyYW50VHlwZSkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBjbGllbnQKICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gbGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudAogKiAgICAgICAgICAgICAgICAgICAgYWxsb3dlZFNjb3BlcyAtIGxpc3Qgb2YgdGhlIGFsbG93ZWQgc2NvcGVzIGZvciB0aGUgY2xpZW50CiAqICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzIC0gQSBtYXAgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIG9mIHRoZSBjbGllbnQuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdHMgb3IgbWFwcyB3aWxsIGJlIGluY2x1ZGVkIGFzIHN1Yi1tYXBzLCBlLmc6CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdE1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyB0ZXN0bWFwIC0+IEtleTEgLT4gVmFsdWUxCiAqCiAqIGlkZW50aXR5IC0gYWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIKICogc2NvcGVzIC0gYWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzCiAqLwovKgppbXBvcnQgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZQoKdG9rZW4uc2V0TWF5QWN0KAogICAgSnNvblZhbHVlLmpzb24oSnNvblZhbHVlLm9iamVjdCgKICAgICAgICBKc29uVmFsdWUuZmllbGQoImNsaWVudF9pZCIsICJteUNsaWVudCIpLCAKICAgICAgICBKc29uVmFsdWUuZmllbGQoInN1YiIsICIodXNyIW15QWN0b3IpIikpKSkKKi8=\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"OAUTH2_MAY_ACT\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "3523" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.933Z", - "time": 58, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 58 - } - }, - { - "_id": "4bc9120f25a9243849c85a20a60e3c33", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1728, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"ForgeRock Internal: OAuth2 Access Token Modification Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22ForgeRock%20Internal%3A%20OAuth2%20Access%20Token%20Modification%20Script%22" - }, - "response": { - "bodySize": 921, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 921, - "text": "{\"result\":[{\"_id\":\"c234ba0b-58a1-4cfd-9567-09edde980745\",\"name\":\"ForgeRock Internal: OAuth2 Access Token Modification Script\",\"description\":\"Internal token modification script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjMgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwovLyBTY3JpcHQgaXMgaW50ZW50aW9uYWxseSBlbXB0eQo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OAUTH2_ACCESS_TOKEN_MODIFICATION\",\"createdBy\":\"null\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "921" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:30.995Z", - "time": 55, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 55 - } - }, - { - "_id": "4cd74350a95512b9cd53238ae32b78be", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Google Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Google%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1548, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1548, - "text": "{\"result\":[{\"_id\":\"58d29080-4563-480b-89bb-1e7719776a21\",\"name\":\"Google Profile Normalization\",\"description\":\"Normalizes raw profile data from Google\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLnN1YiksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uYW1lKSwKICAgICAgICBmaWVsZCgiZ2l2ZW5OYW1lIiwgcmF3UHJvZmlsZS5naXZlbl9uYW1lKSwKICAgICAgICBmaWVsZCgiZmFtaWx5TmFtZSIsIHJhd1Byb2ZpbGUuZmFtaWx5X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZSksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoImxvY2FsZSIsIHJhd1Byb2ZpbGUubG9jYWxlKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1548" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.054Z", - "time": 58, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 58 - } - }, - { - "_id": "c1c393209e95869bcd07a4e023ad042d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1689, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Inactive Device Match Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Inactive%20Device%20Match%20Script%22" - }, - "response": { - "bodySize": 546, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 546, - "text": "{\"result\":[{\"_id\":\"3bd13a46-61c4-4974-8efb-1700c80c64e3\",\"name\":\"Inactive Device Match Script\",\"description\":\"Inactive Device Match Script\",\"script\":\"LyoKICogSW5hY3RpdmUgRGV2aWNlIE1hdGNoIFNjcmlwdAogKi8KCm91dGNvbWUgPSAidHJ1ZSI7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "546" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.116Z", - "time": 52, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 52 - } - }, - { - "_id": "91b80ebe4ad9d6d3babb4519ccfd3574", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"wks-RemoveButton\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22wks-RemoveButton%22" - }, - "response": { - "bodySize": 1686, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1686, - "text": "{\"result\":[{\"_id\":\"343b3cc5-38f4-4e37-9d92-8ba0830936da\",\"name\":\"wks-RemoveButton\",\"description\":\"RemoveButton\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1686" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.172Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "e6f3f3e413e0a2b0675cbfd8f8cb066e", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1721, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Device Profile Match Template - Decision Node Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Device%20Profile%20Match%20Template%20-%20Decision%20Node%20Script%22" - }, - "response": { - "bodySize": 4597, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 4597, - "text": "{\"result\":[{\"_id\":\"13e3f263-9cd3-4844-8d1c-040fd0dd02eb\",\"name\":\"Device Profile Match Template - Decision Node Script\",\"description\":\"Default global script template for Device Profile Match decision node script for Authentication Tree\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAtMjAyMiBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqCiAqIFRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGEgc2ltcGxpZmllZCB0ZW1wbGF0ZSBmb3IgdW5kZXJzdGFuZGluZwogKiB0aGUgYmFzaWNzIG9mIGRldmljZSBtYXRjaGluZy4gX1RoaXMgaXMgbm90IGZ1bmN0aW9uYWxseSBjb21wbGV0ZS5fCiAqIEZvciBhIGZ1bmN0aW9uYWxseSBjb21wbGV0ZSBzY3JpcHQgYXMgd2VsbCBhcyBhIGRldmVsb3BtZW50IHRvb2xraXQsCiAqIHZpc2l0IGh0dHBzOi8vZ2l0aHViLmNvbS9Gb3JnZVJvY2svZm9yZ2Vyb2NrLWRldmljZS1tYXRjaC1zY3JpcHQuCiAqCiAqIEdsb2JhbCBub2RlIHZhcmlhYmxlcyBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNjb3BlOgogKiAxLiBgc2hhcmVkU3RhdGVgIHByb3ZpZGVzIGFjY2VzcyB0byBpbmNvbWluZyByZXF1ZXN0CiAqIDIuIGBkZXZpY2VQcm9maWxlc0Rhb2AgcHJvdmlkZXMgYWNjZXNzIHRvIHN0b3JlZCBwcm9maWxlcwogKiAzLiBgb3V0Y29tZWAgdmFyaWFibGUgbWFwcyB0byBhdXRoIHRyZWUgbm9kZSBvdXRjb21lczsgdmFsdWVzIGFyZQogKiAgICAndHJ1ZScsICdmYWxzZScsIG9yICd1bmtub3duRGV2aWNlJyAobm90aWNlIF9hbGxfIGFyZSBzdHJpbmdzKS4KICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgcmVxdWVzdCdzIGRldmljZSBwcm9maWxlLgogKiBSZXR1cm5zIHNlcmlhbGl6ZWQgSlNPTiAodHlwZSBzdHJpbmcpOyBwYXJzaW5nIHRoaXMgd2lsbCByZXN1bHQgYQogKiBuYXRpdmUgSlMgb2JqZWN0LgogKi8KdmFyIGluY29taW5nSnNvbiA9IHNoYXJlZFN0YXRlLmdldCgnZm9yZ2VSb2NrLmRldmljZS5wcm9maWxlJykudG9TdHJpbmcoKTsKdmFyIGluY29taW5nID0gSlNPTi5wYXJzZShpbmNvbWluZ0pzb24pOwoKLyoqCiAqIEdldCB0aGUgaW5jb21pbmcgdXNlcidzIHVzZXJuYW1lIGFuZCByZWFsbS4KICogTm90aWNlIHRoZSB1c2Ugb2YgYC5hc1N0cmluZygpYC4KICovCnZhciB1c2VybmFtZSA9IHNoYXJlZFN0YXRlLmdldCgidXNlcm5hbWUiKS5hc1N0cmluZygpOwp2YXIgcmVhbG0gPSBzaGFyZWRTdGF0ZS5nZXQoInJlYWxtIikuYXNTdHJpbmcoKTsKCi8qKgogKiBHZXQgdGhlIHVzZXIncyBzdG9yZWQgcHJvZmlsZXMgZm9yIGFwcHJvcHJpYXRlIHJlYWxtLgogKiBSZXR1cm5zIGEgX3NwZWNpYWxfIG9iamVjdCB3aXRoIG1ldGhvZHMgZm9yIHByb2ZpbGUgZGF0YQogKi8KdmFyIHN0b3JlZFByb2ZpbGVzID0gZGV2aWNlUHJvZmlsZXNEYW8uZ2V0RGV2aWNlUHJvZmlsZXModXNlcm5hbWUsIHJlYWxtKTsKCi8vIERlZmF1bHQgdG8gYG91dGNvbWVgIG9mICd1bmtub3duRGV2aWNlJwpvdXRjb21lID0gJ3Vua25vd25EZXZpY2UnOwoKaWYgKHN0b3JlZFByb2ZpbGVzKSB7CiAgICB2YXIgaSA9IDA7CiAgICAvLyBOT1RFOiBgLnNpemUoKWAgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiBzdG9yZWQgcHJvZmlsZXMKICAgIHZhciBsZW4gPSBzdG9yZWRQcm9maWxlcy5zaXplKCk7CgogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAvKioKICAgICAgICAgKiBHZXQgdGhlIHN0b3JlZCBwcm9maWxlLgogICAgICAgICAqIFJldHVybnMgc2VyaWFsaXplZCBKU09OICh0eXBlIHN0cmluZyk7IHBhcnNpbmcgdGhpcyB3aWxsIHJlc3VsdAogICAgICAgICAqIGEgbmF0aXZlIEpTIG9iamVjdC4KICAgICAgICAgKi8KICAgICAgICB2YXIgc3RvcmVkSnNvbiA9IHN0b3JlZFByb2ZpbGVzLmdldChpKTsKICAgICAgICB2YXIgc3RvcmVkID0gSlNPTi5wYXJzZShzdG9yZWRKc29uKTsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmluZCBhIHN0b3JlZCBwcm9maWxlIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllci4KICAgICAgICAgKi8KICAgICAgICBpZiAoaW5jb21pbmcuaWRlbnRpZmllciA9PT0gc3RvcmVkLmlkZW50aWZpZXIpIHsKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBOb3cgdGhhdCB5b3UndmUgZm91bmQgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGUsIHlvdSB3aWxsIHBlcmZvcm0KICAgICAgICAgICAgICogdGhlIGxvZ2ljIGhlcmUgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgYGluY29taW5nYCBwcm9maWxlCiAgICAgICAgICAgICAqIHdpdGggdGhhdCBvZiB0aGUgYHN0b3JlZGAgcHJvZmlsZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgbWF0Y2hpbmcgbG9naWMgaXMgYXNzaWduZWQgdG8gYG91dGNvbWVgLiBTaW5jZQogICAgICAgICAgICAgKiB3ZSBoYXZlIHByb2ZpbGVzIG9mIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSB2YWx1ZSAodHlwZSBzdHJpbmcpCiAgICAgICAgICAgICAqIHNob3VsZCBub3cgYmUgZWl0aGVyICd0cnVlJyBvciAnZmFsc2UnIChwcm9wZXJ0aWVzIG1hdGNoZWQgb3Igbm90KS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgdmlzaXQgdGhpcyBHaXRodWIgcmVwbzoKICAgICAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcmdlUm9jay9mb3JnZXJvY2stZGV2aWNlLW1hdGNoLXNjcmlwdAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgb3V0Y29tZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQp9\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "4597" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.230Z", - "time": 54, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 54 - } - }, - { - "_id": "a1a476f7f90af798330625d10b5e75d8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1670, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Remove Button\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Remove%20Button%22" - }, - "response": { - "bodySize": 1695, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1695, - "text": "{\"result\":[{\"_id\":\"9535446c-0ff6-4a76-8576-616599119d64\",\"name\":\"Remove Button\",\"description\":\"Remove button from page.\",\"script\":\"LyogUmVtb3ZlIEJ1dHRvbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBIaWRlIGJ1dHRvbnMgb24gdGhlIGpvdXJuZXkgcGFnZS4KICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKi8KKGZ1bmN0aW9uICgpIHsKICAgIHZhciBzY3JpcHQgPSAiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7ZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnfSkiCiAgICB2YXIgZnIgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuYW0uYXV0aC5ub2RlLmFwaS5BY3Rpb24sCiAgICAgICAgamF2YXguc2VjdXJpdHkuYXV0aC5jYWxsYmFjay5UZXh0T3V0cHV0Q2FsbGJhY2ssCiAgICAgICAgY29tLnN1bi5pZGVudGl0eS5hdXRoZW50aWNhdGlvbi5jYWxsYmFja3MuU2NyaXB0VGV4dE91dHB1dENhbGxiYWNrCiAgICApCiAgICB2YXIgbWVzc2FnZSA9ICIgIgogICAgaWYgKGNhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICBhY3Rpb24gPSBmci5BY3Rpb24uc2VuZCgKICAgICAgICAgICAgbmV3IGZyLlRleHRPdXRwdXRDYWxsYmFjaygKICAgICAgICAgICAgICAgIGZyLlRleHRPdXRwdXRDYWxsYmFjay5JTkZPUk1BVElPTiwKICAgICAgICAgICAgICAgIG1lc3NhZ2UKICAgICAgICAgICAgKSwKICAgICAgICAgICAgbmV3IGZyLlNjcmlwdFRleHRPdXRwdXRDYWxsYmFjayhzY3JpcHQpCiAgICAgICAgKS5idWlsZCgpCiAgICB9Cn0oKSk7\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1695" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.288Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "b053354d3e96e3e2828f1986afdf05c8", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1687, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"WeChat Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22WeChat%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1312, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1312, - "text": "{\"result\":[{\"_id\":\"472534ec-a25f-468d-a606-3fb1935190df\",\"name\":\"WeChat Profile Normalization\",\"description\":\"Normalizes raw profile data from WeChat\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjAgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLm9wZW5pZCksCiAgICAgICAgZmllbGQoImRpc3BsYXlOYW1lIiwgcmF3UHJvZmlsZS5uaWNrbmFtZSksCiAgICAgICAgZmllbGQoInBob3RvVXJsIiwgcmF3UHJvZmlsZS5oZWFkaW1ndXJsKSwKICAgICAgICBmaWVsZCgidXNlcm5hbWUiLCByYXdQcm9maWxlLm5pY2tuYW1lKSkp\",\"default\":true,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1312" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.344Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "d03f9e8a49c3663717f6f44885052a82", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1685, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Okta Profile Normalization\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Okta%20Profile%20Normalization%22" - }, - "response": { - "bodySize": 1579, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1579, - "text": "{\"result\":[{\"_id\":\"6325cf19-a49b-471e-8d26-7e4df76df0e2\",\"name\":\"Okta Profile Normalization\",\"description\":\"Normalizes raw profile data from GitHub\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjIgRm9yZ2VSb2NrIEFTLiBBbGwgUmlnaHRzIFJlc2VydmVkCiAqCiAqIFVzZSBvZiB0aGlzIGNvZGUgcmVxdWlyZXMgYSBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2Ugd2l0aCBGb3JnZVJvY2sgQVMuCiAqIG9yIHdpdGggb25lIG9mIGl0cyBhZmZpbGlhdGVzLiBBbGwgdXNlIHNoYWxsIGJlIGV4Y2x1c2l2ZWx5IHN1YmplY3QKICogdG8gc3VjaCBsaWNlbnNlIGJldHdlZW4gdGhlIGxpY2Vuc2VlIGFuZCBGb3JnZVJvY2sgQVMuCiAqLwoKaW1wb3J0IHN0YXRpYyBvcmcuZm9yZ2Vyb2NrLmpzb24uSnNvblZhbHVlLmZpZWxkCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5qc29uCmltcG9ydCBzdGF0aWMgb3JnLmZvcmdlcm9jay5qc29uLkpzb25WYWx1ZS5vYmplY3QKCmxvZ2dlci53YXJuaW5nKCJPa3RhIHJhd1Byb2ZpbGU6ICIrcmF3UHJvZmlsZSkKCnJldHVybiBqc29uKG9iamVjdCgKICAgICAgICBmaWVsZCgiaWQiLCByYXdQcm9maWxlLmlkKSwKICAgICAgICBmaWVsZCgiZGlzcGxheU5hbWUiLCByYXdQcm9maWxlLm5hbWUpLAogICAgICAgIGZpZWxkKCJnaXZlbk5hbWUiLCByYXdQcm9maWxlLmZpcnN0X25hbWUpLAogICAgICAgIGZpZWxkKCJmYW1pbHlOYW1lIiwgcmF3UHJvZmlsZS5sYXN0X25hbWUpLAogICAgICAgIGZpZWxkKCJwaG90b1VybCIsIHJhd1Byb2ZpbGUucGljdHVyZS5kYXRhLnVybCksCiAgICAgICAgZmllbGQoImVtYWlsIiwgcmF3UHJvZmlsZS5lbWFpbCksCiAgICAgICAgZmllbGQoInVzZXJuYW1lIiwgcmF3UHJvZmlsZS5wcmVmZXJyZWRfdXNlcm5hbWUpKSk=\",\"default\":false,\"language\":\"GROOVY\",\"context\":\"SOCIAL_IDP_PROFILE_TRANSFORMATION\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1579" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.402Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "945e3364d6ed180bc93576ef2f0f323d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1677, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Set Email Verified\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Set%20Email%20Verified%22" - }, - "response": { - "bodySize": 756, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 756, - "text": "{\"result\":[{\"_id\":\"7b88752e-5529-459c-a970-1fb78ff0d87f\",\"name\":\"Set Email Verified\",\"description\":\"null\",\"script\":\"dmFyIGZyID0gSmF2YUltcG9ydGVyKAogIG9yZy5mb3JnZXJvY2sub3BlbmFtLmF1dGgubm9kZS5hcGkKKTsKd2l0aCAoZnIpIHsKICAKICB2YXIgdXNlcm5hbWUgPSBzaGFyZWRTdGF0ZS5nZXQoIl9pZCIpCiAgdmFyIGF0dHJpYnV0ZSA9ICJmci1hdHRyLXN0cjEiCiAKICBpZFJlcG9zaXRvcnkuc2V0QXR0cmlidXRlKHVzZXJuYW1lLCBhdHRyaWJ1dGUsIFsidmVyaWZpZWQiXSk7CiAgCiAgb3V0Y29tZSA9ICJ0cnVlIgp9\",\"default\":false,\"language\":\"JAVASCRIPT\",\"context\":\"AUTHENTICATION_TREE_DECISION_NODE\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "756" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 793, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.458Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "107a4931480ecae131b0dd4dbfc827bd", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1703, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"ForgeRock Internal: OIDC Claims Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22ForgeRock%20Internal%3A%20OIDC%20Claims%20Script%22" - }, - "response": { - "bodySize": 41560, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 41560, - "text": "{\"result\":[{\"_id\":\"1f389a3d-21cf-417c-a6d3-42ea620071f0\",\"name\":\"ForgeRock Internal: OIDC Claims Script\",\"description\":\"Internal OIDC Claims script\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMTQtMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUwogKiBvciB3aXRoIG9uZSBvZiBpdHMgYWZmaWxpYXRlcy4gQWxsIHVzZSBzaGFsbCBiZSBleGNsdXNpdmVseSBzdWJqZWN0CiAqIHRvIHN1Y2ggbGljZW5zZSBiZXR3ZWVuIHRoZSBsaWNlbnNlZSBhbmQgRm9yZ2VSb2NrIEFTLgogKi8KCi8qCiAqIFRoaXMgc2NyaXB0IGNvbXB1dGVzIGNsYWltIHZhbHVlcyByZXR1cm5lZCBpbiBJRCB0b2tlbnMgYW5kL29yIGF0IHRoZSBVc2VySW5mbyBFbmRwb2ludC4KICogVGhlIGNsYWltIHZhbHVlcyBhcmUgY29tcHV0ZWQgZm9yOgogKiB0aGUgY2xhaW1zIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICogdGhlIGNsYWltcyBwcm92aWRlZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIsCiAqIGFuZCB0aGUgY2xhaW1zIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHZpYSB0aGUgY2xhaW1zIHBhcmFtZXRlci4KICoKICogSW4gdGhlIENPTkZJR1VSQVRJT04gQU5EIENVU1RPTUlaQVRJT04gc2VjdGlvbiwgeW91IGNhbgogKiBkZWZpbmUgdGhlIHNjb3BlLXRvLWNsYWltcyBtYXBwaW5nLCBhbmQKICogYXNzaWduIHRvIGVhY2ggY2xhaW0gYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZSB0aGUgY2xhaW0gdmFsdWUuCiAqCiAqIERlZmluZWQgdmFyaWFibGVzIChjbGFzcyByZWZlcmVuY2VzIGFyZSBwcm92aWRlZCBiZWxvdyk6CiAqIHNjb3BlcyAtIFNldDxTdHJpbmc+ICg2KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogKiBjbGFpbXMgLSBNYXA8U3RyaW5nLCBPYmplY3Q+ICg1KS4KICogICAgICAgICAgQWx3YXlzIHByZXNlbnQsIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogY2xhaW1PYmplY3RzIC0gTGlzdDxDbGFpbT4gKDcsIDIpLgogKiAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIGRlZmF1bHQgc2VydmVyIHByb3ZpZGVkIGNsYWltcy4KICogcmVxdWVzdGVkQ2xhaW1zIC0gTWFwPFN0cmluZywgU2V0PFN0cmluZz4+ICg1KS4KICogICAgICAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIG5vdCBlbXB0eSBpZiB0aGUgcmVxdWVzdCBjb250YWlucyB0aGUgY2xhaW1zIHBhcmFtZXRlciBhbmQgdGhlIHNlcnZlciBoYXMgZW5hYmxlZAogKiAgICAgICAgICAgICAgICAgICBjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZC4gQSBtYXAgb2YgdGhlIHJlcXVlc3RlZCBjbGFpbXMgdG8gcG9zc2libGUgdmFsdWVzLCBvdGhlcndpc2UgZW1wdHk7CiAqICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBjbGFpbXMgd2l0aCBubyByZXF1ZXN0ZWQgdmFsdWVzIHdpbGwgaGF2ZSBhIGtleSBidXQgbm8gdmFsdWUgaW4gdGhlIG1hcC4gQSBrZXkgd2l0aAogKiAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSB2YWx1ZSBpbiBpdHMgU2V0ICg2KSBpbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiByZXF1ZXN0ZWRUeXBlZENsYWltcyAtIExpc3Q8Q2xhaW0+ICg3LCAyKS4KICogICAgICAgICAgICAgICAgICAgICAgICBBbHdheXMgcHJlc2VudCwgdGhlIHJlcXVlc3RlZCBjbGFpbXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdGVkIGNsYWltcyB3aXRoIG5vIHJlcXVlc3RlZCB2YWx1ZXMgd2lsbCBoYXZlIGEgY2xhaW0gd2l0aCBubyB2YWx1ZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgQSBjbGFpbSB3aXRoIGEgc2luZ2xlIHZhbHVlIGluZGljYXRlcyB0aGlzIGlzIHRoZSBvbmx5IHZhbHVlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBjbGFpbXNMb2NhbGVzIC0gTGlzdDxTdHJpbmc+ICg3KS4KICogICAgICAgICAgICAgICAgIFRoZSB2YWx1ZXMgZnJvbSB0aGUgJ2NsYWltc19sb2NhbGVzJyBwYXJhbWV0ZXIuCiAqICAgICAgICAgICAgICAgICBTZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjQ2xhaW1zTGFuZ3VhZ2VzQW5kU2NyaXB0cyBmb3IgdGhlIE9JREMgc3BlY2lmaWNhdGlvbiBkZXRhaWxzLgogKiByZXF1ZXN0UHJvcGVydGllcyAtIFVubW9kaWZpYWJsZSBNYXAgKDUpLgogKiAgICAgICAgICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCBjb250YWlucyBhIG1hcCBvZiByZXF1ZXN0IHByb3BlcnRpZXM6CiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFVyaSAtIFRoZSByZXF1ZXN0IFVSSS4KICogICAgICAgICAgICAgICAgICAgICByZWFsbSAtIFRoZSByZWFsbSB0aGF0IHRoZSByZXF1ZXN0IHJlbGF0ZXMgdG8uCiAqICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtcyAtIEEgbWFwIG9mIHRoZSByZXF1ZXN0IHBhcmFtcyBhbmQvb3IgcG9zdGVkIGRhdGEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggdmFsdWUgaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHByb3BlcnRpZXMuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgaW4gYWNjb3JkYW5jZSB3aXRoIE9XQVNQIGJlc3QgcHJhY3RpY2VzOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL293YXNwLm9yZy93d3ctY29tbXVuaXR5L3Z1bG5lcmFiaWxpdGllcy9VbnNhZmVfdXNlX29mX1JlZmxlY3Rpb24uCiAqIGNsaWVudFByb3BlcnRpZXMgLSBVbm1vZGlmaWFibGUgTWFwICg1KS4KICogICAgICAgICAgICAgICAgICAgIFByZXNlbnQgaWYgdGhlIGNsaWVudCBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIGlkZW50aWZpZWQsIGNvbnRhaW5zIGEgbWFwIG9mIGNsaWVudCBwcm9wZXJ0aWVzOgogKiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQgLSBUaGUgY2xpZW50J3MgVVJJIGZvciB0aGUgcmVxdWVzdCBsb2NhbGUuCiAqICAgICAgICAgICAgICAgICAgICBhbGxvd2VkR3JhbnRUeXBlcyAtIExpc3Qgb2YgdGhlIGFsbG93ZWQgZ3JhbnQgdHlwZXMgKG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuR3JhbnRUeXBlKSBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRSZXNwb25zZVR5cGVzIC0gTGlzdCBvZiB0aGUgYWxsb3dlZCByZXNwb25zZSB0eXBlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGFsbG93ZWRTY29wZXMgLSBMaXN0IG9mIHRoZSBhbGxvd2VkIHNjb3BlcyBmb3IgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXMgLSBBIG1hcCBvZiB0aGUgY3VzdG9tIHByb3BlcnRpZXMgb2YgdGhlIGNsaWVudC4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBvciBtYXBzIHdpbGwgYmUgaW5jbHVkZWQgYXMgc3ViLW1hcHM7IGZvciBleGFtcGxlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbU1hcFtLZXkxXT1WYWx1ZTEgd2lsbCBiZSByZXR1cm5lZCBhcyBjdXN0b21NYXAgLT4gS2V5MSAtPiBWYWx1ZTEuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gYWRkIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGEgY2xpZW50LCB1cGRhdGUgdGhlIEN1c3RvbSBQcm9wZXJ0aWVzIGZpZWxkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gQU0gQ29uc29sZSA+IFJlYWxtIE5hbWUgPiBBcHBsaWNhdGlvbnMgPiBPQXV0aCAyLjAgPiBDbGllbnRzID4gQ2xpZW50IElEID4gQWR2YW5jZWQuCiAqIGlkZW50aXR5IC0gQU1JZGVudGl0eSAoMykuCiAqICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBpZGVudGl0eSBvZiB0aGUgcmVzb3VyY2Ugb3duZXIuCiAqIHNlc3Npb24gLSBTU09Ub2tlbiAoNCkuCiAqICAgICAgICAgICBQcmVzZW50IGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBzZXNzaW9uIGNvb2tpZSwgdGhlIHVzZXIncyBzZXNzaW9uIG9iamVjdC4KICogc2NyaXB0TmFtZSAtIFN0cmluZyAocHJpbWl0aXZlKS4KICogICAgICAgICAgICAgIEFsd2F5cyBwcmVzZW50LCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBzY3JpcHQuCiAqIGxvZ2dlciAtIEFsd2F5cyBwcmVzZW50LCB0aGUgIk9BdXRoMlByb3ZpZGVyIiBkZWJ1ZyBsb2dnZXIgaW5zdGFuY2U6CiAqICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuaHRtbCNzY3JpcHRpbmctYXBpLWdsb2JhbC1sb2dnZXIuCiAqICAgICAgICAgIENvcnJlc3BvbmRpbmcgZmlsZXMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoOiBzY3JpcHRzLk9JRENfQ0xBSU1TLgogKiBodHRwQ2xpZW50IC0gSFRUUCBDbGllbnQgKDgpLgogKiAgICAgICAgICAgICAgQWx3YXlzIHByZXNlbnQsIHRoZSBIVFRQIENsaWVudCBpbnN0YW5jZToKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHRpbmctYXBpLWdsb2JhbC1odHRwLWNsaWVudC5odG1sI3NjcmlwdGluZy1hcGktZ2xvYmFsLWh0dHAtY2xpZW50LgogKiAgICAgICAgICAgICAgSW4gb3JkZXIgdG8gdXNlIHRoZSBjbGllbnQsIHlvdSBtYXkgbmVlZCB0byBhZGQKICogICAgICAgICAgICAgIG9yZy5mb3JnZXJvY2suaHR0cC5DbGllbnQsCiAqICAgICAgICAgICAgICBvcmcuZm9yZ2Vyb2NrLmh0dHAucHJvdG9jb2wuKiwKICogICAgICAgICAgICAgIGFuZCBvcmcuZm9yZ2Vyb2NrLnV0aWwucHJvbWlzZS5Qcm9taXNlSW1wbAogKiAgICAgICAgICAgICAgdG8gdGhlIGFsbG93ZWQgSmF2YSBjbGFzc2VzIGluIHRoZSBzY3JpcHRpbmcgZW5naW5lIGNvbmZpZ3VyYXRpb24sIGFzIGRlc2NyaWJlZCBpbjoKICogICAgICAgICAgICAgIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L3NjcmlwdGluZy1ndWlkZS9zY3JpcHQtZW5naW5lLXNlY3VyaXR5Lmh0bWwKICoKICogUmV0dXJuIC0gYSBuZXcgVXNlckluZm9DbGFpbXMoTWFwPFN0cmluZywgT2JqZWN0PiB2YWx1ZXMsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gY29tcG9zaXRlU2NvcGVzKSAoMSkgb2JqZWN0LgogKiAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBsYXN0IHN0YXRlbWVudCBpbiB0aGUgc2NyaXB0IGlzIHJldHVybmVkIHRvIHRoZSBzZXJ2ZXIuCiAqICAgICAgICAgIEN1cnJlbnRseSwgdGhlIEltbWVkaWF0ZWx5IEludm9rZWQgRnVuY3Rpb24gRXhwcmVzc2lvbiAoYWxzbyBrbm93biBhcyBTZWxmLUV4ZWN1dGluZyBBbm9ueW1vdXMgRnVuY3Rpb24pCiAqICAgICAgICAgIGlzIHRoZSBsYXN0IChhbmQgb25seSkgc3RhdGVtZW50IGluIHRoaXMgc2NyaXB0LCBhbmQgaXRzIHJldHVybiB2YWx1ZSB3aWxsIGJlY29tZSB0aGUgc2NyaXB0IHJlc3VsdC4KICogICAgICAgICAgRG8gbm90IHVzZSAicmV0dXJuIHZhcmlhYmxlIiBzdGF0ZW1lbnQgb3V0c2lkZSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uCiAqICAgICAgICAgIFNlZSBSRVNVTFRTIHNlY3Rpb24gZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KICoKICogQ2xhc3MgcmVmZXJlbmNlOgogKiAoMSkgVXNlckluZm9DbGFpbXMgLSBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb2F1dGgyL2NvcmUvVXNlckluZm9DbGFpbXMuaHRtbC4KICogKDIpIENsYWltIC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbCkuCiAqICAgICAgICAgQW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGhhcyBtZXRob2RzIHRvIGFjY2VzcwogKiAgICAgICAgIHRoZSBjbGFpbSBuYW1lLCByZXF1ZXN0ZWQgdmFsdWVzLCBsb2NhbGUsIGFuZCB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwuCiAqICgzKSBBTUlkZW50aXR5IC0gaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9jb20vc3VuL2lkZW50aXR5L2lkbS9BTUlkZW50aXR5Lmh0bWwuCiAqICg0KSBTU09Ub2tlbiAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3MvY29tL2lwbGFuZXQvc3NvL1NTT1Rva2VuLmh0bWwuCiAqICg1KSBNYXAgLSBodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL0hhc2hNYXAuaHRtbCwKICogICAgICAgICAgIG9yIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvTGlua2VkSGFzaE1hcC5odG1sLgogKiAoNikgU2V0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9IYXNoU2V0Lmh0bWwuCiAqICg3KSBMaXN0IC0gaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamF2YS5iYXNlL2phdmEvdXRpbC9BcnJheUxpc3QuaHRtbC4KICogKDgpIENsaWVudCAtIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9odHRwL0NsaWVudC5odG1sLgoqLwoKKGZ1bmN0aW9uICgpIHsKICAgIC8vIFNFVFVQCgogICAgLyoqCiAgICAgKiBDbGFpbSBwcm9jZXNzaW5nIHV0aWxpdGllcy4KICAgICAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJldXNhYmxlIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjbGFpbXMuCiAgICAgKiBAc2VlIENMQUlNIFBST0NFU1NJTkcgVVRJTElUSUVTIHNlY3Rpb24gZm9yIGRldGFpbHMuCiAgICAgKi8KICAgIHZhciB1dGlscyA9IGdldFV0aWxzKCk7CgogICAgLy8gQ09ORklHVVJBVElPTiBBTkQgQ1VTVE9NSVpBVElPTgoKICAgIC8qKgogICAgICogT0F1dGggMi4wIHNjb3BlIHZhbHVlcyAoc2NvcGVzKSBjYW4gYmUgdXNlZCBieSB0aGUgQ2xpZW50IHRvIHJlcXVlc3QgT0lEQyBjbGFpbXMuCiAgICAgKgogICAgICogQ2FsbCB0aGlzIGNvbmZpZ3VyYXRpb24gbWV0aG9kLCBhbmQgcGFzcyBpbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgICAqIGFuIG9iamVjdCB0aGF0IG1hcHMgYSBzY29wZSB2YWx1ZSB0byBhbiBhcnJheSBvZiBjbGFpbSBuYW1lcwogICAgICogdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfQogICAgICogZm9yIHRoZSBzY29wZSB2YWx1ZXMgdGhhdCBjb3VsZCBiZSB1c2VkIHRvIHJlcXVlc3QgY2xhaW1zIGFzIGRlZmluZWQgaW4gdGhlIE9JREMgc3BlY2lmaWNhdGlvbi4KICAgICAqCiAgICAgKiBCZWxvdywgZmluZCBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGlzIGV4cGVjdGVkIHRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiBjaG9vc2UgdGhlIGNsYWltIG5hbWVzIHJldHVybmVkIGZvciBhIHNjb3BlLgogICAgICovCiAgICB1dGlscy5zZXRTY29wZUNsYWltc01hcCh7CiAgICAgICAgcHJvZmlsZTogWwogICAgICAgICAgICAnbmFtZScsCiAgICAgICAgICAgICdmYW1pbHlfbmFtZScsCiAgICAgICAgICAgICdnaXZlbl9uYW1lJywKICAgICAgICAgICAgJ3pvbmVpbmZvJywKICAgICAgICAgICAgJ2xvY2FsZScKICAgICAgICBdLAogICAgICAgIGVtYWlsOiBbJ2VtYWlsJ10sCiAgICAgICAgYWRkcmVzczogWydhZGRyZXNzJ10sCiAgICAgICAgcGhvbmU6IFsncGhvbmVfbnVtYmVyJ10KICAgIH0pOwoKICAgIC8qKgogICAgICogSW4gdGhpcyBzY3JpcHQsIGVhY2ggY2xhaW0KICAgICAqIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3BlcywKICAgICAqIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kCiAgICAgKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCB2aWEgdGhlIGNsYWltcyBwYXJhbWV0ZXIKICAgICAqIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IGEgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGFpbSBuYW1lLgogICAgICoKICAgICAqIENhbGwgdGhpcyBjb25maWd1cmF0aW9uIG1ldGhvZCwgYW5kIHBhc3MgaW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIGEgY2xhaW0gbmFtZSB0byBhIHJlc29sdmVyIGZ1bmN0aW9uLAogICAgICogd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBlYWNoIGNsYWltIHByb2Nlc3NlZCBieSB0aGUgc2NyaXB0LgogICAgICoKICAgICAqIFRoZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIHJlcXVlc3RlZCBjbGFpbSBpbmZvcm1hdGlvbgogICAgICogaW4gYW4gaW5zdGFuY2Ugb2Ygb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9CiAgICAgKiBmb3IgZGV0YWlscyBvbiB0aGUgQ2xhaW0gY2xhc3MuCiAgICAgKgogICAgICogSWYgdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIHJldHVybnMgYSB2YWx1ZSwKICAgICAqIG90aGVyIHRoYW4gdW5kZWZpbmVkIG9yIG51bGwsCiAgICAgKiB0aGUgY2xhaW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgc2NyaXB0J3MgcmVzdWx0cy4KICAgICAqCiAgICAgKiBUaGUgQ2xhaW0gaW5zdGFuY2UgcHJvdmlkZXMgbWV0aG9kcyB0byBjaGVjawogICAgICogd2hhdCB0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaXMsCiAgICAgKiB3aGljaCB2YWx1ZXMgdGhlIGNsYWltIHJlcXVlc3QgY29udGFpbnMsCiAgICAgKiB3aGV0aGVyIHRoZSBjbGFpbSBpcyBlc3NlbnRpYWwsIGFuZAogICAgICogd2hpY2ggbG9jYWxlIHRoZSBjbGFpbSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgKiBUaGUgcmVzb2x2ZXIgZnVuY3Rpb24gY2FuIGNvbnNpZGVyIHRoaXMgaW5mb3JtYXRpb24gd2hlbiBjb21wdXRpbmcgYW5kIHJldHVybmluZyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgKgogICAgICogQmVsb3csIGZpbmQgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBleHBlY3RlZCB0byB3b3JrIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgogICAgICogQSByZXVzYWJsZSBmdW5jdGlvbiwgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKFN0cmluZyBhdHRyaWJ1dGUtbmFtZSksCiAgICAgKiBpcyBjYWxsZWQgdG8gcmV0dXJuIGEgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICogQHNlZSBDTEFJTSBSRVNPTFZFUlMgc2VjdGlvbiBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGV4YW1wbGVzLgogICAgICogRm9yIHRoZSBhZGRyZXNzIGNsYWltLCBhbiBleGFtcGxlIG9mIGEgY2xhaW0gcmVzb2x2ZXIgdGhhdCB1c2VzIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIgaXMgcHJvdmlkZWQuCiAgICAgKgogICAgICogQ1VTVE9NSVpBVElPTgogICAgICogWW91IGNhbiByZXVzZSB0aGUgcHJlZGVmaW5lZCB1dGlscyBtZXRob2RzIHdpdGggeW91ciBjdXN0b20gYXJndW1lbnRzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIGEgY2xhaW0gbmFtZSwKICAgICAqIHRoYXQgd2lsbCBjb21wdXRlIGFuZCByZXR1cm4gdGhlIGNsYWltIHZhbHVl4oCUYXMgc2hvd24gaW4gdGhlIGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBiZWxvdy4KICAgICAqLwogICAgdXRpbHMuc2V0Q2xhaW1SZXNvbHZlcnMoewogICAgICAgIC8qCiAgICAgICAgLy8gQW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IGlzIGRlZmluZWQgZm9yIGEgY2xhaW0KICAgICAgICAvLyBkaXJlY3RseSBpbiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Q6CiAgICAgICAgY3VzdG9tLWNsYWltLW5hbWU6IGZ1bmN0aW9uIChyZXF1ZXN0ZWRDbGFpbSkgewogICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIGluaXRpYWxseSwgdGhlIGNsYWltIHZhbHVlIGNvbWVzIHN0cmFpZ2h0IGZyb20gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlOgogICAgICAgICAgICB2YXIgY2xhaW1WYWx1ZSA9IGlkZW50aXR5LmdldEF0dHJpYnV0ZSgnY3VzdG9tLWF0dHJpYnV0ZS1uYW1lJykudG9BcnJheSgpWzBdCgogICAgICAgICAgICAvLyBPcHRpb25hbGx5LCBwcm92aWRlIGFkZGl0aW9uYWwgbG9naWMgZm9yIHByb2Nlc3NpbmcgKGZpbHRlcmluZywgZm9ybWF0dGluZywgZXRjLikgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAgICAvLyBZb3UgY2FuIHVzZToKICAgICAgICAgICAgLy8gcmVxdWVzdGVkQ2xhaW0uZ2V0TmFtZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldFZhbHVlcygpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmdldExvY2FsZSgpCiAgICAgICAgICAgIC8vIHJlcXVlc3RlZENsYWltLmlzRXNzZW50aWFsKCkKCiAgICAgICAgICAgIHJldHVybiBjbGFpbVZhbHVlCiAgICAgICAgfSwKICAgICAgICAqLwogICAgICAgIC8qKgogICAgICAgICAqIFRoZSB1c2Ugb2YgdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIHNob3dzIGhvdwogICAgICAgICAqIGFuIGFyZ3VtZW50IHBhc3NlZCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNsYWltIHJlc29sdmVyCiAgICAgICAgICogYmVjb21lcyBhdmFpbGFibGUgdG8gdGhlIHJlc29sdmVyIGZ1bmN0aW9uICh2aWEgaXRzIGxleGljYWwgY29udGV4dCkuCiAgICAgICAgICovCiAgICAgICAgbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdjbicpLAogICAgICAgIGZhbWlseV9uYW1lOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3NuJyksCiAgICAgICAgZ2l2ZW5fbmFtZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdnaXZlbm5hbWUnKSwKICAgICAgICB6b25laW5mbzogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWR0aW1lem9uZScpLAogICAgICAgIGxvY2FsZTogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdwcmVmZXJyZWRsb2NhbGUnKSwKICAgICAgICBlbWFpbDogdXRpbHMuZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyKCdtYWlsJyksCiAgICAgICAgYWRkcmVzczogdXRpbHMuZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXIoCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBUaGUgcGFzc2VkIGluIHVzZXIgcHJvZmlsZSBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiBjYW4gYmUgdXNlZCBieSB0aGUgYWRkcmVzcyBjbGFpbSByZXNvbHZlciBmdW5jdGlvbgogICAgICAgICAgICAgKiB0byBvYnRhaW4gdGhlIGNsYWltIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBhcyBwZXIgdGhlIE9JREMgc3BlY2lmaWNhdGlvbjoKICAgICAgICAgICAgICogQHNlZSBodHRwczovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3QtY29yZS0xXzAuaHRtbCNBZGRyZXNzQ2xhaW0uCiAgICAgICAgICAgICAqLwogICAgICAgICAgICB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3Bvc3RhbGFkZHJlc3MnKQogICAgICAgICksCiAgICAgICAgcGhvbmVfbnVtYmVyOiB1dGlscy5nZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXIoJ3RlbGVwaG9uZW51bWJlcicpCiAgICB9KTsKCiAgICAvLyBDTEFJTSBQUk9DRVNTSU5HIFVUSUxJVElFUwoKICAgIC8qKgogICAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgcmV1c2FibGUgY2xhaW0gcHJvY2Vzc2luZyB1dGlsaXRpZXMuCiAgICAgKiBAc2VlIFBVQkxJQyBNRVRIT0RTIHNlY3Rpb24gYW5kIHRoZSByZXR1cm4gc3RhdGVtZW50IGZvciB0aGUgbGlzdCBvZiBleHBvcnRlZCBmdW5jdGlvbnMuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFV0aWxzICgpIHsKICAgICAgICAvLyBJTVBPUlQgSkFWQQoKICAgICAgICAvKioKICAgICAgICAgKiBQcm92aWRlcyBKYXZhIHNjcmlwdGluZyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9SaGluby9TY3JpcHRpbmdfSmF2YSNqYXZhaW1wb3J0ZXJfY29uc3RydWN0b3J9LgogICAgICAgICAqLwogICAgICAgIHZhciBmckphdmEgPSBKYXZhSW1wb3J0ZXIoCiAgICAgICAgICAgIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiwKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltcywKICAgICAgICAgICAgb3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltLAoKICAgICAgICAgICAgamF2YS51dGlsLkxpbmtlZEhhc2hNYXAsCiAgICAgICAgICAgIGphdmEudXRpbC5BcnJheUxpc3QKICAgICAgICApOwoKICAgICAgICAvLyBTRVQgVVAgQ09ORklHVVJBVElPTgoKICAgICAgICAvKioKICAgICAgICAgKiBQbGFjZWhvbGRlciBmb3IgYSBjb25maWd1cmF0aW9uIG9wdGlvbiB0aGF0IGNvbnRhaW5zCiAgICAgICAgICogYW4gb2JqZWN0IHRoYXQgbWFwcyB0aGUgc3VwcG9ydGVkIHNjb3BlIHZhbHVlcyAoc2NvcGVzKQogICAgICAgICAqIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjbGFpbSBuYW1lcyBmb3IgZWFjaCBzY29wZSB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICB2YXIgc2NvcGVDbGFpbXNNYXA7CgogICAgICAgIC8qKgogICAgICAgICAqIFBsYWNlaG9sZGVyIGZvciBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgY29udGFpbnMKICAgICAgICAgKiBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLgogICAgICAgICAqLwogICAgICAgIHZhciBjbGFpbVJlc29sdmVyczsKCiAgICAgICAgLyoqCiAgICAgICAgICogQSAocHVibGljKSBtZXRob2QgdGhhdCBhY2NlcHRzIGFuIG9iamVjdCB0aGF0IG1hcHMgdGhlIHN1cHBvcnRlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMgZWFjaCBzdXBwb3J0ZWQgc2NvcGUgdmFsdWUgdG8gYW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMsCiAgICAgICAgICogaW4gb3JkZXIgdG8gc3BlY2lmeSB3aGljaCBjbGFpbXMgbmVlZCB0byBiZSBwcm9jZXNzZWQgZm9yIHRoZSByZXF1ZXN0ZWQgc2NvcGVzLgogICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI1Njb3BlQ2xhaW1zfSBmb3IgZGV0YWlscy4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLnByb2ZpbGVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHByb2ZpbGUgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMuZW1haWxdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGVtYWlsIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbcGFyYW1zLmFkZHJlc3NdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIGFkZHJlc3Mgc2NvcGUgaXMgcmVxdWVzdGVkLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtwYXJhbXMucGhvbmVdIC0gQW4gYXJyYXkgb2YgY2xhaW0gbmFtZXMgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIHBob25lIHNjb3BlIGlzIHJlcXVlc3RlZC4KICAgICAgICAgKiBAcmV0dXJucyB7dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHNldFNjb3BlQ2xhaW1zTWFwKHBhcmFtcykgewogICAgICAgICAgICBzY29wZUNsYWltc01hcCA9IHBhcmFtczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEEgKHB1YmxpYykgbWV0aG9kIHRoYXQgYWNjZXB0cyBhbiBvYmplY3QgdGhhdCBtYXBzIHRoZSBzdXBwb3J0ZWQgY2xhaW0gbmFtZXMKICAgICAgICAgKiBhbmQgdGhlIHJlc29sdmVyIGZ1bmN0aW9ucyByZXR1cm5pbmcgdGhlIGNsYWltIHZhbHVlLAogICAgICAgICAqIGFuZCBhc3NpZ25zIGl0IHRvIGEgKHByaXZhdGUpIHZhcmlhYmxlIHRoYXQgc2VydmVzIGFzIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCiAgICAgICAgICogQHBhcmFtIHtvYmplY3R9IHBhcmFtcyAtIEFuIG9iamVjdCB0aGF0IG1hcHMKICAgICAgICAgKiBlYWNoIHN1cHBvcnRlZCBjbGFpbSBuYW1lIHRvIGEgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gc2V0Q2xhaW1SZXNvbHZlcnMocGFyYW1zKSB7CiAgICAgICAgICAgIGNsYWltUmVzb2x2ZXJzID0gcGFyYW1zOwogICAgICAgIH0KCiAgICAgICAgLy8gQ0xBSU0gUkVTT0xWRVJTCgogICAgICAgIC8qKgogICAgICAgICAqIENsYWltIHJlc29sdmVycyBhcmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHBhcmFtIHsqfQogICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAqLwoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGEgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlLgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gTmFtZSBvZiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGRldGVybWluZSB0aGUgY2xhaW0gdmFsdWUKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgdXNlciBwcm9maWxlIGF0dHJpYnV0ZSBhbmQgdGhlIChyZXF1ZXN0ZWQpIGNsYWltIHByb3BlcnRpZXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlclByb2ZpbGVDbGFpbVJlc29sdmVyIChhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXNvbHZlcyBhIGNsYWltIHdpdGggYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAgICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgaWRlbnRpdHkgYXR0cmlidXRlIGlzIG5vdCBwb3B1bGF0ZWQsCiAgICAgICAgICAgICAqIE9SIGlmIHRoZSBjbGFpbSBoYXMgcmVxdWVzdGVkIHZhbHVlcyB0aGF0IGRvIG5vdCBjb250YWluIHRoZSBpZGVudGl0eSBhdHRyaWJ1dGUgdmFsdWUuCiAgICAgICAgICAgICAqIEFUVEVOVElPTjogdGhlIGFmb3JlbWVudGlvbmVkIGNvbXBhcmlzb24gaXMgY2FzZS1zZW5zaXRpdmUuCiAgICAgICAgICAgICAqIEBwYXJhbSB7b3JnLmZvcmdlcm9jay5vcGVuaWRjb25uZWN0LkNsYWltfSBjbGFpbQogICAgICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciBkZXRhaWxzLgogICAgICAgICAgICAgKiBAcmV0dXJucyB7c3RyaW5nfEhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUNsYWltKGNsYWltKSB7CiAgICAgICAgICAgICAgICB2YXIgdXNlclByb2ZpbGVWYWx1ZTsKCiAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkpIHsKICAgICAgICAgICAgICAgICAgICB1c2VyUHJvZmlsZVZhbHVlID0gZ2V0Q2xhaW1WYWx1ZUZyb21TZXQoY2xhaW0sIGlkZW50aXR5LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CgogICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUHJvZmlsZVZhbHVlICYmICF1c2VyUHJvZmlsZVZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsYWltLmdldFZhbHVlcygpIHx8IGNsYWltLmdldFZhbHVlcygpLmlzRW1wdHkoKSB8fCBjbGFpbS5nZXRWYWx1ZXMoKS5jb250YWlucyh1c2VyUHJvZmlsZVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJQcm9maWxlVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW07CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGFkZHJlc3MgY2xhaW0gcmVzb2x2ZXIgYmFzZWQgb24gYSBjbGFpbSB2YWx1ZSBvYnRhaW5lZCB3aXRoIGFub3RoZXIgY2xhaW0gcmVzb2x2ZXIuCiAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbn0gcmVzb2x2ZUNsYWltIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259IEEgZnVuY3Rpb24gdGhhdCB3aWxsIGFjY2VwdCBhIGNsYWltIGFzIGFuIGFyZ3VtZW50LAogICAgICAgICAqIHJ1biB0aGUgY2xhaW0gcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBjbGFpbSBhbmQgb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwKICAgICAgICAgKiBhbmQgYXBwbHkgYWRkaXRpb25hbCBmb3JtYXR0aW5nIHRvIHRoZSB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldEFkZHJlc3NDbGFpbVJlc29sdmVyIChyZXNvbHZlQ2xhaW0pIHsKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIENyZWF0ZXMgYW4gYWRkcmVzcyBjbGFpbSBvYmplY3QgZnJvbSBhIHZhbHVlIHJldHVybmVkIGJ5IGEgY2xhaW0gcmVzb2x2ZXIsCiAgICAgICAgICAgICAqIGFuZCByZXR1cm5zIHRoZSBhZGRyZXNzIGNsYWltIG9iamVjdCBhcyB0aGUgY2xhaW0gdmFsdWUuCiAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0FkZHJlc3NDbGFpbX0uCiAgICAgICAgICAgICAqIFRoZSBjbGFpbSB2YWx1ZSBpcyBvYnRhaW5lZCB3aXRoIGEgY2xhaW0gcmVzb2x2aW5nIGZ1bmN0aW9uIGF2YWlsYWJsZSBmcm9tIHRoZSBjbG9zdXJlLgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfHVuZGVmaW5lZH0gVGhlIGFkZHJlc3MgY2xhaW0gb2JqZWN0IGNyZWF0ZWQgZnJvbSBhIGNsYWltIHZhbHVlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZUFkZHJlc3NDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgdmFyIGFkZHJlc3NPYmplY3Q7CgogICAgICAgICAgICAgICAgaWYgKGlzQ2xhaW1WYWx1ZVZhbGlkKGNsYWltVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc09iamVjdCA9IG5ldyBmckphdmEuTGlua2VkSGFzaE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICBhZGRyZXNzT2JqZWN0LnB1dCgnZm9ybWF0dGVkJywgY2xhaW1WYWx1ZSk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRyZXNzT2JqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUFkZHJlc3NDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgYW4gZXNzZW50aWFsIGNsYWltIHJlc29sdmVyIGJhc2VkIG9uIGEgY2xhaW0gdmFsdWUgb2J0YWluZWQgd2l0aCBhbm90aGVyIGNsYWltIHJlc29sdmVyLgogICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IHJlc29sdmVDbGFpbSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY2xhaW0gdmFsdWUuCiAgICAgICAgICogQHJldHVybnMge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQgYSBjbGFpbSBhcyBhbiBhcmd1bWVudCwKICAgICAgICAgKiBydW4gdGhlIGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgY2xhaW0gYW5kIG9idGFpbiB0aGUgY2xhaW0gdmFsdWUsCiAgICAgICAgICogYW5kIGFwcGx5IGFkZGl0aW9uYWwgbG9naWMgZm9yIGVzc2VudGlhbCBjbGFpbXMuCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0RXNzZW50aWFsQ2xhaW1SZXNvbHZlciAocmVzb2x2ZUNsYWltKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBSZXR1cm5zIGEgY2xhaW0gdmFsdWUgb3IgdGhyb3dzIGFuIGVycm9yLgogICAgICAgICAgICAgKiBUaGUgY2xhaW0gdmFsdWUgaXMgb2J0YWluZWQgd2l0aCBhIGNsYWltIHJlc29sdmluZyBmdW5jdGlvbiBhdmFpbGFibGUgZnJvbSB0aGUgY2xvc3VyZS4KICAgICAgICAgICAgICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgY2xhaW0gaXMgZXNzZW50aWFsIGFuZCBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgdGhlIGNsYWltLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBVc2Ugb2YgdGhpcyByZXNvbHZlciBpcyBvcHRpb25hbC4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjSW5kaXZpZHVhbENsYWltc1JlcXVlc3RzfSBzdGF0aW5nOgogICAgICAgICAgICAgKiAiTm90ZSB0aGF0IGV2ZW4gaWYgdGhlIENsYWltcyBhcmUgbm90IGF2YWlsYWJsZSBiZWNhdXNlIHRoZSBFbmQtVXNlciBkaWQgbm90IGF1dGhvcml6ZSB0aGVpciByZWxlYXNlIG9yIHRoZXkgYXJlIG5vdCBwcmVzZW50LAogICAgICAgICAgICAgKiB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCBOT1QgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBDbGFpbXMgYXJlIG5vdCByZXR1cm5lZCwgd2hldGhlciB0aGV5IGFyZSBFc3NlbnRpYWwgb3IgVm9sdW50YXJ5LAogICAgICAgICAgICAgKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljIGNsYWltLiIKICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtvcmcuZm9yZ2Vyb2NrLm9wZW5pZGNvbm5lY3QuQ2xhaW19IGNsYWltCiAgICAgICAgICAgICAqIEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gb2J0YWluIGluZm9ybWF0aW9uL3JlcXVpcmVtZW50cyBhc3NvY2lhdGVkIHdpdGggYSBjbGFpbS4KICAgICAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICAgICAqIEByZXR1cm5zIHsqfQogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqLwogICAgICAgICAgICBmdW5jdGlvbiByZXNvbHZlRXNzZW50aWFsQ2xhaW0oY2xhaW0pIHsKICAgICAgICAgICAgICAgIHZhciBjbGFpbVZhbHVlID0gcmVzb2x2ZUNsYWltKGNsYWltKTsKCiAgICAgICAgICAgICAgICBpZiAoY2xhaW0uaXNFc3NlbnRpYWwoKSAmJiAhaXNDbGFpbVZhbHVlVmFsaWQoY2xhaW1WYWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZnJKYXZhLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uKCdDb3VsZCBub3QgcHJvdmlkZSB2YWx1ZSBmb3IgZXNzZW50aWFsIGNsYWltOiAnICsgY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1WYWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVFc3NlbnRpYWxDbGFpbTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFByb3ZpZGVzIGRlZmF1bHQgcmVzb2x1dGlvbiBmb3IgYSBjbGFpbS4KICAgICAgICAgKiBVc2UgaXQgaWYgYSBjbGFpbS1zcGVjaWZpYyByZXNvbHZlciBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHJldHVybnMgeyp9IEEgc2luZ2xlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNsYWltLgogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIHJlc29sdmVBbnlDbGFpbSAoY2xhaW0pIHsKICAgICAgICAgICAgaWYgKGNsYWltLmdldFZhbHVlcygpLnNpemUoKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGNsYWltLmdldFZhbHVlcygpLnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVVRJTElUSUVTCgogICAgICAgIC8qKgogICAgICAgICAqIFJldHVybnMgY2xhaW0gdmFsdWUgZnJvbSBhIHNldC4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIGEgc2luZ2xlIHZhbHVlLCByZXR1cm5zIHRoZSB2YWx1ZS4KICAgICAgICAgKiBJZiB0aGUgc2V0IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgcmV0dXJucyB0aGUgc2V0LgogICAgICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB1bmRlZmluZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgKiBBbiBvYmplY3QgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIG9idGFpbiBpbmZvcm1hdGlvbi9yZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIGEgY2xhaW0uCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29wZW5pZGNvbm5lY3QvQ2xhaW0uaHRtbH0gZm9yIGRldGFpbHMuCiAgICAgICAgICogQHBhcmFtIHtqYXZhLnV0aWwuSGFzaFNldH0gc2V0IFRoZSBzZXTigJRmb3IgZXhhbXBsZSwgYSB1c2VyIHByb2ZpbGUgYXR0cmlidXRlIHZhbHVlLgogICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd8amF2YS51dGlsLkhhc2hTZXR8dW5kZWZpbmVkfQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIGdldENsYWltVmFsdWVGcm9tU2V0IChjbGFpbSwgc2V0KSB7CiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUoKSkgewogICAgICAgICAgICAgICAgaWYgKHNldC5zaXplKCkgPT09IDEpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0LnRvQXJyYXkoKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChsb2dnZXIud2FybmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ09JREMgQ2xhaW1zIHNjcmlwdC4gR290IGFuIGVtcHR5IHNldCBmb3IgY2xhaW06ICcgKyBjbGFpbS5nZXROYW1lKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBpc0NsYWltVmFsdWVWYWxpZCAoY2xhaW1WYWx1ZSkgewogICAgICAgICAgICBpZiAodHlwZW9mIGNsYWltVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGNsYWltVmFsdWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICAvLyBDTEFJTSBQUk9DRVNTSU5HCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnN0cnVjdHMgYW5kIHJldHVybnMgYW4gb2JqZWN0IHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMKICAgICAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBzY29wZXMgbWFwcGVkIHRvIHRoZSBjbGFpbSBuYW1lcy4KICAgICAgICAgKiBAcmV0dXJucyB7b3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5Vc2VySW5mb0NsYWltc30gVGhlIG9iamVjdCB0byBiZSByZXR1cm5lZCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuCiAgICAgICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICAgICAqIEBzZWUgUkVTVUxUUyBzZWN0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24uCiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0VXNlckluZm9DbGFpbXMgKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IGZySmF2YS5Vc2VySW5mb0NsYWltcyhnZXRDb21wdXRlZENsYWltcygpLCBnZXRDb21wb3NpdGVTY29wZXMoKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIChyZXF1ZXN0ZWQpIGNsYWltIG5hbWVzIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMuCiAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5MaW5rZWRIYXNoTWFwfQogICAgICAgICAqIEEgbWFwIG9mIHRoZSByZXF1ZXN0ZWQgY2xhaW0gbmFtZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIHZhbHVlcy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wdXRlZENsYWltcyAoKSB7CiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDcmVhdGVzIGEgY29tcGxldGUgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZyb206CiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgZGVyaXZlZCBmcm9tIHRoZSBzY29wZXMsCiAgICAgICAgICAgICAqIHRoZSBjbGFpbXMgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcml6YXRpb24gc2VydmVyLAogICAgICAgICAgICAgKiBhbmQgdGhlIGNsYWltcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KICAgICAgICAgICAgICogQHJldHVybnMge2phdmEudXRpbC5BcnJheUxpc3R9CiAgICAgICAgICAgICAqIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGF2YWlsYWJsZSB0byB0aGUgc2NyaXB0LgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgdGhlIGNsYWltIG9iamVjdCBkZXRhaWxzLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0Q2xhaW1zKCkgewogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBjbGFpbSBvYmplY3RzIGZvciB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNjb3BlQ2xhaW1zTWFwIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGRlcml2ZSB0aGUgY2xhaW0gbmFtZXM7CiAgICAgICAgICAgICAgICAgKiBubyBvdGhlciBwcm9wZXJ0aWVzIG9mIGEgY2xhaW0gZGVyaXZlZCBmcm9tIGEgc2NvcGUgYXJlIHBvcHVsYXRlZC4KICAgICAgICAgICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuQXJyYXlMaXN0fQogICAgICAgICAgICAgICAgICogQSBsaXN0IG9mIG9yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbSBvYmplY3RzIGRlcml2ZWQgZnJvbSB0aGUgcmVxdWVzdGVkIHNjb3Blcy4KICAgICAgICAgICAgICAgICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vYmFja3N0YWdlLmZvcmdlcm9jay5jb20vZG9jcy9hbS83L2FwaWRvY3Mvb3JnL2Zvcmdlcm9jay9vcGVuaWRjb25uZWN0L0NsYWltLmh0bWx9IGZvciB0aGUgY2xhaW0gb2JqZWN0IGRldGFpbHMuCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRTY29wZVRvQ2xhaW1zKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoc2NvcGUpICE9PSAnb3BlbmlkJyAmJiBzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zTWFwW3Njb3BlXS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbU5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFpbXMuYWRkKG5ldyBmckphdmEuQ2xhaW0oY2xhaW1OYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNsYWltcy5hZGRBbGwoY29udmVydFNjb3BlVG9DbGFpbXMoKSk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKGNsYWltT2JqZWN0cyk7CiAgICAgICAgICAgICAgICBjbGFpbXMuYWRkQWxsKHJlcXVlc3RlZFR5cGVkQ2xhaW1zKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gY2xhaW1zOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29tcHV0ZXMgYW5kIHJldHVybnMgYSBjbGFpbSB2YWx1ZS4KICAgICAgICAgICAgICogVG8gb2J0YWluIHRoZSBjbGFpbSB2YWx1ZSwgdXNlcyB0aGUgcmVzb2x2ZXIgZnVuY3Rpb24gc3BlY2lmaWVkIGZvciB0aGUgY2xhaW0gaW4gdGhlIGNsYWltUmVzb2x2ZXJzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgogICAgICAgICAgICAgKiBAc2VlIGNsYWltUmVzb2x2ZXJzCiAgICAgICAgICAgICAqIElmIG5vIHJlc29sdmVyIGZ1bmN0aW9uIGlzIGZvdW5kLCB1c2VzIHRoZSBkZWZhdWx0IGNsYWltIHJlc29sdmVyIGZ1bmN0aW9uLgogICAgICAgICAgICAgKgogICAgICAgICAgICAgKiBAcGFyYW0ge29yZy5mb3JnZXJvY2sub3BlbmlkY29ubmVjdC5DbGFpbX0gY2xhaW0KICAgICAgICAgICAgICogQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBvYnRhaW4gaW5mb3JtYXRpb24vcmVxdWlyZW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBhIGNsYWltLgogICAgICAgICAgICAgKiBAc2VlIHtAbGluayBodHRwczovL2JhY2tzdGFnZS5mb3JnZXJvY2suY29tL2RvY3MvYW0vNy9hcGlkb2NzL29yZy9mb3JnZXJvY2svb3BlbmlkY29ubmVjdC9DbGFpbS5odG1sfSBmb3IgZGV0YWlscy4KICAgICAgICAgICAgICogQHJldHVybnMgeyp9IENsYWltIHZhbHVlLgogICAgICAgICAgICAgKiBAdGhyb3dzIHtvcmcuZm9yZ2Vyb2NrLm9hdXRoMi5jb3JlLmV4Y2VwdGlvbnMuSW52YWxpZFJlcXVlc3RFeGNlcHRpb259CiAgICAgICAgICAgICAqIFJldGhyb3dzIHRoaXMgZXhjZXB0aW9uIGlmIGEgY2xhaW0gcmVzb2x2ZXIgdGhyb3dzIGl0LgogICAgICAgICAgICAgKiBZb3UgY2FuIHRocm93IG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuZXhjZXB0aW9ucy5JbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbiBmcm9tIHlvdXIgY3VzdG9tIGNsYWltIHJlc29sdmVyCiAgICAgICAgICAgICAqIGlmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUgY2xhaW0gcHJvY2Vzc2luZy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVDbGFpbShjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIHJlc29sdmVDbGFpbTsKICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlOwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNsYWltID0gY2xhaW1SZXNvbHZlcnNbY2xhaW0uZ2V0TmFtZSgpXSB8fCByZXNvbHZlQW55Q2xhaW07CgogICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ2xhaW0oY2xhaW0pOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnT0lEQyBDbGFpbXMgc2NyaXB0IGV4Y2VwdGlvbi4gVW5hYmxlIHRvIHJlc29sdmUgT0lEQyBDbGFpbS4gJyArIGU7CgogICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoZSkuaW5kZXhPZignb3JnLmZvcmdlcm9jay5vYXV0aDIuY29yZS5leGNlcHRpb25zLkludmFsaWRSZXF1ZXN0RXhjZXB0aW9uJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobG9nZ2VyLndhcm5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcobWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgY29tcHV0ZWRDbGFpbXMgPSBuZXcgZnJKYXZhLkxpbmtlZEhhc2hNYXAoKTsKCiAgICAgICAgICAgIGdldENsYWltcygpLnRvQXJyYXkoKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFpbSkgewogICAgICAgICAgICAgICAgdmFyIGNsYWltVmFsdWUgPSBjb21wdXRlQ2xhaW0oY2xhaW0pOwoKICAgICAgICAgICAgICAgIGlmIChpc0NsYWltVmFsdWVWYWxpZChjbGFpbVZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkQ2xhaW1zLnB1dChjbGFpbS5nZXROYW1lKCksIGNsYWltVmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBJZiBhIGNsYWltIGhhcyBiZWVuIHByb2Nlc3NlZCwgYnV0IGFwcGVhcnMgaW4gdGhlIGxpc3QgYWdhaW4sCiAgICAgICAgICAgICAgICAgICAgICogYW5kIGl0cyB2YWx1ZSBjYW5ub3QgYmUgY29tcHV0ZWQgdW5kZXIgdGhlIG5ldyBjb25kaXRpb25zLAogICAgICAgICAgICAgICAgICAgICAqIHRoZSBjbGFpbSBpcyByZW1vdmVkIGZyb20gdGhlIGZpbmFsIHJlc3VsdC4KICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAqIEZvciBleGFtcGxlLCBhIGNsYWltIGNvdWxkIGJlIG1hcHBlZCB0byBhIHNjb3BlIGFuZCBmb3VuZCBpbiB0aGUgdXNlciBwcm9maWxlLAogICAgICAgICAgICAgICAgICAgICAqIGJ1dCBhbHNvIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IHdpdGggcmVxdWlyZWQgdmFsdWVzIHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIGNvbXB1dGVkIG9uZS4KICAgICAgICAgICAgICAgICAgICAgKiBAc2VlIHtsaW5rIGh0dHBzOi8vb3BlbmlkLm5ldC9zcGVjcy9vcGVuaWQtY29ubmVjdC1jb3JlLTFfMC5odG1sI0luZGl2aWR1YWxDbGFpbXNSZXF1ZXN0c30uCiAgICAgICAgICAgICAgICAgICAgICogZm9yIHRoZSByZWxldmFudCBPSURDIHNwZWNpZmljYXRpb24gZGV0YWlscy4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICBjb21wdXRlZENsYWltcy5yZW1vdmUoY2xhaW0uZ2V0TmFtZSgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRDbGFpbXM7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgbWFwIG9mIHJlcXVlc3RlZCBzY29wZXMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNsYWltIG5hbWVzLgogICAgICAgICAqIEByZXR1cm5zIHtqYXZhLnV0aWwuTGlua2VkSGFzaE1hcH0KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiBnZXRDb21wb3NpdGVTY29wZXMgKCkgewogICAgICAgICAgICB2YXIgY29tcG9zaXRlU2NvcGVzID0gbmV3IGZySmF2YS5MaW5rZWRIYXNoTWFwKCk7CgogICAgICAgICAgICBzY29wZXMudG9BcnJheSgpLmZvckVhY2goZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICAgICAgICB2YXIgc2NvcGVDbGFpbXMgPSBuZXcgZnJKYXZhLkFycmF5TGlzdCgpOwoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltc01hcFtzY29wZV0pIHsKICAgICAgICAgICAgICAgICAgICBzY29wZUNsYWltc01hcFtzY29wZV0uZm9yRWFjaChmdW5jdGlvbiAoY2xhaW1OYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ2xhaW1zLmFkZChjbGFpbU5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzY29wZUNsYWltcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGVTY29wZXMucHV0KHNjb3BlLCBzY29wZUNsYWltcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2l0ZVNjb3BlczsKICAgICAgICB9CgogICAgICAgIC8vIFBVQkxJQyBNRVRIT0RTCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHNldFNjb3BlQ2xhaW1zTWFwOiBzZXRTY29wZUNsYWltc01hcCwKICAgICAgICAgICAgc2V0Q2xhaW1SZXNvbHZlcnM6IHNldENsYWltUmVzb2x2ZXJzLAogICAgICAgICAgICBnZXRVc2VyUHJvZmlsZUNsYWltUmVzb2x2ZXI6IGdldFVzZXJQcm9maWxlQ2xhaW1SZXNvbHZlciwKICAgICAgICAgICAgZ2V0QWRkcmVzc0NsYWltUmVzb2x2ZXI6IGdldEFkZHJlc3NDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyOiBnZXRFc3NlbnRpYWxDbGFpbVJlc29sdmVyLAogICAgICAgICAgICBnZXRVc2VySW5mb0NsYWltczogZ2V0VXNlckluZm9DbGFpbXMKICAgICAgICB9OwogICAgfQoKICAgIC8vIFJFU1VMVFMKCiAgICAvKioKICAgICAqIFRoaXMgc2NyaXB0IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIG9yZy5mb3JnZXJvY2sub2F1dGgyLmNvcmUuVXNlckluZm9DbGFpbXMgY2xhc3MKICAgICAqIHBvcHVsYXRlZCB3aXRoIHRoZSBjb21wdXRlZCBjbGFpbSB2YWx1ZXMgYW5kCiAgICAgKiB0aGUgcmVxdWVzdGVkIHNjb3BlcyBtYXBwZWQgdG8gdGhlIGNsYWltIG5hbWVzLgogICAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9iYWNrc3RhZ2UuZm9yZ2Vyb2NrLmNvbS9kb2NzL2FtLzcvYXBpZG9jcy9vcmcvZm9yZ2Vyb2NrL29hdXRoMi9jb3JlL1VzZXJJbmZvQ2xhaW1zLmh0bWx9LgogICAgICoKICAgICAqIEFzc2lnbmluZyBpdCB0byBhIHZhcmlhYmxlIGdpdmVzIHlvdSBhbiBvcHBvcnR1bml0eQogICAgICogdG8gbG9nIHRoZSBjb250ZW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAgICAgKi8KICAgIHZhciB1c2VySW5mb0NsYWltcyA9IHV0aWxzLmdldFVzZXJJbmZvQ2xhaW1zKCk7CgogICAgLyoKICAgIGxvZ2dlci5lcnJvcihzY3JpcHROYW1lICsgJyByZXN1bHRzOicpCiAgICBsb2dnZXIuZXJyb3IoJ1ZhbHVlczogJyArIHVzZXJJbmZvQ2xhaW1zLmdldFZhbHVlcygpKQogICAgbG9nZ2VyLmVycm9yKCdTY29wZXM6ICcgKyB1c2VySW5mb0NsYWltcy5nZXRDb21wb3NpdGVTY29wZXMoKSkKICAgICovCgogICAgcmV0dXJuIHVzZXJJbmZvQ2xhaW1zOwp9KCkpOwo=\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"OIDC_CLAIMS\",\"createdBy\":\"null\",\"creationDate\":0,\"lastModifiedBy\":\"null\",\"lastModifiedDate\":0,\"evaluatorVersion\":\"1.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "transfer-encoding", - "value": "chunked" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 800, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-06-19T21:28:31.516Z", - "time": 53, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 53 - } - }, - { - "_id": "614bf5c8a1d05f1935f666cfb91d1043", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-85" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "accept-api-version", - "value": "protocol=2.0,resource=1.0" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "accept-encoding", - "value": "gzip, compress, deflate, br" - }, - { - "name": "host", - "value": "openam-frodo-dev.forgeblocks.com" - } - ], - "headersSize": 1671, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "_queryFilter", - "value": "name eq \"Library Script\"" - } - ], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/scripts?_queryFilter=name%20eq%20%22Library%20Script%22" - }, - "response": { - "bodySize": 1862, - "content": { - "mimeType": "application/json;charset=UTF-8", - "size": 1862, - "text": "{\"result\":[{\"_id\":\"6c49bebe-3a62-11ed-a261-0242ac120002\",\"name\":\"Library Script\",\"description\":\"Default global library script to be referenced from other scripts\",\"script\":\"LyoKICogQ29weXJpZ2h0IDIwMjItMjAyMyBGb3JnZVJvY2sgQVMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICoKICogVXNlIG9mIHRoaXMgY29kZSByZXF1aXJlcyBhIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZSB3aXRoIEZvcmdlUm9jayBBUy4KICogb3Igd2l0aCBvbmUgb2YgaXRzIGFmZmlsaWF0ZXMuIEFsbCB1c2Ugc2hhbGwgYmUgZXhjbHVzaXZlbHkgc3ViamVjdAogKiB0byBzdWNoIGxpY2Vuc2UgYmV0d2VlbiB0aGUgbGljZW5zZWUgYW5kIEZvcmdlUm9jayBBUy4KICovCgovKgogKiBUaGlzIGlzIGFuIGV4YW1wbGUgbGlicmFyeSBzY3JpcHQgd2l0aCBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gb3RoZXIgc2NyaXB0cy4KICogVG8gcmVmZXJlbmNlIGl0LCB1c2UgdGhlIGZvbGxvd2luZzoKICoKICogdmFyIGxpYnJhcnkgPSByZXF1aXJlKCJMaWJyYXJ5IFNjcmlwdCIpOwogKgogKiBsaWJyYXJ5LmxvZ0Vycm9yKGxvZ2dlciwgIkVycm9yIG1lc3NhZ2UiKTsKICogbGlicmFyeS5sb2dEZWJ1Zyhsb2dnZXIsICJEZWJ1ZyBtZXNzYWdlIik7CiAqLwoKZnVuY3Rpb24gbG9nRXJyb3IobG9nLCBlcnJvck1lc3NhZ2UpIHsKICBsb2cuZXJyb3IoZXJyb3JNZXNzYWdlKTsKfQoKZnVuY3Rpb24gbG9nV2FybmluZyhsb2csIHdhcm5pbmdNZXNzYWdlKSB7CiAgbG9nLndhcm4od2FybmluZ01lc3NhZ2UpOwp9CgpleHBvcnRzLmxvZ0Vycm9yID0gbG9nRXJyb3I7CmV4cG9ydHMubG9nV2FybmluZyA9IGxvZ1dhcm5pbmc7CgovLyBBbHRlcm5hdGl2ZWx5LCBleHBvcnRzIGNhbiBiZSBkZWNsYXJlZCB1c2luZyBhbiBpbmxpbmUgYXJyb3cgZnVuY3Rpb24KCmV4cG9ydHMubG9nSW5mbyA9IChsb2csIGluZm9NZXNzYWdlKSA9PiBsb2cuaW5mbyhpbmZvTWVzc2FnZSk7CmV4cG9ydHMubG9nRGVidWcgPSAobG9nLCBkZWJ1Z01lc3NhZ2UpID0+IGxvZy5kZWJ1ZyhkZWJ1Z01lc3NhZ2UpOw==\",\"default\":true,\"language\":\"JAVASCRIPT\",\"context\":\"LIBRARY\",\"createdBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"creationDate\":1433147666269,\"lastModifiedBy\":\"id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org\",\"lastModifiedDate\":1433147666269,\"evaluatorVersion\":\"2.0\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":0}" - }, - "cookies": [], - "headers": [ - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "content-security-policy-report-only", - "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "content-api-version", - "value": "protocol=2.0,resource=1.1, resource=1.1" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "content-type", - "value": "application/json;charset=UTF-8" - }, - { - "name": "content-length", - "value": "1862" - }, - { - "name": "date", - "value": "Wed, 19 Jun 2024 21:28:30 GMT" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-447d3073-7deb-4a25-ad58-3dc0d7dffb62" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 794, + "headersSize": 793, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-06-19T21:28:31.574Z", - "time": 56, + "startedDateTime": "2024-09-09T22:21:26.290Z", + "time": 81, "timings": { "blocked": -1, "connect": -1, @@ -14596,7 +764,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 81 } } ], diff --git a/src/test/snapshots/api/AgentApi.test.js.snap b/src/test/snapshots/api/AgentApi.test.js.snap index df40909d4..440eada6c 100644 --- a/src/test/snapshots/api/AgentApi.test.js.snap +++ b/src/test/snapshots/api/AgentApi.test.js.snap @@ -1,9 +1,36 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AgentApi deleteAgentByTypeAndId() 1: Delete IdentityGatewayAgent 'FrodoTestGatewayAgent3' 1`] = ` +exports[`AgentApi Classic Tests getAgentByTypeAndId() 4: Get global agent 'AgentService' 1`] = ` +{ + "_id": "", + "_rev": "1570129136", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, +} +`; + +exports[`AgentApi Classic Tests getAgents() 2: Get all global agents 1`] = ` +{ + "result": [ + { + "_id": "AgentService", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, + }, + ], +} +`; + +exports[`AgentApi Cloud Tests deleteAgentByTypeAndId() 1: Delete IdentityGatewayAgent 'FrodoTestGatewayAgent3' 1`] = ` { "_id": "FrodoTestGatewayAgent3", - "_rev": "-17061458", + "_rev": "81854864", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -20,6 +47,9 @@ exports[`AgentApi deleteAgentByTypeAndId() 1: Delete IdentityGatewayAgent 'Frodo "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -27,10 +57,10 @@ exports[`AgentApi deleteAgentByTypeAndId() 1: Delete IdentityGatewayAgent 'Frodo } `; -exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAgent3' 1`] = ` +exports[`AgentApi Cloud Tests deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAgent3' 1`] = ` { "_id": "FrodoTestJavaAgent3", - "_rev": "-1750716182", + "_rev": "404270524", "_type": { "_id": "J2EEAgent", "collection": true, @@ -123,6 +153,14 @@ exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAge "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -130,6 +168,10 @@ exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAge "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -214,6 +256,10 @@ exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAge "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -479,6 +525,9 @@ exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAge "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -697,10 +746,10 @@ exports[`AgentApi deleteAgentByTypeAndId() 2: Delete J2EEAgent 'FrodoTestJavaAge } `; -exports[`AgentApi deleteAgentByTypeAndId() 3: Delete WebAgent 'FrodoTestWebAgent3' 1`] = ` +exports[`AgentApi Cloud Tests deleteAgentByTypeAndId() 3: Delete WebAgent 'FrodoTestWebAgent3' 1`] = ` { "_id": "FrodoTestWebAgent3", - "_rev": "528305929", + "_rev": "426296999", "_type": { "_id": "WebAgent", "collection": true, @@ -1036,6 +1085,9 @@ exports[`AgentApi deleteAgentByTypeAndId() 3: Delete WebAgent 'FrodoTestWebAgent "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, @@ -1180,11 +1232,11 @@ exports[`AgentApi deleteAgentByTypeAndId() 3: Delete WebAgent 'FrodoTestWebAgent } `; -exports[`AgentApi findAgentById() 1: Find agent 'FrodoTestGatewayAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentById() 1: Find agent 'FrodoTestGatewayAgent1' 1`] = ` [ { "_id": "FrodoTestGatewayAgent1", - "_rev": "1529149023", + "_rev": "32378956", "_type": "IdentityGatewayAgent", "agentgroup": null, "igCdssoLoginUrlTemplate": null, @@ -1200,17 +1252,18 @@ exports[`AgentApi findAgentById() 1: Find agent 'FrodoTestGatewayAgent1' 1`] = ` "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", "userpassword": null, }, ] `; -exports[`AgentApi findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` [ { "_id": "FrodoTestJavaAgent1", - "_rev": "-1714938671", + "_rev": "348124998", "_type": "J2EEAgent", "advancedJ2EEAgentConfig": { "alternativeAgentHostname": null, @@ -1239,8 +1292,11 @@ exports[`AgentApi findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -1268,6 +1324,7 @@ exports[`AgentApi findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -1351,6 +1408,7 @@ exports[`AgentApi findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -1430,11 +1488,11 @@ exports[`AgentApi findAgentById() 2: Find agent 'FrodoTestJavaAgent1' 1`] = ` ] `; -exports[`AgentApi findAgentById() 3: Find agent 'FrodoTestWebAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentById() 3: Find agent 'FrodoTestWebAgent1' 1`] = ` [ { "_id": "FrodoTestWebAgent1", - "_rev": "-174245863", + "_rev": "1331974702", "_type": "WebAgent", "advancedWebAgentConfig": { "apacheAuthDirectives": null, @@ -1548,6 +1606,7 @@ exports[`AgentApi findAgentById() 3: Find agent 'FrodoTestWebAgent1' 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "userpassword": null, @@ -1597,11 +1656,11 @@ exports[`AgentApi findAgentById() 3: Find agent 'FrodoTestWebAgent1' 1`] = ` ] `; -exports[`AgentApi findAgentByTypeAndId() 1: Find IdentityGatewayAgent 'FrodoTestGatewayAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentByTypeAndId() 1: Find IdentityGatewayAgent 'FrodoTestGatewayAgent1' 1`] = ` [ { "_id": "FrodoTestGatewayAgent1", - "_rev": "-463953634", + "_rev": "-1960723701", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -1621,16 +1680,17 @@ exports[`AgentApi findAgentByTypeAndId() 1: Find IdentityGatewayAgent 'FrodoTest "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, ] `; -exports[`AgentApi findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' 1`] = ` [ { "_id": "FrodoTestJavaAgent1", - "_rev": "-1691128348", + "_rev": "-116709151", "_type": { "_id": "J2EEAgent", "collection": true, @@ -1663,8 +1723,11 @@ exports[`AgentApi findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -1692,6 +1755,7 @@ exports[`AgentApi findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -1775,6 +1839,7 @@ exports[`AgentApi findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -1853,11 +1918,11 @@ exports[`AgentApi findAgentByTypeAndId() 2: Find J2EEAgent 'FrodoTestJavaAgent1' ] `; -exports[`AgentApi findAgentByTypeAndId() 3: Find WebAgent 'FrodoTestWebAgent1' 1`] = ` +exports[`AgentApi Cloud Tests findAgentByTypeAndId() 3: Find WebAgent 'FrodoTestWebAgent1' 1`] = ` [ { "_id": "FrodoTestWebAgent1", - "_rev": "-342721471", + "_rev": "1549383126", "_type": { "_id": "WebAgent", "collection": true, @@ -1975,6 +2040,7 @@ exports[`AgentApi findAgentByTypeAndId() 3: Find WebAgent 'FrodoTestWebAgent1' 1 "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -2023,10 +2089,10 @@ exports[`AgentApi findAgentByTypeAndId() 3: Find WebAgent 'FrodoTestWebAgent1' 1 ] `; -exports[`AgentApi getAgentByTypeAndId() 1: Get IdentityGatewayAgent 'FrodoTestGatewayAgent1' 1`] = ` +exports[`AgentApi Cloud Tests getAgentByTypeAndId() 1: Get IdentityGatewayAgent 'FrodoTestGatewayAgent1' 1`] = ` { "_id": "FrodoTestGatewayAgent1", - "_rev": "1898225799", + "_rev": "1997142121", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -2053,6 +2119,9 @@ exports[`AgentApi getAgentByTypeAndId() 1: Get IdentityGatewayAgent 'FrodoTestGa "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -2060,10 +2129,10 @@ exports[`AgentApi getAgentByTypeAndId() 1: Get IdentityGatewayAgent 'FrodoTestGa } `; -exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1`] = ` +exports[`AgentApi Cloud Tests getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1`] = ` { "_id": "FrodoTestJavaAgent1", - "_rev": "1389672820", + "_rev": "-723100226", "_type": { "_id": "J2EEAgent", "collection": true, @@ -2156,6 +2225,14 @@ exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1 "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -2163,6 +2240,10 @@ exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1 "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -2247,6 +2328,10 @@ exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1 "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -2511,6 +2596,9 @@ exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1 "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -2729,10 +2817,10 @@ exports[`AgentApi getAgentByTypeAndId() 2: Get J2EEAgent 'FrodoTestJavaAgent1' 1 } `; -exports[`AgentApi getAgentByTypeAndId() 3: Get WebAgent 'FrodoTestWebAgent1' 1`] = ` +exports[`AgentApi Cloud Tests getAgentByTypeAndId() 3: Get WebAgent 'FrodoTestWebAgent1' 1`] = ` { "_id": "FrodoTestWebAgent1", - "_rev": "-56934604", + "_rev": "-696084654", "_type": { "_id": "WebAgent", "collection": true, @@ -3072,6 +3160,9 @@ exports[`AgentApi getAgentByTypeAndId() 3: Get WebAgent 'FrodoTestWebAgent1' 1`] "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, @@ -3216,68 +3307,11 @@ exports[`AgentApi getAgentByTypeAndId() 3: Get WebAgent 'FrodoTestWebAgent1' 1`] } `; -exports[`AgentApi getAgentTypes() 1: Get all agent types 1`] = ` -{ - "result": [ - { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents", - }, - { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents", - }, - { - "_id": "2.2_Agent", - "collection": true, - "name": "2.2 Agents", - }, - { - "_id": "OAuth2Client", - "collection": true, - "name": "OAuth2 Client Agents", - }, - { - "_id": "SharedAgent", - "collection": true, - "name": "Shared Agents", - }, - { - "_id": "SoapSTSAgent", - "collection": true, - "name": "Soap STS Agents", - }, - { - "_id": "RemoteConsentAgent", - "collection": true, - "name": "OAuth2 Remote Consent Agents", - }, - { - "_id": "SoftwarePublisher", - "collection": true, - "name": "OAuth2 Software Publisher Agents", - }, - { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - { - "_id": "TrustedJwtIssuer", - "collection": true, - "name": "OAuth2 Trusted JWT Issuer Agents", - }, - ], -} -`; - -exports[`AgentApi getAgents() 1: Get all agents 1`] = ` +exports[`AgentApi Cloud Tests getAgentGroups() 1: Get all agent groups 1`] = ` { "result": [ { - "_id": "FrodoTestWebAgent1", + "_id": "test_web_agent_group", "_type": { "_id": "WebAgent", "collection": true, @@ -3291,9 +3325,9 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "fragmentRedirectEnabled": false, "hostnameToIpAddress": [], "logonAndImpersonation": false, - "overrideRequestHost": true, - "overrideRequestPort": true, - "overrideRequestProtocol": true, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, "pdpJavascriptRepost": false, "pdpSkipPostUrl": [ "", @@ -3308,17 +3342,15 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "showPasswordInHeader": false, }, "amServicesWebAgent": { - "amLoginUrl": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], + "amLoginUrl": [], "amLogoutUrl": [ - "https://idc.scheuber.io:443/am/UI/Logout", + "http://testurl.com:8080/UI/Logout", ], "applicationLogoutUrls": [ "", ], "conditionalLoginUrl": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + "", ], "customLoginMode": 0, "enableLogoutRegex": false, @@ -3332,8 +3364,8 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "logoutUrlRegex": null, "policyCachePollingInterval": 3, "policyClockSkew": 0, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", "publicAmUrl": null, "regexConditionalLoginPattern": [ "", @@ -3363,7 +3395,6 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "notEnforcedIpsRegex": false, "notEnforcedUrls": [ "", - "https://apps.mytestrun.com/app1/*", ], "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", @@ -3376,31 +3407,27 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "globalWebAgentConfig": { "accessDeniedUrl": null, "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Info", - "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", - "agentgroup": null, + "agentDebugLevel": "Error", + "agentUriPrefix": null, "amLbCookieEnable": false, - "auditAccessType": "LOG_BOTH", - "auditLogLocation": "ALL", - "cdssoRootUrl": [ - "agentRootURL=https://apps.mytestrun.com:443/", - ], + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [], "configurationPollingInterval": 60, "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps.mytestrun.com", + "fqdnDefault": null, "fqdnMapping": {}, "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", "notificationsEnabled": true, - "repositoryLocation": "centralized", "resetIdleTime": false, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, }, "miscWebAgentConfig": { - "addCacheControlHeader": true, + "addCacheControlHeader": false, "anonymousUserEnabled": false, "anonymousUserId": "anonymous", "caseInsensitiveUrlComparison": true, @@ -3441,263 +3468,106 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "FrodoTestWebAgent3", + "_id": "test_java_group", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, - "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "urlPolicyEnvJsessionParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ - "", - ], - "notEnforcedUrlsRegex": false, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, - }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", - "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", - ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, - "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", - "fqdnMapping": {}, - "jwtAuditWhitelist": null, - "jwtName": "am-auth-jwt", - "notificationsEnabled": true, - "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, - "status": "Active", - "webSocketConnectionIntervalInMinutes": 30, - }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "", - ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "", - ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", - "cookieResetEnabled": false, - "cookieResetList": [ - "", - ], - "cookieResetOnRedirect": false, - "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, - }, - }, - { - "_id": "FrodoTestJavaAgent1", - "_type": { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents", - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "", - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, - }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "", - ], - "conditionalLogoutUrl": [ - "", - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], - }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], "notEnforcedUrisCacheEnabled": true, @@ -3712,12 +3582,9 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, "globalJ2EEAgentConfig": { "agentConfigChangeNotificationsEnabled": true, - "agentgroup": null, "auditAccessType": "LOG_NONE", "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], + "cdssoRootUrl": [], "configurationReloadInterval": 0, "customResponseHeader": {}, "debugLevel": "error", @@ -3730,7 +3597,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "": "ALL", }, "fqdnCheck": false, - "fqdnDefault": "openam-volker-dev.forgeblocks.com", + "fqdnDefault": null, "fqdnMapping": {}, "httpSessionBinding": true, "jwtName": "am-auth-jwt", @@ -3746,7 +3613,6 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "recheckAmUnavailabilityInSeconds": 5, "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -3769,7 +3635,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "gotoParameterName": "goto", "gotoUrl": null, "ignorePathInfo": false, - "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyRedirectUri": null, "legacyUserAgentList": [ "Mozilla/4.7*", ], @@ -3780,9 +3646,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "loginReasonParameterName": null, "portCheckEnabled": false, "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, + "portCheckSetting": {}, "unwantedHttpUrlParams": [ "", ], @@ -3807,7 +3671,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "cdssoDomainList": [ "", ], - "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoRedirectUri": null, "cdssoSecureCookies": false, "cookieResetDomains": {}, "cookieResetEnabled": false, @@ -3823,1048 +3687,1694 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "FrodoTestJavaAgent3", + "_id": "test_ig_group", "_type": { - "_id": "J2EEAgent", + "_id": "IdentityGatewayAgent", "collection": true, - "name": "J2EE Agents", - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "", - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "name": "Identity Gateway Agents", }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", - ], - "conditionalLogoutUrl": [ - "", - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "None", + "status": "Active", + }, + ], +} +`; + +exports[`AgentApi Cloud Tests getAgentTypes() 1: Get all agent types 1`] = ` +{ + "result": [ + { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + { + "_id": "2.2_Agent", + "collection": true, + "name": "2.2 Agents", + }, + { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Client Agents", + }, + { + "_id": "SharedAgent", + "collection": true, + "name": "Shared Agents", + }, + { + "_id": "SoapSTSAgent", + "collection": true, + "name": "Soap STS Agents", + }, + { + "_id": "RemoteConsentAgent", + "collection": true, + "name": "OAuth2 Remote Consent Agents", + }, + { + "_id": "SoftwarePublisher", + "collection": true, + "name": "OAuth2 Software Publisher Agents", + }, + { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + { + "_id": "TrustedJwtIssuer", + "collection": true, + "name": "OAuth2 Trusted JWT Issuer Agents", + }, + ], +} +`; + +exports[`AgentApi Cloud Tests getAgents() 1: Get all agents 1`] = ` +{ + "result": [ + { + "_id": "frodo-test-web-agent2", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, "notEnforcedIps": [ "", ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsList": [ "", ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", "agentgroup": null, + "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=http://testagenturl.com:8080/", ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, + "configurationPollingInterval": 60, + "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "testagenturl.com", "fqdnMapping": {}, - "httpSessionBinding": true, + "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", + "notificationsEnabled": true, "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", "webSocketConnectionIntervalInMinutes": 30, }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, "gotoParameterName": "goto", - "gotoUrl": null, + "headerJsonResponse": {}, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - "unwantedHttpUrlRegexParams": [ + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ "", ], - "wantedHttpUrlParams": [ + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + { + "_id": "frodo-test-web-agent", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "wantedHttpUrlRegexParams": [ + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ "", ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ "", ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ + "notEnforcedIpsList": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", "cookieResetEnabled": false, - "cookieResetNames": [ + "cookieResetList": [ "", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], + "cookieResetOnRedirect": false, "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, { - "_id": "49a2981c-e192-4739-a0e6-c7582168bdf5", + "_id": "FrodoTestWebAgent1", "_type": { - "_id": "OAuth2Client", + "_id": "WebAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "Web Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, "customProperties": [], - "descriptions": [ - "Created by Frodo on 5/13/2023, 8:07:37 PM", - ], - "grantTypes": [ - "client_credentials", - ], - "isConsentImplied": true, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "token", + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": true, + "overrideRequestPort": true, + "overrideRequestProtocol": true, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "Public", - "tokenEndpointAuthMethod": "client_secret_basic", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 3600, - "authorizationCodeLifetime": 120, - "clientName": [ - "49a2981c-e192-4739-a0e6-c7582168bdf5", + "amServicesWebAgent": { + "amLoginUrl": [ + "https://idc.scheuber.io/login?realm=/alpha", ], - "clientType": "Confidential", - "defaultScopes": [ - "fr:idm:*", + "amLogoutUrl": [ + "https://idc.scheuber.io:443/am/UI/Logout", ], - "loopbackInterfaceRedirection": false, - "redirectionUris": [], - "refreshTokenLifetime": 604800, - "scopes": [ - "fr:idm:*", - "fr:idc:esv:*", - "dynamic_client_registration", + "applicationLogoutUrls": [ + "", ], - "status": "Active", - "userpassword": null, - }, - "coreOpenIDClientConfig": { - "backchannel_logout_session_required": false, - "backchannel_logout_uri": null, - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 3600, - "postLogoutRedirectUri": [], + "conditionalLoginUrl": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + "https://apps.mytestrun.com/app1/*", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "overrideOAuth2ClientConfig": { - "accessTokenMayActScript": "[Empty]", - "accessTokenModificationPluginType": "PROVIDER", - "accessTokenModificationScript": "[Empty]", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "PROVIDER", - "authorizeEndpointDataProviderScript": "[Empty]", - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "PROVIDER", - "evaluateScopeScript": "[Empty]", - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsPluginType": "PROVIDER", - "oidcClaimsScript": "[Empty]", - "oidcMayActScript": "[Empty]", - "overrideableOIDCClaims": [], - "providerOverridesEnabled": false, - "remoteConsentServiceId": null, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "tokenEncryptionEnabled": false, - "usePolicyEngineForScope": false, - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "PROVIDER", - "validateScopeScript": "[Empty]", + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Info", + "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_BOTH", + "auditLogLocation": "ALL", + "cdssoRootUrl": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "apps.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, }, - "signEncOAuth2ClientConfig": { - "authorizationResponseEncryptionAlgorithm": null, - "authorizationResponseEncryptionMethod": null, - "authorizationResponseSigningAlgorithm": "RS256", - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, + "miscWebAgentConfig": { + "addCacheControlHeader": true, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, { - "_id": "endUserUIClient", + "_id": "FrodoTestWebAgent3", "_type": { - "_id": "OAuth2Client", + "_id": "WebAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "Web Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], - "descriptions": [], - "grantTypes": [ - "authorization_code", - "implicit", - ], - "isConsentImplied": true, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "requestUris": [], - "responseTypes": [ - "code", - "token", - "id_token", - "code token", - "token id_token", - "code id_token", - "code token id_token", - "device_code", - "device_code id_token", + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", ], - "sectorIdentifierUri": null, - "subjectType": "public", - "tokenEndpointAuthMethod": "none", - "updateAccessToken": null, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 0, - "agentgroup": null, - "authorizationCodeLifetime": 0, - "clientName": [], - "clientType": "Public", - "defaultScopes": [], - "loopbackInterfaceRedirection": false, - "redirectionUris": [ - "https://openam-frodo-dev.forgeblocks.com/enduser/appAuthHelperRedirect.html", - "https://openam-frodo-dev.forgeblocks.com/enduser/sessionCheck.html", - ], - "refreshTokenLifetime": 0, - "scopes": [ - "fr:idc:analytics:*", - "fr:autoaccess:*", - "fr:idm:*", - "fr:iga:*", - "openid", + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", ], - "status": "Active", + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "coreOpenIDClientConfig": { - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 0, - "postLogoutRedirectUri": [], + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, }, - "overrideOAuth2ClientConfig": { - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "e232cff3-2460-47cd-80b2-36c86c0d0f06", - "clientsCanSkipConsent": true, - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "e1db8a0a-0329-4962-a5bf-ecffaca376ae", - "providerOverridesEnabled": true, - "statelessTokensEnabled": true, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], }, - "signEncOAuth2ClientConfig": { - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": "http://am.fr-platform:80/am/oauth2/connect/jwk_uri", - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, { - "_id": "idmAdminClient", + "_id": "FrodoTestJavaAgent1", "_type": { - "_id": "OAuth2Client", + "_id": "J2EEAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "J2EE Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, "customProperties": [], - "descriptions": [], - "grantTypes": [ - "authorization_code", - "implicit", + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", ], - "isConsentImplied": true, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "code", - "token", - "id_token", - "code token", - "token id_token", - "code id_token", - "code token id_token", - "device_code", - "device_code id_token", + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "public", - "tokenEndpointAuthMethod": "none", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 0, - "agentgroup": null, - "authorizationCodeLifetime": 0, - "clientName": [], - "clientType": "Public", - "defaultScopes": [], - "loopbackInterfaceRedirection": false, - "redirectionUris": [ - "https://openam-frodo-dev.forgeblocks.com/admin/appAuthHelperRedirect.html", - "https://openam-frodo-dev.forgeblocks.com/admin/sessionCheck.html", - "https://openam-frodo-dev.forgeblocks.com/platform/appAuthHelperRedirect.html", - "https://openam-frodo-dev.forgeblocks.com/platform/sessionCheck.html", - ], - "refreshTokenLifetime": 0, - "scopes": [ - "fr:idm:*", - "openid", - "fr:idc:esv:*", - "fr:idc:esv:read", - "fr:idc:esv:update", - "fr:idc:esv:restart", - "fr:autoaccess:*", - "fr:idc:promotion:*", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", ], - "status": "Active", }, - "coreOpenIDClientConfig": { - "backchannel_logout_session_required": false, - "backchannel_logout_uri": null, - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 0, - "postLogoutRedirectUri": [], + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "openam-volker-dev.forgeblocks.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Active", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "overrideOAuth2ClientConfig": { - "accessTokenMayActScript": "[Empty]", - "accessTokenModificationPluginType": "PROVIDER", - "accessTokenModificationScript": "[Empty]", - "accessTokenModifierClass": null, - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "PROVIDER", - "authorizeEndpointDataProviderScript": "[Empty]", - "clientsCanSkipConsent": false, - "customLoginUrlTemplate": null, - "enableRemoteConsent": false, - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "PROVIDER", - "evaluateScopeScript": "[Empty]", - "issueRefreshToken": false, - "issueRefreshTokenOnRefreshedToken": false, - "oidcClaimsClass": null, - "oidcClaimsPluginType": "PROVIDER", - "oidcClaimsScript": "[Empty]", - "oidcMayActScript": "[Empty]", - "overrideableOIDCClaims": [], - "providerOverridesEnabled": false, - "remoteConsentServiceId": "[Empty]", - "statelessTokensEnabled": false, - "tokenEncryptionEnabled": false, - "usePolicyEngineForScope": false, - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "PROVIDER", - "validateScopeScript": "[Empty]", + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], }, - "signEncOAuth2ClientConfig": { - "authorizationResponseEncryptionAlgorithm": null, - "authorizationResponseEncryptionMethod": null, - "authorizationResponseSigningAlgorithm": "RS256", - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": "http://am:80/am/oauth2/connect/jwk_uri", - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, { - "_id": "ig-oidc-app", + "_id": "frodo-test-java-agent", "_type": { - "_id": "OAuth2Client", + "_id": "J2EEAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "J2EE Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], - "customProperties": [], - "descriptions": [], - "grantTypes": [ - "authorization_code", - "client_credentials", - "refresh_token", - ], - "isConsentImplied": true, - "javascriptOrigins": [ - "https://ig.mytestrun.com", - "https://ig.mytestrun.com:443", + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", ], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "code", - "token", - "id_token", + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "public", - "tokenEndpointAuthMethod": "client_secret_basic", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 3600, - "authorizationCodeLifetime": 120, - "clientName": [], - "clientType": "Confidential", - "defaultScopes": [], - "loopbackInterfaceRedirection": false, - "redirectionUris": [ - "https://ig.mytestrun.com/home/oidc/callback", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", ], - "refreshTokenLifetime": 604800, - "scopes": [ - "openid", - "profile", - "email", - "secctx", + "conditionalLogoutUrl": [ + "", ], - "status": "Active", - }, - "coreOpenIDClientConfig": { - "backchannel_logout_session_required": false, - "backchannel_logout_uri": null, - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 3600, - "postLogoutRedirectUri": [], - }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], - }, - "overrideOAuth2ClientConfig": { - "accessTokenMayActScript": "[Empty]", - "accessTokenModificationPluginType": "PROVIDER", - "accessTokenModificationScript": "[Empty]", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "PROVIDER", - "authorizeEndpointDataProviderScript": "[Empty]", - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "PROVIDER", - "evaluateScopeScript": "[Empty]", - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsPluginType": "PROVIDER", - "oidcClaimsScript": "[Empty]", - "oidcMayActScript": "[Empty]", - "overrideableOIDCClaims": [], - "providerOverridesEnabled": false, - "remoteConsentServiceId": null, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "tokenEncryptionEnabled": false, - "usePolicyEngineForScope": false, - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "PROVIDER", - "validateScopeScript": "[Empty]", - }, - "signEncOAuth2ClientConfig": { - "authorizationResponseEncryptionAlgorithm": null, - "authorizationResponseEncryptionMethod": null, - "authorizationResponseSigningAlgorithm": "RS256", - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, - }, - }, - { - "_id": "d4c3ecbc-4b03-4ad5-b32f-464bda442e3f", - "_type": { - "_id": "OAuth2Client", - "collection": true, - "name": "OAuth2 Clients", - }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], - "customProperties": [], - "descriptions": [ - "Created by Frodo on 5/13/2023, 8:06:50 PM", + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", ], - "grantTypes": [ - "client_credentials", + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", ], - "isConsentImplied": true, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "token", + "urlPolicyEnvJsessionParameters": [ + "", ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "Public", - "tokenEndpointAuthMethod": "client_secret_basic", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, - }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 3600, - "authorizationCodeLifetime": 120, - "clientName": [ - "d4c3ecbc-4b03-4ad5-b32f-464bda442e3f", + "urlPolicyEnvPostParameters": [ + "", ], - "clientType": "Confidential", - "defaultScopes": [ - "fr:idm:*", + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", ], - "loopbackInterfaceRedirection": false, - "redirectionUris": [], - "refreshTokenLifetime": 604800, - "scopes": [ - "fr:idm:*", - "fr:idc:esv:*", - "dynamic_client_registration", + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", ], - "status": "Active", - "userpassword": null, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "coreOpenIDClientConfig": { - "backchannel_logout_session_required": false, - "backchannel_logout_uri": null, - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 3600, - "postLogoutRedirectUri": [], - }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "overrideOAuth2ClientConfig": { - "accessTokenMayActScript": "[Empty]", - "accessTokenModificationPluginType": "PROVIDER", - "accessTokenModificationScript": "[Empty]", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "PROVIDER", - "authorizeEndpointDataProviderScript": "[Empty]", - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "PROVIDER", - "evaluateScopeScript": "[Empty]", - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsPluginType": "PROVIDER", - "oidcClaimsScript": "[Empty]", - "oidcMayActScript": "[Empty]", - "overrideableOIDCClaims": [], - "providerOverridesEnabled": false, - "remoteConsentServiceId": null, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "tokenEncryptionEnabled": false, - "usePolicyEngineForScope": false, - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "PROVIDER", - "validateScopeScript": "[Empty]", + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], }, - "signEncOAuth2ClientConfig": { - "authorizationResponseEncryptionAlgorithm": null, - "authorizationResponseEncryptionMethod": null, - "authorizationResponseSigningAlgorithm": "RS256", - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, { - "_id": "RCSClient", + "_id": "frodo-test-java-agent2", "_type": { - "_id": "OAuth2Client", + "_id": "J2EEAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "J2EE Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], - "descriptions": [], - "grantTypes": [ - "client_credentials", + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", ], - "isConsentImplied": false, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "requestUris": [], - "responseTypes": [ - "code", - "token", - "id_token", - "code token", - "token id_token", - "code id_token", - "code token id_token", - "device_code", - "device_code id_token", + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", ], - "sectorIdentifierUri": null, - "subjectType": "Public", - "tokenEndpointAuthMethod": "client_secret_basic", - "updateAccessToken": null, + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 0, - "authorizationCodeLifetime": 0, - "clientName": [], - "clientType": "Confidential", - "defaultScopes": [], - "loopbackInterfaceRedirection": false, - "redirectionUris": [], - "refreshTokenLifetime": 0, - "scopes": [ - "fr:idm:*", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", ], - "status": "Active", - "userpassword": null, - }, - "coreOpenIDClientConfig": { - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 0, - "postLogoutRedirectUri": [], }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "overrideOAuth2ClientConfig": { - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "c234ba0b-58a1-4cfd-9567-09edde980745", - "clientsCanSkipConsent": true, - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "1f389a3d-21cf-417c-a6d3-42ea620071f0", - "providerOverridesEnabled": true, - "statelessTokensEnabled": true, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "signEncOAuth2ClientConfig": { - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": "http://am:80/am/oauth2/connect/jwk_uri", - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, { - "_id": "23281ea7-739b-4fd1-b953-eaae73a2b497", + "_id": "FrodoTestJavaAgent3", "_type": { - "_id": "OAuth2Client", + "_id": "J2EEAgent", "collection": true, - "name": "OAuth2 Clients", + "name": "J2EE Agents", }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, "customProperties": [], - "descriptions": [ - "Created by Frodo on 8/11/2022, 5:31:09 PM", - ], - "grantTypes": [ - "client_credentials", + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", ], - "isConsentImplied": true, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "token", + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "Public", - "tokenEndpointAuthMethod": "client_secret_basic", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, - }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 3600, - "agentgroup": null, - "authorizationCodeLifetime": 120, - "clientName": [ - "23281ea7-739b-4fd1-b953-eaae73a2b497", + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "clientType": "Confidential", - "defaultScopes": [ - "fr:idm:*", + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "ALL", + "cdssoRootUrl": [ + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", + ], + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, + "fqdnCheck": false, + "fqdnDefault": "apps2.mytestrun.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + { + "_id": "EncoreRCSClient", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "pairwise", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], "loopbackInterfaceRedirection": false, "redirectionUris": [], - "refreshTokenLifetime": 604800, + "refreshTokenLifetime": 0, "scopes": [ "fr:idm:*", - "fr:idc:esv:*", - "dynamic_client_registration", ], "status": "Active", - "userpassword": null, }, "coreOpenIDClientConfig": { "backchannel_logout_session_required": false, @@ -4874,7 +5384,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "defaultAcrValues": [], "defaultMaxAge": 600, "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 3600, + "jwtTokenLifetime": 0, "postLogoutRedirectUri": [], }, "coreUmaClientConfig": { @@ -4884,27 +5394,26 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "accessTokenMayActScript": "[Empty]", "accessTokenModificationPluginType": "PROVIDER", "accessTokenModificationScript": "[Empty]", - "accessTokenModifierClass": null, "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", "authorizeEndpointDataProviderPluginType": "PROVIDER", "authorizeEndpointDataProviderScript": "[Empty]", "clientsCanSkipConsent": false, - "customLoginUrlTemplate": null, "enableRemoteConsent": false, "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", "evaluateScopePluginType": "PROVIDER", "evaluateScopeScript": "[Empty]", "issueRefreshToken": true, "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsClass": null, "oidcClaimsPluginType": "PROVIDER", "oidcClaimsScript": "[Empty]", "oidcMayActScript": "[Empty]", "overrideableOIDCClaims": [], "providerOverridesEnabled": false, "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", "statelessTokensEnabled": false, "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, "usePolicyEngineForScope": false, "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", "validateScopePluginType": "PROVIDER", @@ -4943,7 +5452,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "86fca6d7-2f52-4524-92c6-b6f416071455", + "_id": "hrlite-client", "_type": { "_id": "OAuth2Client", "collection": true, @@ -4954,13 +5463,20 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "contacts": [], "customProperties": [], "descriptions": [ - "Created by Frodo on 8/11/2022, 5:32:32 PM", + "hrlite/id_token/callback", ], "grantTypes": [ + "authorization_code", "client_credentials", + "refresh_token", ], "isConsentImplied": true, - "javascriptOrigins": [], + "javascriptOrigins": [ + "https://volker-demo.encore.forgerock.com", + "https://volker-demo.encore.forgerock.com:443", + "https://volker-demo.encore.forgerock.com", + "https://volker-demo.encore.forgerock.com:443", + ], "logoUri": [], "mixUpMitigation": false, "name": [], @@ -4969,7 +5485,9 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "requestUris": [], "require_pushed_authorization_requests": false, "responseTypes": [ + "code", "token", + "id_token", ], "sectorIdentifierUri": null, "softwareIdentity": null, @@ -4982,24 +5500,26 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, "coreOAuth2ClientConfig": { "accessTokenLifetime": 3600, + "agentgroup": null, "authorizationCodeLifetime": 120, - "clientName": [ - "86fca6d7-2f52-4524-92c6-b6f416071455", - ], + "clientName": [], "clientType": "Confidential", - "defaultScopes": [ - "fr:idm:*", - ], + "defaultScopes": [], "loopbackInterfaceRedirection": false, - "redirectionUris": [], + "redirectionUris": [ + "https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback", + "https://volker-demo.encore.forgerock.com/apps/hrlite/id_token/callback", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/id_token/callback", + "https://volker-demo.encore.forgerock.com/apps/contractor/id_token/callback", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/id_token/callback", + ], "refreshTokenLifetime": 604800, "scopes": [ + "openid", "fr:idm:*", - "fr:idc:esv:*", - "dynamic_client_registration", ], "status": "Active", - "userpassword": null, }, "coreOpenIDClientConfig": { "backchannel_logout_session_required": false, @@ -5019,24 +5539,29 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "accessTokenMayActScript": "[Empty]", "accessTokenModificationPluginType": "PROVIDER", "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", "authorizeEndpointDataProviderPluginType": "PROVIDER", "authorizeEndpointDataProviderScript": "[Empty]", "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, "enableRemoteConsent": false, "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", "evaluateScopePluginType": "PROVIDER", "evaluateScopeScript": "[Empty]", "issueRefreshToken": true, "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, "oidcClaimsPluginType": "PROVIDER", "oidcClaimsScript": "[Empty]", "oidcMayActScript": "[Empty]", "overrideableOIDCClaims": [], "providerOverridesEnabled": false, "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", "statelessTokensEnabled": false, "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, "usePolicyEngineForScope": false, "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", "validateScopePluginType": "PROVIDER", @@ -5075,7 +5600,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "idm-provisioning", + "_id": "endUserUIClient", "_type": { "_id": "OAuth2Client", "collection": true, @@ -5086,11 +5611,13 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "contacts": [], "descriptions": [], "grantTypes": [ - "client_credentials", - "idm_delegation", + "authorization_code", + "implicit", + ], + "isConsentImplied": true, + "javascriptOrigins": [ + "https://openam-frodo-dev.forgeblocks.com", ], - "isConsentImplied": false, - "javascriptOrigins": [], "logoUri": [], "mixUpMitigation": false, "name": [], @@ -5108,8 +5635,8 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "device_code id_token", ], "sectorIdentifierUri": null, - "subjectType": "Public", - "tokenEndpointAuthMethod": "client_secret_basic", + "subjectType": "public", + "tokenEndpointAuthMethod": "none", "updateAccessToken": null, }, "coreOAuth2ClientConfig": { @@ -5117,17 +5644,22 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "agentgroup": null, "authorizationCodeLifetime": 0, "clientName": [], - "clientType": "Confidential", + "clientType": "Public", "defaultScopes": [], "loopbackInterfaceRedirection": false, - "redirectionUris": [], + "redirectionUris": [ + "https://openam-frodo-dev.forgeblocks.com/enduser/appAuthHelperRedirect.html", + "https://openam-frodo-dev.forgeblocks.com/enduser/sessionCheck.html", + ], "refreshTokenLifetime": 0, "scopes": [ + "fr:autoaccess:*", + "fr:idc:analytics:*", "fr:idm:*", + "fr:iga:*", "openid", ], "status": "Active", - "userpassword": null, }, "coreOpenIDClientConfig": { "claims": [], @@ -5143,10 +5675,10 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, "overrideOAuth2ClientConfig": { "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "c234ba0b-58a1-4cfd-9567-09edde980745", + "accessTokenModificationScript": "e232cff3-2460-47cd-80b2-36c86c0d0f06", "clientsCanSkipConsent": true, "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "1f389a3d-21cf-417c-a6d3-42ea620071f0", + "oidcClaimsScript": "e1db8a0a-0329-4962-a5bf-ecffaca376ae", "providerOverridesEnabled": true, "statelessTokensEnabled": true, }, @@ -5180,7 +5712,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "openidm-resource-server", + "_id": "testapp", "_type": { "_id": "OAuth2Client", "collection": true, @@ -5189,7 +5721,10 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "advancedOAuth2ClientConfig": { "clientUri": [], "contacts": [], - "descriptions": [], + "customProperties": [], + "descriptions": [ + "Test App", + ], "grantTypes": [ "authorization_code", ], @@ -5199,7 +5734,9 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "mixUpMitigation": false, "name": [], "policyUri": [], + "refreshTokenGracePeriod": 0, "requestUris": [], + "require_pushed_authorization_requests": false, "responseTypes": [ "code", "token", @@ -5212,28 +5749,31 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "device_code id_token", ], "sectorIdentifierUri": null, - "subjectType": "Public", + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], "updateAccessToken": null, }, "coreOAuth2ClientConfig": { "accessTokenLifetime": 0, - "agentgroup": null, "authorizationCodeLifetime": 0, - "clientName": [], + "clientName": [ + "testapp", + ], "clientType": "Confidential", "defaultScopes": [], "loopbackInterfaceRedirection": false, "redirectionUris": [], "refreshTokenLifetime": 0, - "scopes": [ - "am-introspect-all-tokens", - "am-introspect-all-tokens-any-realm", - ], + "scopes": [], "status": "Active", - "userpassword": null, }, "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, "claims": [], "clientSessionUri": null, "defaultAcrValues": [], @@ -5246,15 +5786,38 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "claimsRedirectionUris": [], }, "overrideOAuth2ClientConfig": { - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "c234ba0b-58a1-4cfd-9567-09edde980745", - "clientsCanSkipConsent": true, - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "1f389a3d-21cf-417c-a6d3-42ea620071f0", - "providerOverridesEnabled": true, - "statelessTokensEnabled": true, + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", }, "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", "clientJwtPublicKey": null, "idTokenEncryptionAlgorithm": "RSA-OAEP-256", "idTokenEncryptionEnabled": false, @@ -5264,7 +5827,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "jwkSet": null, "jwkStoreCacheMissCacheTime": 60000, "jwksCacheTimeout": 3600000, - "jwksUri": "http://am.fr-platform:80/am/oauth2/connect/jwk_uri", + "jwksUri": null, "mTLSCertificateBoundAccessTokens": false, "mTLSSubjectDN": null, "mTLSTrustedCert": null, @@ -5284,7 +5847,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "test2", + "_id": "60b7b032-68fc-45ed-98ca-262c1985fb7e", "_type": { "_id": "OAuth2Client", "collection": true, @@ -5295,50 +5858,49 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "contacts": [], "customProperties": [], "descriptions": [ - "Modified by Frodo on 4/16/2022, 8:41:59 PM", + "Created by Frodo on 3/20/2024, 8:09:47 AM", ], "grantTypes": [ - "authorization_code", - "refresh_token", "client_credentials", ], - "isConsentImplied": false, + "isConsentImplied": true, "javascriptOrigins": [], "logoUri": [], "mixUpMitigation": false, "name": [], "policyUri": [], + "refreshTokenGracePeriod": 0, "requestUris": [], + "require_pushed_authorization_requests": false, "responseTypes": [ - "code", "token", - "id_token", ], "sectorIdentifierUri": null, "softwareIdentity": null, "softwareVersion": null, - "subjectType": "public", + "subjectType": "Public", "tokenEndpointAuthMethod": "client_secret_basic", "tokenExchangeAuthLevel": 0, "tosURI": [], "updateAccessToken": null, }, "coreOAuth2ClientConfig": { - "accessTokenLifetime": 0, - "authorizationCodeLifetime": 0, + "accessTokenLifetime": 315360000, + "authorizationCodeLifetime": 120, "clientName": [ - "test2", + "60b7b032-68fc-45ed-98ca-262c1985fb7e", ], "clientType": "Confidential", "defaultScopes": [ - "openid", + "fr:idm:*", ], "loopbackInterfaceRedirection": false, "redirectionUris": [], - "refreshTokenLifetime": 0, + "refreshTokenLifetime": 604800, "scopes": [ - "openid", "fr:idm:*", + "fr:idc:esv:*", + "dynamic_client_registration", ], "status": "Active", "userpassword": null, @@ -5351,7 +5913,7 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` "defaultAcrValues": [], "defaultMaxAge": 600, "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 0, + "jwtTokenLifetime": 3600, "postLogoutRedirectUri": [], }, "coreUmaClientConfig": { @@ -5359,21 +5921,37 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, "overrideOAuth2ClientConfig": { "accessTokenMayActScript": "[Empty]", - "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", "clientsCanSkipConsent": false, "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", "issueRefreshToken": true, "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", "oidcMayActScript": "[Empty]", "overrideableOIDCClaims": [], "providerOverridesEnabled": false, "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", "statelessTokensEnabled": false, "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", }, "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", "clientJwtPublicKey": null, "idTokenEncryptionAlgorithm": "RSA-OAEP-256", "idTokenEncryptionEnabled": false, @@ -5403,103 +5981,2606 @@ exports[`AgentApi getAgents() 1: Get all agents 1`] = ` }, }, { - "_id": "FrodoTestGatewayAgent3", + "_id": "0b48992b-a2dd-4ed5-8b07-1fc5d7306da8", "_type": { - "_id": "IdentityGatewayAgent", + "_id": "OAuth2Client", "collection": true, - "name": "Identity Gateway Agents", + "name": "OAuth2 Clients", }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - { - "_id": "FrodoTestGatewayAgent1", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [ + "Created by Frodo on 3/20/2024, 9:30:37 AM", + ], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "Public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - ], -} -`; - -exports[`AgentApi getAgentsByType() 1: Get all gateway agents 1`] = ` -{ - "pagedResultsCookie": null, - "remainingPagedResults": -1, - "result": [ - { - "_id": "FrodoTestGatewayAgent3", - "_rev": "-24664059", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 315360000, + "authorizationCodeLifetime": 120, + "clientName": [ + "0b48992b-a2dd-4ed5-8b07-1fc5d7306da8", + ], + "clientType": "Confidential", + "defaultScopes": [ + "fr:idm:*", + ], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 604800, + "scopes": [ + "fr:idm:*", + "fr:idc:esv:*", + "dynamic_client_registration", + ], + "status": "Active", + "userpassword": null, }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 3600, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "RCSClient", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "Public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "SCRIPTED", + "accessTokenModificationScript": "c234ba0b-58a1-4cfd-9567-09edde980745", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": true, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "SCRIPTED", + "oidcClaimsScript": "1f389a3d-21cf-417c-a6d3-42ea620071f0", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": true, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": true, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": "http://am.fr-platform:80/am/oauth2/connect/jwk_uri", + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "EncoreWindowsRCSClient", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "pairwise", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "rfc7523-client1", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "urn:ietf:params:oauth:grant-type:jwt-bearer", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "requestUris": [], + "responseTypes": [ + "token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "Public", + "tokenEndpointAuthMethod": "none", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 3600, + "authorizationCodeLifetime": 120, + "clientName": [ + "rfc7523-client1", + ], + "clientType": "Public", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 604800, + "scopes": [ + "openid", + "fr:am:*", + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 3600, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "signEncOAuth2ClientConfig": { + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": "{"keys":[{"kty":"RSA","kid":"5rpTrxBPGieY8tVMmxMq_m3ZBbrATN0SlikhoM13VJM","alg":"RS256","e":"AQAB","n":"3oLso7E5tS9FL0ui5KaQe2qEsozeZAwqCHqzEP7KzgMAAvPCQHPZ8etsC9xeYxAyjPnfQc-EXMRqCHqlyxeyR912gBKYVZ6VB9h1zWKCIiUQHpY_nz6bDAt1EisRiH_jqENDOJ0m5ELVLPZoXcsEQ9e_yg352YToGvS560YCBi6xYj4JX5SGs0Rah-SmhpsOZNr46XHolGYivLaRNLJRQc2YV2NArMfb5JcDQ9aSv3EyIXOim7MRFh8uORCiyNpF_y3jOjC17rdJ_0IPnYvPl1-Krq283RzzhIDe2s2CoKAK50XEM8J5FT9298xd7ku1_nyCcNsltGPLj3a7p9OYzofaC8FIfBXX_T4MoNfJ0edNp3FWGin_C_l1z4JnKdSyyBMr4-mB0mIx3td2qK8StFj2hfXZXxtG4cJ0vnP4Qizse-BlqG0Wkmbjijun9cfPiL5AFv-W5OcfQ5R8HqU5JHkQGkWXopZpZtGbqCS7LbDyNBZJNa_qacAIZ98C4sbbRwZgv824hxJlVGu0uxyIqwNHyNnPkZ8zhJ9OCp2l4y8KC3aALyVlBzmi55xh4J8J1cgFXX2v_ilPqUYN9uwQAR4mJ6_tHEPzX7BPxFl1BubNyK5S1ZZevtbUUE8oV9an2fP51H64oYy_1ni6badcu0TOPr2ISGuwFvQxtllHRcE"}]}", + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "49a2981c-e192-4739-a0e6-c7582168bdf5", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [ + "Created by Frodo on 5/13/2023, 8:07:37 PM", + ], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "Public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 3600, + "agentgroup": null, + "authorizationCodeLifetime": 120, + "clientName": [ + "49a2981c-e192-4739-a0e6-c7582168bdf5", + ], + "clientType": "Confidential", + "defaultScopes": [ + "fr:idm:*", + ], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 604800, + "scopes": [ + "fr:idm:*", + "fr:idc:esv:*", + "dynamic_client_registration", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 3600, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "baseline-device", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "urn:ietf:params:oauth:grant-type:device_code", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "none", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [ + "Streaming Services", + ], + "clientType": "Public", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "openid", + "profile", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "baseline-ios-sdk", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "authorization_code", + "refresh_token", + ], + "isConsentImplied": true, + "javascriptOrigins": [ + "forgerock://oidc_callback", + ], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "none", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Public", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [ + "forgerock://oidc_callback", + ], + "refreshTokenLifetime": 0, + "scopes": [ + "openid", + "profile", + "address", + "phone", + "email", + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "idm-provisioning", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "descriptions": [], + "grantTypes": [ + "client_credentials", + "idm_delegation", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "requestUris": [], + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", + ], + "sectorIdentifierUri": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "client_secret_basic", + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "fr:idm:*", + "openid", + ], + "status": "Active", + "userpassword": null, + }, + "coreOpenIDClientConfig": { + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenModificationPluginType": "SCRIPTED", + "accessTokenModificationScript": "c234ba0b-58a1-4cfd-9567-09edde980745", + "clientsCanSkipConsent": true, + "oidcClaimsPluginType": "SCRIPTED", + "oidcClaimsScript": "1f389a3d-21cf-417c-a6d3-42ea620071f0", + "providerOverridesEnabled": true, + "statelessTokensEnabled": true, + }, + "signEncOAuth2ClientConfig": { + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": "http://am.fr-platform:80/am/oauth2/connect/jwk_uri", + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "baseline-ciba", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "urn:openid:params:grant-type:ciba", + "authorization_code", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "token", + "id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "openid", + "profile", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": "{"keys" :[{ "kty": "EC", "d": "bXhBnmXPav9lgPPs6zavwlqbSmaMpdyeh564d0uNI8k", "use": "sig", "crv": "P-256", "kid": "mykey", "x": "E8IyIrUIBdMVAFhRIcNtDVUI8OTDDSs-LRziuBthM4s", "y": "1jH5o5B5hBeqARhYTMPl5l8CVNOFIVrvYd_TiFH6FkQ" }]}", + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "baseline-web", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "authorization_code", + "refresh_token", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "code", + "token", + "id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "none", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "agentgroup": null, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Public", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [ + "https://sdkapp.example.com:8443", + "https://volker-demo.encore.forgerock.com/demo/webapp/en/home", + "https://volker-demo.encore.forgerock.com/demo/sdks", + "forgerock://oidc_callback", + ], + "refreshTokenLifetime": 0, + "scopes": [ + "openid", + "profile", + "address", + "phone", + "email", + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [ + "https://sdkapp.example.com:8443", + "https://volker-demo.encore.forgerock.com/demo/webapp/en/home", + "https://volker-demo.encore.forgerock.com/demo/sdks", + "forgerock://oidc_callback", + ], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "accessTokenModifierClass": null, + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "customLoginUrlTemplate": null, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsClass": null, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "da190d6b-0fcc-42aa-b890-0cef7486e6d4", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [ + "Created by Frodo on 3/20/2024, 9:46:11 AM", + ], + "grantTypes": [ + "client_credentials", + ], + "isConsentImplied": true, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "refreshTokenGracePeriod": 0, + "requestUris": [], + "require_pushed_authorization_requests": false, + "responseTypes": [ + "token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "Public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 3600, + "authorizationCodeLifetime": 120, + "clientName": [ + "da190d6b-0fcc-42aa-b890-0cef7486e6d4", + ], + "clientType": "Confidential", + "defaultScopes": [ + "fr:idm:*", + ], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 604800, + "scopes": [ + "fr:idm:*", + "fr:idc:esv:*", + "dynamic_client_registration", + ], + "status": "Active", + "userpassword": null, + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 3600, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationPluginType": "PROVIDER", + "accessTokenModificationScript": "[Empty]", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "PROVIDER", + "authorizeEndpointDataProviderScript": "[Empty]", + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "PROVIDER", + "evaluateScopeScript": "[Empty]", + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsPluginType": "PROVIDER", + "oidcClaimsScript": "[Empty]", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "useForceAuthnForMaxAge": false, + "usePolicyEngineForScope": false, + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "PROVIDER", + "validateScopeScript": "[Empty]", + }, + "signEncOAuth2ClientConfig": { + "authorizationResponseEncryptionAlgorithm": null, + "authorizationResponseEncryptionMethod": null, + "authorizationResponseSigningAlgorithm": "RS256", + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "test2", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [ + "Modified by Frodo on 4/16/2022, 8:41:59 PM", + ], + "grantTypes": [ + "authorization_code", + "refresh_token", + "client_credentials", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "requestUris": [], + "responseTypes": [ + "code", + "token", + "id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "authorizationCodeLifetime": 0, + "clientName": [ + "test2", + ], + "clientType": "Confidential", + "defaultScopes": [ + "openid", + ], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "openid", + "fr:idm:*", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "overrideOAuth2ClientConfig": { + "accessTokenMayActScript": "[Empty]", + "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "oidcMayActScript": "[Empty]", + "overrideableOIDCClaims": [], + "providerOverridesEnabled": false, + "remoteConsentServiceId": null, + "statelessTokensEnabled": false, + "tokenEncryptionEnabled": false, + "usePolicyEngineForScope": false, + }, + "signEncOAuth2ClientConfig": { + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "testclient", + "_type": { + "_id": "OAuth2Client", + "collection": true, + "name": "OAuth2 Clients", + }, + "advancedOAuth2ClientConfig": { + "clientUri": [], + "contacts": [], + "customProperties": [], + "descriptions": [], + "grantTypes": [ + "authorization_code", + ], + "isConsentImplied": false, + "javascriptOrigins": [], + "logoUri": [], + "mixUpMitigation": false, + "name": [], + "policyUri": [], + "requestUris": [], + "responseTypes": [ + "code", + "token", + "id_token", + "code token", + "token id_token", + "code id_token", + "code token id_token", + "device_code", + "device_code id_token", + ], + "sectorIdentifierUri": null, + "softwareIdentity": null, + "softwareVersion": null, + "subjectType": "public", + "tokenEndpointAuthMethod": "client_secret_basic", + "tokenExchangeAuthLevel": 0, + "tosURI": [], + "updateAccessToken": null, + }, + "coreOAuth2ClientConfig": { + "accessTokenLifetime": 0, + "authorizationCodeLifetime": 0, + "clientName": [], + "clientType": "Confidential", + "defaultScopes": [], + "loopbackInterfaceRedirection": false, + "redirectionUris": [], + "refreshTokenLifetime": 0, + "scopes": [ + "email", + "openid", + "profile", + ], + "status": "Active", + }, + "coreOpenIDClientConfig": { + "backchannel_logout_session_required": false, + "backchannel_logout_uri": null, + "claims": [], + "clientSessionUri": null, + "defaultAcrValues": [], + "defaultMaxAge": 600, + "defaultMaxAgeEnabled": false, + "jwtTokenLifetime": 0, + "postLogoutRedirectUri": [], + }, + "coreUmaClientConfig": { + "claimsRedirectionUris": [], + }, + "signEncOAuth2ClientConfig": { + "clientJwtPublicKey": null, + "idTokenEncryptionAlgorithm": "RSA-OAEP-256", + "idTokenEncryptionEnabled": false, + "idTokenEncryptionMethod": "A128CBC-HS256", + "idTokenPublicEncryptionKey": null, + "idTokenSignedResponseAlg": "RS256", + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "mTLSCertificateBoundAccessTokens": false, + "mTLSSubjectDN": null, + "mTLSTrustedCert": null, + "publicKeyLocation": "jwks_uri", + "requestParameterEncryptedAlg": null, + "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", + "requestParameterSignedAlg": null, + "tokenEndpointAuthSigningAlgorithm": "RS256", + "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", + "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "tokenIntrospectionResponseFormat": "JSON", + "tokenIntrospectionSignedResponseAlg": "RS256", + "userinfoEncryptedResponseAlg": null, + "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", + "userinfoResponseFormat": "JSON", + "userinfoSignedResponseAlg": null, + }, + }, + { + "_id": "cdsso-ig-agent", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "FrodoTestGatewayAgent3", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "FrodoTestGatewayAgent1", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "ig-agent", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "frodo-test-ig-agent2", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "frodo-test-ig-agent", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "rfc7523-client1-issuer", + "_type": { + "_id": "TrustedJwtIssuer", + "collection": true, + "name": "OAuth2 Trusted JWT Issuer", + }, + "allowedSubjects": [], + "consentedScopesClaim": "scope", + "issuer": "https://my-issuer.com/issuer", + "jwkSet": "{ + "keys": [ + { + "alg": "RS256", + "e": "AQAB", + "kid": "F8XFabIUlF3EDIJNX7YXdmK5uanwbON7CRbaL1MEFqs", + "kty": "RSA", + "n": "nuFbAmaHuTnH5yMkEU8b0SiL7pfQtfJz1p50QMeN_ZRxd3rEMPkP95sEjd5d4CjzkGIlgF_vX3oLm1GreAqp97okjM-KCAlYI8rIqptDfMFRRJV-ydw0zeDFjNdIo1FFquat1rz_mgys6oBBgYyc1x2MSfuCL82lJK__E0KULdqgZ-93eEfS9UgxguPsHCYnrdUrLQbk7j0OWy0awaGgjw_GBeW6VriVMPNm7q0Ist4XoXpTHqfuDhrchdOadSw5wULJQLqkK2iOzKfE1JrunIVMcsN_FhyxMGhJ2f6j1_8txMac5ISW6AugGoW6yeeRL-H_y_Pc1MPHNPYPOAvzAyviomajaVSQImSCTIrrtYX1WUSdrVkEFwk0H379xwlfwux7-6DjgwbJKrbtHlKw28CGNanHs2j1eJNuWkPXF_1F5koqKr05jIC6h96g1vl_EKddN7Vy9j6yRYdfS1A5co5nW4UtuVo1VujQWVtOnDEpDOQFYriAxRrghk250FGW82jyxEstI2HmLznHgPYUw_xS6qEmboCJ2r9zfVMVTTcaE9KWaetEhSTZzVTLddQs2-1vp-7A_VmVU0OmUXIyFpAv0uE94nX1mW24yOf0tYUrEfmktfNNMxHh3fncSJu93q90yaj6e3m4Ibgc2JZnp4m_hDFjyuTAruclisN4u4M" + } + ] +}", + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "resourceOwnerIdentityClaim": "sub", + }, + ], +} +`; + +exports[`AgentApi Cloud Tests getAgentsByType() 1: Get all gateway agents 1`] = ` +{ + "pagedResultsCookie": null, + "remainingPagedResults": -1, + "result": [ + { + "_id": "cdsso-ig-agent", + "_rev": "-1524382492", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "FrodoTestGatewayAgent3", + "_rev": "-1521434126", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "FrodoTestGatewayAgent1", + "_rev": "-1960723701", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "ig-agent", + "_rev": "-1566320906", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "frodo-test-ig-agent2", + "_rev": "1365023305", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "frodo-test-ig-agent", + "_rev": "1760721303", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + ], + "resultCount": 6, + "totalPagedResults": 6, + "totalPagedResultsPolicy": "EXACT", +} +`; + +exports[`AgentApi Cloud Tests getAgentsByType() 2: Get all java agents 1`] = ` +{ + "pagedResultsCookie": null, + "remainingPagedResults": -1, + "result": [ + { + "_id": "FrodoTestJavaAgent1", + "_rev": "-116709151", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "openam-volker-dev.forgeblocks.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Active", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + { + "_id": "frodo-test-java-agent", + "_rev": "1131793354", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, { - "_id": "FrodoTestGatewayAgent1", - "_rev": "-463953634", + "_id": "frodo-test-java-agent2", + "_rev": "561894916", "_type": { - "_id": "IdentityGatewayAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Identity Gateway Agents", + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", }, - ], - "resultCount": 2, - "totalPagedResults": 2, - "totalPagedResultsPolicy": "EXACT", -} -`; - -exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` -{ - "pagedResultsCookie": null, - "remainingPagedResults": -1, - "result": [ { - "_id": "FrodoTestJavaAgent1", - "_rev": "-1691128348", + "_id": "FrodoTestJavaAgent3", + "_rev": "-1871713927", "_type": { "_id": "J2EEAgent", "collection": true, @@ -5532,8 +8613,11 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -5547,7 +8631,7 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "authServiceProtocol": "https", "authSuccessRedirectUrl": false, "conditionalLoginUrl": [ - "", + "|?realm=/alpha", ], "conditionalLogoutUrl": [ "", @@ -5557,10 +8641,11 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "", ], "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -5608,26 +8693,27 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "sessionAttributeMap": {}, }, "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": true, + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationReloadInterval": 0, + "configurationReloadInterval": 10, "customResponseHeader": {}, - "debugLevel": "error", + "debugLevel": "message", "debugLogfilePrefix": null, "debugLogfileRetentionCount": -1, "debugLogfileRotationMinutes": -1, "debugLogfileRotationSize": 52428800, "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", "filterMode": { - "": "ALL", + "": "URL_POLICY", }, "fqdnCheck": false, - "fqdnDefault": "openam-volker-dev.forgeblocks.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, "httpSessionBinding": true, "jwtName": "am-auth-jwt", @@ -5644,8 +8730,9 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", - "userAttributeName": "employeenumber", + "userAttributeName": "uid", "userMappingMode": "USER_ID", "userPrincipalFlag": false, "userTokenName": "UserToken", @@ -5666,7 +8753,7 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "gotoParameterName": "goto", "gotoUrl": null, "ignorePathInfo": false, - "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyRedirectUri": "/app1/sunwLegacySupportURI", "legacyUserAgentList": [ "Mozilla/4.7*", ], @@ -5704,7 +8791,7 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "cdssoDomainList": [ "", ], - "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoRedirectUri": "/agentapp/post-authn-redirect", "cdssoSecureCookies": false, "cookieResetDomains": {}, "cookieResetEnabled": false, @@ -5719,244 +8806,347 @@ exports[`AgentApi getAgentsByType() 2: Get all java agents 1`] = ` "setCookieInternalMap": {}, }, }, + ], + "resultCount": 4, + "totalPagedResults": 4, + "totalPagedResultsPolicy": "EXACT", +} +`; + +exports[`AgentApi Cloud Tests getAgentsByType() 3: Get all web agents 1`] = ` +{ + "pagedResultsCookie": null, + "remainingPagedResults": -1, + "result": [ { - "_id": "FrodoTestJavaAgent3", - "_rev": "309933180", + "_id": "frodo-test-web-agent2", + "_rev": "930101313", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + { + "_id": "frodo-test-web-agent", + "_rev": "218393939", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "postDataCacheTtlMin": 5, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, + "amServicesWebAgent": { "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", ], - "conditionalLogoutUrl": [ + "applicationLogoutUrls": [ "", ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ + "conditionalLoginUrl": [ "", ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ "", ], - "urlPolicyEnvJsessionParameters": [ + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ "", ], - "urlPolicyEnvPostParameters": [ + "regexConditionalLoginUrl": [ "", ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, "notEnforcedIps": [ "", ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsList": [ "", ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", "agentgroup": null, + "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=http://testagenturl.com:8080/", ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, + "configurationPollingInterval": 60, + "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "testagenturl.com", "fqdnMapping": {}, - "httpSessionBinding": true, + "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", + "notificationsEnabled": true, "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", "webSocketConnectionIntervalInMinutes": 30, }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, "gotoParameterName": "goto", - "gotoUrl": null, + "headerJsonResponse": {}, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ "", ], }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", "cookieResetEnabled": false, - "cookieResetNames": [ + "cookieResetList": [ "", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], + "cookieResetOnRedirect": false, "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, - ], - "resultCount": 2, - "totalPagedResults": 2, - "totalPagedResultsPolicy": "EXACT", -} -`; - -exports[`AgentApi getAgentsByType() 3: Get all web agents 1`] = ` -{ - "pagedResultsCookie": null, - "remainingPagedResults": -1, - "result": [ { "_id": "FrodoTestWebAgent1", - "_rev": "-342721471", + "_rev": "1549383126", "_type": { "_id": "WebAgent", "collection": true, @@ -6074,6 +9264,7 @@ exports[`AgentApi getAgentsByType() 3: Get all web agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -6121,7 +9312,7 @@ exports[`AgentApi getAgentsByType() 3: Get all web agents 1`] = ` }, { "_id": "FrodoTestWebAgent3", - "_rev": "-2002465265", + "_rev": "40364048", "_type": { "_id": "WebAgent", "collection": true, @@ -6236,6 +9427,7 @@ exports[`AgentApi getAgentsByType() 3: Get all web agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -6282,16 +9474,16 @@ exports[`AgentApi getAgentsByType() 3: Get all web agents 1`] = ` }, }, ], - "resultCount": 2, - "totalPagedResults": 2, + "resultCount": 4, + "totalPagedResults": 4, "totalPagedResultsPolicy": "EXACT", } `; -exports[`AgentApi putAgentByTypeAndId() 1: Put IdentityGatewayAgent 'FrodoTestGatewayAgent2' 1`] = ` +exports[`AgentApi Cloud Tests putAgentByTypeAndId() 1: Put IdentityGatewayAgent 'FrodoTestGatewayAgent2' 1`] = ` { "_id": "FrodoTestGatewayAgent2", - "_rev": "-17061458", + "_rev": "81854864", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -6308,6 +9500,9 @@ exports[`AgentApi putAgentByTypeAndId() 1: Put IdentityGatewayAgent 'FrodoTestGa "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -6315,10 +9510,10 @@ exports[`AgentApi putAgentByTypeAndId() 1: Put IdentityGatewayAgent 'FrodoTestGa } `; -exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1`] = ` +exports[`AgentApi Cloud Tests putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1`] = ` { "_id": "FrodoTestJavaAgent2", - "_rev": "-1750716182", + "_rev": "404270524", "_type": { "_id": "J2EEAgent", "collection": true, @@ -6411,6 +9606,14 @@ exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1 "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -6418,6 +9621,10 @@ exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1 "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -6502,6 +9709,10 @@ exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1 "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -6767,6 +9978,9 @@ exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1 "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -6985,10 +10199,10 @@ exports[`AgentApi putAgentByTypeAndId() 2: Put J2EEAgent 'FrodoTestJavaAgent2' 1 } `; -exports[`AgentApi putAgentByTypeAndId() 3: Put WebAgent 'FrodoTestWebAgent2' 1`] = ` +exports[`AgentApi Cloud Tests putAgentByTypeAndId() 3: Put WebAgent 'FrodoTestWebAgent2' 1`] = ` { "_id": "FrodoTestWebAgent2", - "_rev": "528305929", + "_rev": "426296999", "_type": { "_id": "WebAgent", "collection": true, @@ -7324,6 +10538,9 @@ exports[`AgentApi putAgentByTypeAndId() 3: Put WebAgent 'FrodoTestWebAgent2' 1`] "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, diff --git a/src/test/snapshots/ops/AgentOps.test.js.snap b/src/test/snapshots/ops/AgentOps.test.js.snap index fbf6052e1..3deff47ea 100644 --- a/src/test/snapshots/ops/AgentOps.test.js.snap +++ b/src/test/snapshots/ops/AgentOps.test.js.snap @@ -1,33 +1,98 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AgentOps createAgentExportTemplate() 1: Create Agent Export Template 1`] = ` +exports[`AgentOps Classic Tests exportAgent() 4: Export agent 'AgentService' 1`] = ` +{ + "agent": { + "AgentService": { + "_id": "", + "_rev": "1570129136", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Classic Tests exportAgents() 2: Export all agents 1`] = ` +{ + "agent": { + "AgentService": { + "_id": "AgentService", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Classic Tests readAgent() 4: Read agent 'AgentService' 1`] = ` +{ + "_id": "", + "_rev": "1570129136", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, +} +`; + +exports[`AgentOps Classic Tests readAgents() 2: Read all agents 1`] = ` +[ + { + "_id": "AgentService", + "_type": { + "_id": "AgentService", + "collection": false, + "name": "AgentService", + }, + }, +] +`; + +exports[`AgentOps Cloud Tests createAgentExportTemplate() 1: Create Agent Export Template 1`] = ` { "agent": {}, "meta": Any, } `; -exports[`AgentOps deleteIdentityGatewayAgent() 2: Delete agent of wrong type 'FrodoOpsTestJavaAgent9' (J2EEAgent) 1`] = ` +exports[`AgentOps Cloud Tests createAgentGroupExportTemplate() 1: Create Agent Group Export Template 1`] = ` +{ + "agentGroup": {}, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests deleteIdentityGatewayAgent() 2: Delete agent of wrong type 'FrodoOpsTestJavaAgent9' (J2EEAgent) 1`] = ` "Error deleting identity gateway agent FrodoOpsTestJavaAgent9 Identity gateway agent 'FrodoOpsTestJavaAgent9' not found!" `; -exports[`AgentOps deleteJavaAgent() 2: Delete agent of wrong type 'FrodoOpsTestWebAgent9' (WebAgent) 1`] = ` +exports[`AgentOps Cloud Tests deleteJavaAgent() 2: Delete agent of wrong type 'FrodoOpsTestWebAgent9' (WebAgent) 1`] = ` "Error deleting java agent FrodoOpsTestWebAgent9 Java agent 'FrodoOpsTestWebAgent9' not found!" `; -exports[`AgentOps deleteWebAgent() 2: Delete agent of wrong type 'FrodoOpsTestGatewayAgent9' (IdentityGatewayAgent) 1`] = ` +exports[`AgentOps Cloud Tests deleteWebAgent() 2: Delete agent of wrong type 'FrodoOpsTestGatewayAgent9' (IdentityGatewayAgent) 1`] = ` "Error deleting web agent FrodoOpsTestGatewayAgent9 Web agent 'FrodoOpsTestGatewayAgent9' not found!" `; -exports[`AgentOps exportAgent() 1: Export agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` +exports[`AgentOps Cloud Tests exportAgent() 1: Export agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` { "agent": { "FrodoOpsTestGatewayAgent1": { "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "1898225799", + "_rev": "1997142121", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -54,6 +119,9 @@ exports[`AgentOps exportAgent() 1: Export agent 'FrodoOpsTestGatewayAgent1' (Ide "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -64,12 +132,12 @@ exports[`AgentOps exportAgent() 1: Export agent 'FrodoOpsTestGatewayAgent1' (Ide } `; -exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` +exports[`AgentOps Cloud Tests exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` { "agent": { "FrodoOpsTestJavaAgent1": { "_id": "FrodoOpsTestJavaAgent1", - "_rev": "1389672820", + "_rev": "-723100226", "_type": { "_id": "J2EEAgent", "collection": true, @@ -162,6 +230,14 @@ exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAg "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -169,6 +245,10 @@ exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAg "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -253,6 +333,10 @@ exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAg "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -517,6 +601,9 @@ exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAg "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -738,12 +825,12 @@ exports[`AgentOps exportAgent() 2: Export agent 'FrodoOpsTestJavaAgent1' (J2EEAg } `; -exports[`AgentOps exportAgent() 3: Export agent 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` +exports[`AgentOps Cloud Tests exportAgent() 3: Export agent 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` { "agent": { "FrodoOpsTestWebAgent1": { "_id": "FrodoOpsTestWebAgent1", - "_rev": "-56934604", + "_rev": "-696084654", "_type": { "_id": "WebAgent", "collection": true, @@ -1083,6 +1170,9 @@ exports[`AgentOps exportAgent() 3: Export agent 'FrodoOpsTestWebAgent1' (WebAgen "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, @@ -1230,102 +1320,23 @@ exports[`AgentOps exportAgent() 3: Export agent 'FrodoOpsTestWebAgent1' (WebAgen } `; -exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` +exports[`AgentOps Cloud Tests exportAgentGroups() 1: Export Agent Groups 1`] = ` { - "agent": { - "FrodoOpsTestGatewayAgent1": { - "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "-844287852", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - "FrodoOpsTestGatewayAgent2": { - "_id": "FrodoOpsTestGatewayAgent2", - "_rev": "-404998274", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - "FrodoOpsTestGatewayAgent7": { - "_id": "FrodoOpsTestGatewayAgent7", - "_rev": "-404998281", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - "FrodoOpsTestGatewayAgent8": { - "_id": "FrodoOpsTestGatewayAgent8", - "_rev": "-404998280", + "agentGroup": { + "test_ig_group": { + "_id": "test_ig_group", "_type": { "_id": "IdentityGatewayAgent", "collection": true, "name": "Identity Gateway Agents", }, - "agentgroup": null, "igCdssoLoginUrlTemplate": null, "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - "FrodoOpsTestGatewayAgent9": { - "_id": "FrodoOpsTestGatewayAgent9", - "_rev": "-844287860", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - "igTokenIntrospection": "Realm_Subs", + "igTokenIntrospection": "None", "status": "Active", }, - "FrodoOpsTestJavaAgent1": { - "_id": "FrodoOpsTestJavaAgent1", - "_rev": "542636718", + "test_java_group": { + "_id": "test_java_group", "_type": { "_id": "J2EEAgent", "collection": true, @@ -1358,8 +1369,11 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -1368,9 +1382,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "amServicesJ2EEAgent": { "agentAdviceEncode": false, "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", "authSuccessRedirectUrl": false, "conditionalLoginUrl": [ "", @@ -1387,6 +1401,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -1435,12 +1450,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` }, "globalJ2EEAgentConfig": { "agentConfigChangeNotificationsEnabled": true, - "agentgroup": null, "auditAccessType": "LOG_NONE", "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], + "cdssoRootUrl": [], "configurationReloadInterval": 0, "customResponseHeader": {}, "debugLevel": "error", @@ -1453,7 +1465,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "": "ALL", }, "fqdnCheck": false, - "fqdnDefault": "openam-volker-dev.forgeblocks.com", + "fqdnDefault": null, "fqdnMapping": {}, "httpSessionBinding": true, "jwtName": "am-auth-jwt", @@ -1469,7 +1481,6 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "recheckAmUnavailabilityInSeconds": 5, "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -1492,7 +1503,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "gotoParameterName": "goto", "gotoUrl": null, "ignorePathInfo": false, - "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyRedirectUri": null, "legacyUserAgentList": [ "Mozilla/4.7*", ], @@ -1503,9 +1514,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "loginReasonParameterName": null, "portCheckEnabled": false, "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, + "portCheckSetting": {}, "unwantedHttpUrlParams": [ "", ], @@ -1530,7 +1539,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "cdssoDomainList": [ "", ], - "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoRedirectUri": null, "cdssoSecureCookies": false, "cookieResetDomains": {}, "cookieResetEnabled": false, @@ -1545,232 +1554,269 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "setCookieInternalMap": {}, }, }, - "FrodoOpsTestJavaAgent2": { - "_id": "FrodoOpsTestJavaAgent2", - "_rev": "-1751269039", + "test_web_agent_group": { + "_id": "test_web_agent_group", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "postDataCacheTtlMin": 5, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, + "amServicesWebAgent": { "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", + "amLogoutUrl": [ + "http://testurl.com:8080/UI/Logout", ], - "conditionalLogoutUrl": [ + "applicationLogoutUrls": [ "", ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ + "conditionalLoginUrl": [ "", ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ "", ], - "urlPolicyEnvJsessionParameters": [ + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ "", ], - "urlPolicyEnvPostParameters": [ + "regexConditionalLoginUrl": [ "", ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, "notEnforcedIps": [ "", ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsList": [ "", ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, - "agentgroup": null, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": null, + "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", - "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", - ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [], + "configurationPollingInterval": 60, + "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": null, "fqdnMapping": {}, - "httpSessionBinding": true, + "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", + "notificationsEnabled": true, + "resetIdleTime": false, + "ssoOnlyMode": false, "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, "gotoParameterName": "goto", - "gotoUrl": null, + "headerJsonResponse": {}, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ "", ], }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", "cookieResetEnabled": false, - "cookieResetNames": [ + "cookieResetList": [ "", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], + "cookieResetOnRedirect": false, "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, - "FrodoOpsTestJavaAgent7": { - "_id": "FrodoOpsTestJavaAgent7", - "_rev": "-1751269054", + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests exportAgents() 1: Export all agents 1`] = ` +{ + "agent": { + "FrodoOpsTestGatewayAgent1": { + "_id": "FrodoOpsTestGatewayAgent1", + "_rev": "1953909377", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent2": { + "_id": "FrodoOpsTestGatewayAgent2", + "_rev": "-1901768341", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent7": { + "_id": "FrodoOpsTestGatewayAgent7", + "_rev": "-1901768348", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent8": { + "_id": "FrodoOpsTestGatewayAgent8", + "_rev": "-1901768347", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent9": { + "_id": "FrodoOpsTestGatewayAgent9", + "_rev": "1953909369", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestJavaAgent1": { + "_id": "FrodoOpsTestJavaAgent1", + "_rev": "2117055915", "_type": { "_id": "J2EEAgent", "collection": true, @@ -1803,8 +1849,11 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -1818,7 +1867,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "authServiceProtocol": "https", "authSuccessRedirectUrl": false, "conditionalLoginUrl": [ - "|?realm=/alpha", + "", ], "conditionalLogoutUrl": [ "", @@ -1828,10 +1877,11 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "", ], "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -1879,27 +1929,26 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "sessionAttributeMap": {}, }, "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "agentConfigChangeNotificationsEnabled": true, "agentgroup": null, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", ], - "configurationReloadInterval": 10, + "configurationReloadInterval": 0, "customResponseHeader": {}, - "debugLevel": "message", + "debugLevel": "error", "debugLogfilePrefix": null, "debugLogfileRetentionCount": -1, "debugLogfileRotationMinutes": -1, "debugLogfileRotationSize": 52428800, "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", "filterMode": { - "": "URL_POLICY", + "": "ALL", }, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "openam-volker-dev.forgeblocks.com", "fqdnMapping": {}, "httpSessionBinding": true, "jwtName": "am-auth-jwt", @@ -1916,8 +1965,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", - "userAttributeName": "uid", + "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", "userPrincipalFlag": false, "userTokenName": "UserToken", @@ -1938,7 +1988,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "gotoParameterName": "goto", "gotoUrl": null, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyRedirectUri": "/agent/sunwLegacySupportURI", "legacyUserAgentList": [ "Mozilla/4.7*", ], @@ -1976,7 +2026,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "cdssoDomainList": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoRedirectUri": "/agent/post-authn-redirect", "cdssoSecureCookies": false, "cookieResetDomains": {}, "cookieResetEnabled": false, @@ -1991,9 +2041,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "setCookieInternalMap": {}, }, }, - "FrodoOpsTestJavaAgent8": { - "_id": "FrodoOpsTestJavaAgent8", - "_rev": "-1751269053", + "FrodoOpsTestJavaAgent2": { + "_id": "FrodoOpsTestJavaAgent2", + "_rev": "362051150", "_type": { "_id": "J2EEAgent", "collection": true, @@ -2026,8 +2076,11 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -2055,6 +2108,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -2139,6 +2193,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -2214,9 +2269,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "setCookieInternalMap": {}, }, }, - "FrodoOpsTestJavaAgent9": { - "_id": "FrodoOpsTestJavaAgent9", - "_rev": "-1751269048", + "FrodoOpsTestJavaAgent7": { + "_id": "FrodoOpsTestJavaAgent7", + "_rev": "362051135", "_type": { "_id": "J2EEAgent", "collection": true, @@ -2249,8 +2304,11 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -2278,6 +2336,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -2362,6 +2421,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -2437,318 +2497,613 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent1": { - "_id": "FrodoOpsTestWebAgent1", - "_rev": "1391805111", + "FrodoOpsTestJavaAgent8": { + "_id": "FrodoOpsTestJavaAgent8", + "_rev": "362051136", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": true, - "overrideRequestPort": true, - "overrideRequestProtocol": true, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { - "amLoginUrl": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], - "amLogoutUrl": [ - "https://idc.scheuber.io:443/am/UI/Logout", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, + "overridePolicyEvaluationRealmEnabled": false, "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", - "https://apps.mytestrun.com/app1/*", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Info", - "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_BOTH", + "auditAccessType": "LOG_NONE", "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://apps.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "apps.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": true, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, "gotoParameterName": "goto", - "headerJsonResponse": {}, + "gotoUrl": null, "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ "", ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ + "unwantedHttpUrlRegexParams": [ "", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, "cookieResetEnabled": false, - "cookieResetList": [ + "cookieResetNames": [ "", ], - "cookieResetOnRedirect": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent2": { - "_id": "FrodoOpsTestWebAgent2", - "_rev": "-267938680", + "FrodoOpsTestJavaAgent9": { + "_id": "FrodoOpsTestJavaAgent9", + "_rev": "362051141", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, "gotoParameterName": "goto", - "headerJsonResponse": {}, + "gotoUrl": null, "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "", + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "", + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + "FrodoOpsTestWebAgent1": { + "_id": "FrodoOpsTestWebAgent1", + "_rev": "-1011057588", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": true, + "overrideRequestPort": true, + "overrideRequestProtocol": true, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [ + "https://idc.scheuber.io/login?realm=/alpha", + ], + "amLogoutUrl": [ + "https://idc.scheuber.io:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + "https://apps.mytestrun.com/app1/*", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Info", + "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_BOTH", + "auditLogLocation": "ALL", + "cdssoRootUrl": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "apps.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": true, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", ], "cdssoRedirectUri": "agent/cdsso-oauth2", "cookieName": "iPlanetDirectoryPro", @@ -2764,9 +3119,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "secureCookies": false, }, }, - "FrodoOpsTestWebAgent7": { - "_id": "FrodoOpsTestWebAgent7", - "_rev": "-267938687", + "FrodoOpsTestWebAgent2": { + "_id": "FrodoOpsTestWebAgent2", + "_rev": "1774890633", "_type": { "_id": "WebAgent", "collection": true, @@ -2881,6 +3236,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -2926,9 +3282,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "secureCookies": false, }, }, - "FrodoOpsTestWebAgent8": { - "_id": "FrodoOpsTestWebAgent8", - "_rev": "-267938686", + "FrodoOpsTestWebAgent7": { + "_id": "FrodoOpsTestWebAgent7", + "_rev": "1774890626", "_type": { "_id": "WebAgent", "collection": true, @@ -3043,6 +3399,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -3088,9 +3445,9 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "secureCookies": false, }, }, - "FrodoOpsTestWebAgent9": { - "_id": "FrodoOpsTestWebAgent9", - "_rev": "-267938689", + "FrodoOpsTestWebAgent8": { + "_id": "FrodoOpsTestWebAgent8", + "_rev": "1774890627", "_type": { "_id": "WebAgent", "collection": true, @@ -3205,6 +3562,7 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -3250,97 +3608,172 @@ exports[`AgentOps exportAgents() 1: Export all agents 1`] = ` "secureCookies": false, }, }, - }, - "meta": Any, -} -`; - -exports[`AgentOps exportIdentityGatewayAgent() 1: Export IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1' 1`] = ` -{ - "agent": { - "FrodoOpsTestGatewayAgent1": { - "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "1898225799", + "FrodoOpsTestWebAgent9": { + "_id": "FrodoOpsTestWebAgent9", + "_rev": "1774890624", "_type": { - "_id": "IdentityGatewayAgent", + "_id": "WebAgent", "collection": true, - "name": "Identity Gateway Agents", - }, - "igCdssoLoginUrlTemplate": { - "inherited": false, + "name": "Web Agents", }, - "igCdssoRedirectUrls": { - "inherited": false, - "value": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "igTokenIntrospection": { - "inherited": false, - "value": "Realm_Subs", - }, - "status": { - "inherited": false, - "value": "Active", + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - }, - }, - "meta": Any, -} -`; - -exports[`AgentOps exportIdentityGatewayAgents() 1: Export gateway agents 1`] = ` -{ - "agent": { - "FrodoOpsTestGatewayAgent1": { - "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "-844287852", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", - }, - "FrodoOpsTestGatewayAgent2": { - "_id": "FrodoOpsTestGatewayAgent2", - "_rev": "-404998274", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", }, - "FrodoOpsTestGatewayAgent7": { - "_id": "FrodoOpsTestGatewayAgent7", - "_rev": "-404998281", + "cdsso-ig-agent": { + "_id": "cdsso-ig-agent", + "_rev": "-1524382492", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -3348,929 +3781,483 @@ exports[`AgentOps exportIdentityGatewayAgents() 1: Export gateway agents 1`] = ` }, "agentgroup": null, "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, - "FrodoOpsTestGatewayAgent8": { - "_id": "FrodoOpsTestGatewayAgent8", - "_rev": "-404998280", + "frodo-test-ig-agent": { + "_id": "frodo-test-ig-agent", + "_rev": "-1490423122", "_type": { "_id": "IdentityGatewayAgent", "collection": true, "name": "Identity Gateway Agents", }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", + "agentgroup": "test_ig_group", + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", }, - "FrodoOpsTestGatewayAgent9": { - "_id": "FrodoOpsTestGatewayAgent9", - "_rev": "-844287860", + "frodo-test-ig-agent2": { + "_id": "frodo-test-ig-agent2", + "_rev": "1365023305", "_type": { "_id": "IdentityGatewayAgent", "collection": true, "name": "Identity Gateway Agents", }, "agentgroup": null, - "igCdssoLoginUrlTemplate": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", "igCdssoRedirectUrls": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", + "http://testurl.com:8080/frodo", ], - "igTokenIntrospection": "Realm_Subs", - "status": "Active", + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", }, - }, - "meta": Any, -} -`; - -exports[`AgentOps exportJavaAgent() 1: Export J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] = ` -{ - "agent": { - "FrodoOpsTestJavaAgent1": { - "_id": "FrodoOpsTestJavaAgent1", - "_rev": "1389672820", + "frodo-test-java-agent": { + "_id": "frodo-test-java-agent", + "_rev": "1131793354", "_type": { "_id": "J2EEAgent", "collection": true, "name": "J2EE Agents", }, "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": { - "inherited": false, - }, - "alternativeAgentPort": { - "inherited": false, - }, - "alternativeAgentProtocol": { - "inherited": false, - }, - "clientHostnameHeader": { - "inherited": false, - }, - "clientIpHeader": { - "inherited": false, - }, - "customProperties": { - "inherited": false, - "value": [], - }, - "expiredSessionCacheSize": { - "inherited": false, - "value": 500, - }, - "expiredSessionCacheTTL": { - "inherited": false, - "value": 20, - }, - "fragmentRelayUri": { - "inherited": false, - }, - "idleTimeRefreshWindow": { - "inherited": false, - "value": 1, - }, - "jwtCacheSize": { - "inherited": false, - "value": 5000, - }, - "jwtCacheTTL": { - "inherited": false, - "value": 30, - }, - "missingPostDataPreservationEntryUri": { - "inherited": false, - "value": [ - "", - ], - }, - "monitoringToCSV": { - "inherited": false, - "value": false, - }, - "policyCachePerUser": { - "inherited": false, - "value": 50, - }, - "policyCacheSize": { - "inherited": false, - "value": 5000, - }, - "policyClientPollingInterval": { - "inherited": false, - "value": 3, - }, - "possibleXssCodeElements": { - "inherited": false, - "value": [ - "", - ], - }, - "postDataCacheTtlMin": { - "inherited": false, - "value": 5, - }, - "postDataPreservation": { - "inherited": false, - "value": false, - }, - "postDataPreserveCacheEntryMaxEntries": { - "inherited": false, - "value": 1000, - }, - "postDataPreserveCacheEntryMaxTotalSizeMb": { - "inherited": false, - "value": -1, - }, - "postDataStickySessionKeyValue": { - "inherited": false, - }, - "postDataStickySessionMode": { - "inherited": false, - "value": "URL", - }, - "sessionCacheTTL": { - "inherited": false, - "value": 15, - }, - "ssoExchangeCacheSize": { - "inherited": false, - "value": 100, - }, - "ssoExchangeCacheTTL": { - "inherited": false, - "value": 5, - }, - "xssDetectionRedirectUri": { - "inherited": false, - "value": {}, - }, + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, "amServicesJ2EEAgent": { - "agentAdviceEncode": { - "inherited": false, - "value": false, - }, - "amLoginUrl": { - "inherited": false, - "value": [], - }, - "authServiceHost": { - "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", - }, - "authServicePort": { - "inherited": false, - "value": 443, - }, - "authServiceProtocol": { - "inherited": false, - "value": "https", - }, - "authSuccessRedirectUrl": { - "inherited": false, - "value": false, - }, - "conditionalLoginUrl": { - "inherited": false, - "value": [ - "", - ], - }, - "conditionalLogoutUrl": { - "inherited": false, - "value": [ - "", - ], - }, - "customLoginEnabled": { - "inherited": false, - "value": false, - }, - "legacyLoginUrlList": { - "inherited": false, - "value": [ - "", - ], - }, - "overridePolicyEvaluationRealmEnabled": { - "inherited": false, - "value": false, - }, - "policyEvaluationApplication": { - "inherited": false, - "value": "iPlanetAMWebAgentService", - }, - "policyEvaluationRealm": { - "inherited": false, - "value": "/", - }, - "policyNotifications": { - "inherited": false, - "value": true, - }, - "restrictToRealm": { - "inherited": false, - "value": {}, - }, - "urlPolicyEnvGetParameters": { - "inherited": false, - "value": [ - "", - ], - }, - "urlPolicyEnvJsessionParameters": { - "inherited": false, - "value": [ - "", - ], - }, - "urlPolicyEnvPostParameters": { - "inherited": false, - "value": [ - "", - ], - }, + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], }, "applicationJ2EEAgentConfig": { - "applicationLogoutUris": { - "inherited": false, - "value": {}, - }, + "applicationLogoutUris": {}, "clientIpValidationMode": { - "inherited": false, - "value": { - "": "OFF", - }, - }, - "clientIpValidationRange": { - "inherited": false, - "value": {}, - }, - "continuousSecurityCookies": { - "inherited": false, - "value": {}, - }, - "continuousSecurityHeaders": { - "inherited": false, - "value": {}, - }, - "cookieAttributeMultiValueSeparator": { - "inherited": false, - "value": "|", - }, - "cookieAttributeUrlEncoded": { - "inherited": false, - "value": true, - }, - "headerAttributeDateFormat": { - "inherited": false, - "value": "EEE, d MMM yyyy hh:mm:ss z", - }, - "invertNotEnforcedIps": { - "inherited": false, - "value": false, - }, - "invertNotEnforcedUris": { - "inherited": false, - "value": false, - }, - "logoutEntryUri": { - "inherited": false, - "value": {}, - }, - "logoutIntrospection": { - "inherited": false, - "value": false, - }, - "logoutRequestParameters": { - "inherited": false, - "value": {}, - }, - "notEnforcedFavicon": { - "inherited": false, - "value": true, - }, - "notEnforcedIps": { - "inherited": false, - "value": [ - "", - ], - }, - "notEnforcedIpsCacheEnabled": { - "inherited": false, - "value": true, - }, - "notEnforcedIpsCacheSize": { - "inherited": false, - "value": 1000, - }, - "notEnforcedRuleCompoundSeparator": { - "inherited": false, - "value": "|", - }, - "notEnforcedUris": { - "inherited": false, - "value": [ - "", - ], - }, - "notEnforcedUrisCacheEnabled": { - "inherited": false, - "value": true, - }, - "notEnforcedUrisCacheSize": { - "inherited": false, - "value": 1000, - }, - "profileAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "profileAttributeMap": { - "inherited": false, - "value": {}, - }, - "resourceAccessDeniedUri": { - "inherited": false, - "value": {}, - }, - "responseAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "responseAttributeMap": { - "inherited": false, - "value": {}, - }, - "sessionAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "sessionAttributeMap": { - "inherited": false, - "value": {}, + "": "OFF", }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": { - "inherited": false, - "value": true, - }, - "auditAccessType": { - "inherited": false, - "value": "LOG_NONE", - }, - "auditLogLocation": { - "inherited": false, - "value": "REMOTE", - }, - "cdssoRootUrl": { - "inherited": false, - "value": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], - }, - "configurationReloadInterval": { - "inherited": false, - "value": 0, - }, - "customResponseHeader": { - "inherited": false, - "value": {}, - }, - "debugLevel": { - "inherited": false, - "value": "error", - }, - "debugLogfilePrefix": { - "inherited": false, - }, - "debugLogfileRetentionCount": { - "inherited": false, - "value": -1, - }, - "debugLogfileRotationMinutes": { - "inherited": false, - "value": -1, - }, - "debugLogfileRotationSize": { - "inherited": false, - "value": 52428800, - }, - "debugLogfileSuffix": { - "inherited": false, - "value": "-yyyy.MM.dd-HH.mm.ss", - }, + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", "filterMode": { - "inherited": false, - "value": { - "": "ALL", - }, - }, - "fqdnCheck": { - "inherited": false, - "value": false, - }, - "fqdnDefault": { - "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", - }, - "fqdnMapping": { - "inherited": false, - "value": {}, - }, - "httpSessionBinding": { - "inherited": false, - "value": true, - }, - "jwtName": { - "inherited": false, - "value": "am-auth-jwt", - }, - "lbCookieEnabled": { - "inherited": false, - "value": false, - }, - "lbCookieName": { - "inherited": false, - "value": "amlbcookie", + "": "ALL", }, - "localAuditLogRotation": { - "inherited": false, - "value": false, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", }, - "localAuditLogfileRetentionCount": { - "inherited": false, - "value": -1, - }, - "localAuditRotationSize": { - "inherited": false, - "value": 52428800, - }, - "loginAttemptLimit": { - "inherited": false, - "value": 0, - }, - "loginAttemptLimitCookieName": { - "inherited": false, - "value": "amFilterParam", - }, - "preAuthCookieMaxAge": { - "inherited": false, - "value": 300, - }, - "preAuthCookieName": { - "inherited": false, - "value": "amFilterCDSSORequest", - }, - "recheckAmUnavailabilityInSeconds": { - "inherited": false, - "value": 5, - }, - "redirectAttemptLimit": { - "inherited": false, - "value": 0, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + "frodo-test-java-agent2": { + "_id": "frodo-test-java-agent2", + "_rev": "561894916", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", }, - "redirectAttemptLimitCookieName": { - "inherited": false, - "value": "amFilterRDParam", + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "status": { - "inherited": false, - "value": "Active", - }, - "userAttributeName": { - "inherited": false, - "value": "employeenumber", - }, - "userMappingMode": { - "inherited": false, - "value": "USER_ID", - }, - "userPrincipalFlag": { - "inherited": false, - "value": false, - }, - "userTokenName": { - "inherited": false, - "value": "UserToken", - }, - "webSocketConnectionIntervalInMinutes": { - "inherited": false, - "value": 30, - }, + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, "miscJ2EEAgentConfig": { - "agent302RedirectContentType": { - "inherited": false, - "value": "application/json", - }, - "agent302RedirectEnabled": { - "inherited": false, - "value": true, - }, - "agent302RedirectHttpData": { - "inherited": false, - "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - }, - "agent302RedirectInvertEnabled": { - "inherited": false, - "value": false, - }, - "agent302RedirectNerList": { - "inherited": false, - "value": [ - "", - ], - }, - "agent302RedirectStatusCode": { - "inherited": false, - "value": 200, - }, - "authFailReasonParameterName": { - "inherited": false, - }, - "authFailReasonParameterRemapper": { - "inherited": false, - "value": {}, - }, - "authFailReasonUrl": { - "inherited": false, - }, - "gotoParameterName": { - "inherited": false, - "value": "goto", - }, - "gotoUrl": { - "inherited": false, - }, - "ignorePathInfo": { - "inherited": false, - "value": false, - }, - "legacyRedirectUri": { - "inherited": false, - "value": "/agent/sunwLegacySupportURI", - }, - "legacyUserAgentList": { - "inherited": false, - "value": [ - "Mozilla/4.7*", - ], - }, - "legacyUserAgentSupport": { - "inherited": false, - "value": false, - }, - "localeCountry": { - "inherited": false, - "value": "US", - }, - "localeLanguage": { - "inherited": false, - "value": "en", - }, - "loginReasonMap": { - "inherited": false, - "value": {}, - }, - "loginReasonParameterName": { - "inherited": false, - }, - "portCheckEnabled": { - "inherited": false, - "value": false, - }, - "portCheckFile": { - "inherited": false, - "value": "PortCheckContent.txt", - }, + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", "portCheckSetting": { - "inherited": false, - "value": { - "443": "https", - }, - }, - "unwantedHttpUrlParams": { - "inherited": false, - "value": [ - "", - ], - }, - "unwantedHttpUrlRegexParams": { - "inherited": false, - "value": [ - "", - ], - }, - "wantedHttpUrlParams": { - "inherited": false, - "value": [ - "", - ], - }, - "wantedHttpUrlRegexParams": { - "inherited": false, - "value": [ - "", - ], - }, - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": { - "inherited": false, - "value": false, - }, - "acceptSsoTokenDomainList": { - "inherited": false, - "value": [ - "", - ], - }, - "acceptSsoTokenEnabled": { - "inherited": false, - "value": false, - }, - "authExchangeCookieName": { - "inherited": false, - }, - "authExchangeUri": { - "inherited": false, - }, - "cdssoDomainList": { - "inherited": false, - "value": [ - "", - ], - }, - "cdssoRedirectUri": { - "inherited": false, - "value": "/agent/post-authn-redirect", - }, - "cdssoSecureCookies": { - "inherited": false, - "value": false, - }, - "cookieResetDomains": { - "inherited": false, - "value": {}, - }, - "cookieResetEnabled": { - "inherited": false, - "value": false, - }, - "cookieResetNames": { - "inherited": false, - "value": [ - "", - ], - }, - "cookieResetPaths": { - "inherited": false, - "value": {}, - }, - "encodeCookies": { - "inherited": false, - "value": false, - }, - "excludedUserAgentsList": { - "inherited": false, - "value": [], - }, - "httpOnly": { - "inherited": false, - "value": true, - }, - "setCookieAttributeMap": { - "inherited": false, - "value": {}, - }, - "setCookieInternalMap": { - "inherited": false, - "value": {}, + "8080": "http", }, - }, - }, - }, - "meta": Any, -} -`; - -exports[`AgentOps exportJavaAgents() 1: Export java agents 1`] = ` -{ - "agent": { - "FrodoOpsTestJavaAgent1": { - "_id": "FrodoOpsTestJavaAgent1", - "_rev": "542636718", - "_type": { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents", - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ + "unwantedHttpUrlParams": [ "", ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ + "unwantedHttpUrlRegexParams": [ "", ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, - }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ + "wantedHttpUrlParams": [ "", ], - "conditionalLogoutUrl": [ + "wantedHttpUrlRegexParams": [ "", ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], - }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "", - ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, - }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": true, - "agentgroup": null, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], - "configurationReloadInterval": 0, - "customResponseHeader": {}, - "debugLevel": "error", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "ALL", - }, - "fqdnCheck": false, - "fqdnDefault": "openam-volker-dev.forgeblocks.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "employeenumber", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "webSocketConnectionIntervalInMinutes": 30, - }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/agent/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ - "", - ], - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ "", ], "acceptSsoTokenEnabled": false, @@ -4294,916 +4281,643 @@ exports[`AgentOps exportJavaAgents() 1: Export java agents 1`] = ` "setCookieInternalMap": {}, }, }, - "FrodoOpsTestJavaAgent2": { - "_id": "FrodoOpsTestJavaAgent2", - "_rev": "-1751269039", + "frodo-test-web-agent": { + "_id": "frodo-test-web-agent", + "_rev": "218393939", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "postDataCacheTtlMin": 5, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, + "amServicesWebAgent": { "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", ], - "conditionalLogoutUrl": [ + "applicationLogoutUrls": [ "", ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ + "conditionalLoginUrl": [ "", ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ "", ], - "urlPolicyEnvJsessionParameters": [ + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ "", ], - "urlPolicyEnvPostParameters": [ + "regexConditionalLoginUrl": [ "", ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, "notEnforcedIps": [ "", ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsList": [ "", ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", "agentgroup": null, + "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=http://testagenturl.com:8080/", ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, + "configurationPollingInterval": 60, + "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "testagenturl.com", "fqdnMapping": {}, - "httpSessionBinding": true, + "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", + "notificationsEnabled": true, "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", "webSocketConnectionIntervalInMinutes": 30, }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, "gotoParameterName": "goto", - "gotoUrl": null, + "headerJsonResponse": {}, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ "", ], }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", "cookieResetEnabled": false, - "cookieResetNames": [ + "cookieResetList": [ "", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], + "cookieResetOnRedirect": false, "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, - "FrodoOpsTestJavaAgent7": { - "_id": "FrodoOpsTestJavaAgent7", - "_rev": "-1751269054", + "frodo-test-web-agent2": { + "_id": "frodo-test-web-agent2", + "_rev": "930101313", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], - "postDataCacheTtlMin": 5, + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, + "amServicesWebAgent": { "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", ], - "conditionalLogoutUrl": [ + "applicationLogoutUrls": [ "", ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ + "conditionalLoginUrl": [ "", ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ "", ], - "urlPolicyEnvJsessionParameters": [ + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ "", ], - "urlPolicyEnvPostParameters": [ + "regexConditionalLoginUrl": [ "", ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, "notEnforcedIps": [ "", ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ + "notEnforcedIpsList": [ "", ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", "agentgroup": null, + "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=http://testagenturl.com:8080/", ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, + "configurationPollingInterval": 60, + "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "testagenturl.com", "fqdnMapping": {}, - "httpSessionBinding": true, + "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", + "notificationsEnabled": true, "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", "webSocketConnectionIntervalInMinutes": 30, }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, "gotoParameterName": "goto", - "gotoUrl": null, + "headerJsonResponse": {}, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ "", ], }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", "cookieResetEnabled": false, - "cookieResetNames": [ + "cookieResetList": [ "", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], + "cookieResetOnRedirect": false, "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, - "FrodoOpsTestJavaAgent8": { - "_id": "FrodoOpsTestJavaAgent8", - "_rev": "-1751269053", + "ig-agent": { + "_id": "ig-agent", + "_rev": "-1566320906", "_type": { - "_id": "J2EEAgent", + "_id": "IdentityGatewayAgent", "collection": true, - "name": "J2EE Agents", + "name": "Identity Gateway Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "", - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "my-policy-agent": { + "_id": "my-policy-agent", + "_rev": "-504717871", + "_type": { + "_id": "2.2_Agent", + "collection": true, + "name": "Policy Agents", }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", - ], - "conditionalLogoutUrl": [ - "", - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], + "cdssoRootUrl": [], + "description": null, + "status": "Active", + }, + "test": { + "_id": "test", + "_rev": "-2043903936", + "_type": { + "_id": "RemoteConsentAgent", + "collection": true, + "name": "OAuth2 Remote Consent Service", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "", - ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, + "agentgroup": null, + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "publicKeyLocation": "jwks_uri", + "remoteConsentRedirectUrl": null, + "remoteConsentRequestEncryptionAlgorithm": "RSA-OAEP-256", + "remoteConsentRequestEncryptionEnabled": true, + "remoteConsentRequestEncryptionMethod": "A128GCM", + "remoteConsentRequestSigningAlgorithm": "RS256", + "remoteConsentResponseEncryptionAlgorithm": "RSA-OAEP-256", + "remoteConsentResponseEncryptionMethod": "A128GCM", + "remoteConsentResponseSigningAlg": "RS256", + "requestTimeLimit": 180, + }, + "test software publisher": { + "_id": "test software publisher", + "_rev": "1510799304", + "_type": { + "_id": "SoftwarePublisher", + "collection": true, + "name": "OAuth2 Software Publisher", }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, - "agentgroup": null, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", - "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", - ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, - "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "webSocketConnectionIntervalInMinutes": 30, + "agentgroup": null, + "issuer": null, + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "publicKeyLocation": "jwks_uri", + "softwareStatementSigningAlgorithm": "RS256", + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests exportIdentityGatewayAgent() 1: Export IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1' 1`] = ` +{ + "agent": { + "FrodoOpsTestGatewayAgent1": { + "_id": "FrodoOpsTestGatewayAgent1", + "_rev": "1997142121", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ - "", - ], + "igCdssoLoginUrlTemplate": { + "inherited": false, }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ - "", - ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, - "cookieResetEnabled": false, - "cookieResetNames": [ - "", + "igCdssoRedirectUrls": { + "inherited": false, + "value": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], - "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + }, + "igTokenIntrospection": { + "inherited": false, + "value": "Realm_Subs", + }, + "secretLabelIdentifier": { + "inherited": false, + }, + "status": { + "inherited": false, + "value": "Active", }, }, - "FrodoOpsTestJavaAgent9": { - "_id": "FrodoOpsTestJavaAgent9", - "_rev": "-1751269048", + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests exportIdentityGatewayAgents() 1: Export gateway agents 1`] = ` +{ + "agent": { + "FrodoOpsTestGatewayAgent1": { + "_id": "FrodoOpsTestGatewayAgent1", + "_rev": "1953909377", "_type": { - "_id": "J2EEAgent", + "_id": "IdentityGatewayAgent", "collection": true, - "name": "J2EE Agents", - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "", - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + "name": "Identity Gateway Agents", }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "|?realm=/alpha", - ], - "conditionalLogoutUrl": [ - "", - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "policyNotifications": true, - "restrictToRealm": {}, - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent2": { + "_id": "FrodoOpsTestGatewayAgent2", + "_rev": "-1901768341", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "", - ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent7": { + "_id": "FrodoOpsTestGatewayAgent7", + "_rev": "-1901768348", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, - "agentgroup": null, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", - "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", - ], - "configurationReloadInterval": 10, - "customResponseHeader": {}, - "debugLevel": "message", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "URL_POLICY", - }, - "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "webSocketConnectionIntervalInMinutes": 30, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent8": { + "_id": "FrodoOpsTestGatewayAgent8", + "_rev": "-1901768347", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "443": "https", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ - "", - ], + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "FrodoOpsTestGatewayAgent9": { + "_id": "FrodoOpsTestGatewayAgent9", + "_rev": "1953909369", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ - "", - ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, - "cookieResetEnabled": false, - "cookieResetNames": [ - "", - ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], - "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "cdsso-ig-agent": { + "_id": "cdsso-ig-agent", + "_rev": "-1524382492", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + "frodo-test-ig-agent": { + "_id": "frodo-test-ig-agent", + "_rev": "-1490423122", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": "test_ig_group", + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + "frodo-test-ig-agent2": { + "_id": "frodo-test-ig-agent2", + "_rev": "1365023305", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + "ig-agent": { + "_id": "ig-agent", + "_rev": "-1566320906", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", }, }, "meta": Any, } `; -exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1`] = ` +exports[`AgentOps Cloud Tests exportJavaAgent() 1: Export J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] = ` { "agent": { - "FrodoOpsTestWebAgent1": { - "_id": "FrodoOpsTestWebAgent1", - "_rev": "-56934604", + "FrodoOpsTestJavaAgent1": { + "_id": "FrodoOpsTestJavaAgent1", + "_rev": "-723100226", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": { + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": { + "inherited": false, + }, + "alternativeAgentPort": { + "inherited": false, + }, + "alternativeAgentProtocol": { "inherited": false, }, "clientHostnameHeader": { @@ -5216,203 +4930,257 @@ exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1` "inherited": false, "value": [], }, - "fragmentRedirectEnabled": { + "expiredSessionCacheSize": { "inherited": false, - "value": false, + "value": 500, }, - "hostnameToIpAddress": { + "expiredSessionCacheTTL": { "inherited": false, - "value": [], + "value": 20, }, - "logonAndImpersonation": { + "fragmentRelayUri": { "inherited": false, - "value": false, }, - "overrideRequestHost": { + "idleTimeRefreshWindow": { "inherited": false, - "value": true, + "value": 1, }, - "overrideRequestPort": { + "jwtCacheSize": { "inherited": false, - "value": true, + "value": 5000, }, - "overrideRequestProtocol": { + "jwtCacheTTL": { "inherited": false, - "value": true, + "value": 30, }, - "pdpJavascriptRepost": { + "missingPostDataPreservationEntryUri": { + "inherited": false, + "value": [ + "", + ], + }, + "monitoringToCSV": { "inherited": false, "value": false, }, - "pdpSkipPostUrl": { + "policyCachePerUser": { + "inherited": false, + "value": 50, + }, + "policyCacheSize": { + "inherited": false, + "value": 5000, + }, + "policyClientPollingInterval": { + "inherited": false, + "value": 3, + }, + "possibleXssCodeElements": { "inherited": false, "value": [ "", ], }, - "pdpStickySessionCookieName": { + "postDataCacheTtlMin": { "inherited": false, + "value": 5, }, - "pdpStickySessionMode": { + "postDataPreservation": { "inherited": false, - "value": "OFF", + "value": false, }, - "pdpStickySessionValue": { + "postDataPreserveCacheEntryMaxEntries": { "inherited": false, + "value": 1000, }, - "postDataCachePeriod": { + "postDataPreserveCacheEntryMaxTotalSizeMb": { "inherited": false, - "value": 10, + "value": -1, }, - "postDataPreservation": { + "postDataPreserveMultipartLimitBytes": { "inherited": false, - "value": false, + "value": 104857600, }, - "replayPasswordKey": { + "postDataPreserveMultipartParameterLimitBytes": { "inherited": false, + "value": 104857600, }, - "retainSessionCache": { + "postDataStickySessionKeyValue": { "inherited": false, - "value": false, }, - "showPasswordInHeader": { + "postDataStickySessionMode": { "inherited": false, - "value": false, + "value": "URL", }, - }, - "amServicesWebAgent": { - "amLoginUrl": { + "retainPreviousOverrideBehavior": { "inherited": false, - "value": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], + "value": true, }, - "amLogoutUrl": { + "sessionCacheTTL": { "inherited": false, - "value": [ - "https://idc.scheuber.io:443/am/UI/Logout", - ], + "value": 15, }, - "applicationLogoutUrls": { + "ssoExchangeCacheSize": { "inherited": false, - "value": [ - "", - ], + "value": 100, }, - "conditionalLoginUrl": { + "ssoExchangeCacheTTL": { "inherited": false, - "value": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", - ], + "value": 5, }, - "customLoginMode": { + "xssDetectionRedirectUri": { "inherited": false, - "value": 0, + "value": {}, }, - "enableLogoutRegex": { + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": { "inherited": false, "value": false, }, - "fetchPoliciesFromRootResource": { + "amLoginUrl": { "inherited": false, - "value": false, + "value": [], }, - "invalidateLogoutSession": { + "authServiceHost": { "inherited": false, - "value": true, + "value": "openam-volker-dev.forgeblocks.com", }, - "logoutRedirectDisabled": { + "authServicePort": { + "inherited": false, + "value": 443, + }, + "authServiceProtocol": { + "inherited": false, + "value": "https", + }, + "authSuccessRedirectUrl": { "inherited": false, "value": false, }, - "logoutRedirectUrl": { + "conditionalLoginUrl": { "inherited": false, + "value": [ + "", + ], }, - "logoutResetCookies": { + "conditionalLogoutUrl": { "inherited": false, "value": [ "", ], }, - "logoutUrlRegex": { + "customLoginEnabled": { "inherited": false, + "value": false, }, - "policyCachePollingInterval": { + "legacyLoginUrlList": { "inherited": false, - "value": 3, + "value": [ + "", + ], }, - "policyClockSkew": { + "overridePolicyEvaluationRealmEnabled": { "inherited": false, - "value": 0, + "value": false, }, "policyEvaluationApplication": { "inherited": false, - "value": "apps", + "value": "iPlanetAMWebAgentService", }, "policyEvaluationRealm": { "inherited": false, - "value": "/alpha", + "value": "/", }, - "publicAmUrl": { + "policyNotifications": { "inherited": false, + "value": true, }, - "regexConditionalLoginPattern": { + "restrictToRealm": { + "inherited": false, + "value": {}, + }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, + "urlPolicyEnvGetParameters": { "inherited": false, "value": [ "", ], }, - "regexConditionalLoginUrl": { + "urlPolicyEnvJsessionParameters": { "inherited": false, "value": [ "", ], }, - "retrieveClientHostname": { + "urlPolicyEnvPostParameters": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "ssoCachePollingInterval": { + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": { "inherited": false, - "value": 3, + "value": {}, }, - "userIdParameter": { + "clientIpValidationMode": { "inherited": false, - "value": "UserToken", + "value": { + "": "OFF", + }, }, - "userIdParameterType": { + "clientIpValidationRange": { "inherited": false, - "value": "session", + "value": {}, }, - }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": { + "continuousSecurityCookies": { + "inherited": false, + "value": {}, + }, + "continuousSecurityHeaders": { + "inherited": false, + "value": {}, + }, + "cookieAttributeMultiValueSeparator": { "inherited": false, "value": "|", }, - "clientIpValidation": { + "cookieAttributeUrlEncoded": { + "inherited": false, + "value": true, + }, + "headerAttributeDateFormat": { + "inherited": false, + "value": "EEE, d MMM yyyy hh:mm:ss z", + }, + "invertNotEnforcedIps": { "inherited": false, "value": false, }, - "continuousSecurityCookies": { + "invertNotEnforcedUris": { "inherited": false, - "value": {}, + "value": false, }, - "continuousSecurityHeaders": { + "logoutEntryUri": { "inherited": false, "value": {}, }, - "fetchAttributesForNotEnforcedUrls": { + "logoutIntrospection": { "inherited": false, "value": false, }, - "ignorePathInfoForNotEnforcedUrls": { + "logoutRequestParameters": { "inherited": false, - "value": true, + "value": {}, }, - "invertNotEnforcedUrls": { + "notEnforcedFavicon": { "inherited": false, - "value": false, + "value": true, }, "notEnforcedIps": { "inherited": false, @@ -5420,26 +5188,31 @@ exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1` "", ], }, - "notEnforcedIpsList": { + "notEnforcedIpsCacheEnabled": { "inherited": false, - "value": [ - "", - ], + "value": true, }, - "notEnforcedIpsRegex": { + "notEnforcedIpsCacheSize": { "inherited": false, - "value": false, + "value": 1000, }, - "notEnforcedUrls": { + "notEnforcedRuleCompoundSeparator": { + "inherited": false, + "value": "|", + }, + "notEnforcedUris": { "inherited": false, "value": [ "", - "https://apps.mytestrun.com/app1/*", ], }, - "notEnforcedUrlsRegex": { + "notEnforcedUrisCacheEnabled": { "inherited": false, - "value": false, + "value": true, + }, + "notEnforcedUrisCacheSize": { + "inherited": false, + "value": 1000, }, "profileAttributeFetchMode": { "inherited": false, @@ -5449,6 +5222,10 @@ exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1` "inherited": false, "value": {}, }, + "resourceAccessDeniedUri": { + "inherited": false, + "value": {}, + }, "responseAttributeFetchMode": { "inherited": false, "value": "NONE", @@ -5466,47 +5243,61 @@ exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1` "value": {}, }, }, - "globalWebAgentConfig": { - "accessDeniedUrl": { - "inherited": false, - }, + "globalJ2EEAgentConfig": { "agentConfigChangeNotificationsEnabled": { "inherited": false, "value": true, }, - "agentDebugLevel": { + "auditAccessType": { "inherited": false, - "value": "Info", + "value": "LOG_NONE", }, - "agentUriPrefix": { + "auditLogLocation": { "inherited": false, - "value": "https://apps.mytestrun.com:443/amagent", + "value": "REMOTE", }, - "amLbCookieEnable": { + "cdssoRootUrl": { "inherited": false, - "value": false, + "value": [ + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + ], }, - "auditAccessType": { + "configurationReloadInterval": { "inherited": false, - "value": "LOG_BOTH", + "value": 0, }, - "auditLogLocation": { + "customResponseHeader": { "inherited": false, - "value": "ALL", + "value": {}, }, - "cdssoRootUrl": { + "debugLevel": { "inherited": false, - "value": [ - "agentRootURL=https://apps.mytestrun.com:443/", - ], + "value": "error", }, - "configurationPollingInterval": { + "debugLogfilePrefix": { "inherited": false, - "value": 60, }, - "disableJwtAudit": { + "debugLogfileRetentionCount": { "inherited": false, - "value": false, + "value": -1, + }, + "debugLogfileRotationMinutes": { + "inherited": false, + "value": -1, + }, + "debugLogfileRotationSize": { + "inherited": false, + "value": 52428800, + }, + "debugLogfileSuffix": { + "inherited": false, + "value": "-yyyy.MM.dd-HH.mm.ss", + }, + "filterMode": { + "inherited": false, + "value": { + "": "ALL", + }, }, "fqdnCheck": { "inherited": false, @@ -5514,1089 +5305,4319 @@ exports[`AgentOps exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1` }, "fqdnDefault": { "inherited": false, - "value": "apps.mytestrun.com", + "value": "openam-volker-dev.forgeblocks.com", }, "fqdnMapping": { "inherited": false, "value": {}, }, - "jwtAuditWhitelist": { + "httpSessionBinding": { "inherited": false, + "value": true, }, "jwtName": { "inherited": false, "value": "am-auth-jwt", }, - "notificationsEnabled": { + "lbCookieEnabled": { "inherited": false, - "value": true, + "value": false, }, - "repositoryLocation": "centralized", - "resetIdleTime": { + "lbCookieName": { "inherited": false, - "value": false, + "value": "amlbcookie", }, - "ssoOnlyMode": { + "localAuditLogRotation": { "inherited": false, "value": false, }, + "localAuditLogfileRetentionCount": { + "inherited": false, + "value": -1, + }, + "localAuditRotationSize": { + "inherited": false, + "value": 52428800, + }, + "loginAttemptLimit": { + "inherited": false, + "value": 0, + }, + "loginAttemptLimitCookieName": { + "inherited": false, + "value": "amFilterParam", + }, + "preAuthCookieMaxAge": { + "inherited": false, + "value": 300, + }, + "preAuthCookieName": { + "inherited": false, + "value": "amFilterCDSSORequest", + }, + "recheckAmUnavailabilityInSeconds": { + "inherited": false, + "value": 5, + }, + "redirectAttemptLimit": { + "inherited": false, + "value": 0, + }, + "redirectAttemptLimitCookieName": { + "inherited": false, + "value": "amFilterRDParam", + }, + "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", }, + "userAttributeName": { + "inherited": false, + "value": "employeenumber", + }, + "userMappingMode": { + "inherited": false, + "value": "USER_ID", + }, + "userPrincipalFlag": { + "inherited": false, + "value": false, + }, + "userTokenName": { + "inherited": false, + "value": "UserToken", + }, "webSocketConnectionIntervalInMinutes": { "inherited": false, "value": 30, }, }, - "miscWebAgentConfig": { - "addCacheControlHeader": { + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": { + "inherited": false, + "value": "application/json", + }, + "agent302RedirectEnabled": { "inherited": false, "value": true, }, - "anonymousUserEnabled": { + "agent302RedirectHttpData": { "inherited": false, - "value": false, + "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", }, - "anonymousUserId": { + "agent302RedirectInvertEnabled": { "inherited": false, - "value": "anonymous", + "value": false, }, - "caseInsensitiveUrlComparison": { + "agent302RedirectNerList": { "inherited": false, - "value": true, + "value": [ + "", + ], }, - "compositeAdviceEncode": { + "agent302RedirectStatusCode": { "inherited": false, - "value": false, + "value": 200, }, - "compositeAdviceRedirect": { + "authFailReasonParameterName": { "inherited": false, - "value": false, }, - "encodeSpecialCharsInCookies": { + "authFailReasonParameterRemapper": { "inherited": false, - "value": false, + "value": {}, }, - "encodeUrlSpecialCharacters": { + "authFailReasonUrl": { "inherited": false, - "value": false, }, "gotoParameterName": { "inherited": false, "value": "goto", }, - "headerJsonResponse": { + "gotoUrl": { "inherited": false, - "value": {}, }, "ignorePathInfo": { "inherited": false, "value": false, }, - "invalidUrlRegex": { + "legacyRedirectUri": { "inherited": false, + "value": "/agent/sunwLegacySupportURI", }, - "invertUrlJsonResponse": { + "legacyUserAgentList": { + "inherited": false, + "value": [ + "Mozilla/4.7*", + ], + }, + "legacyUserAgentSupport": { "inherited": false, "value": false, }, - "mineEncodeHeader": { + "localeCountry": { "inherited": false, - "value": 0, + "value": "US", }, - "profileAttributesCookieMaxAge": { + "localeLanguage": { "inherited": false, - "value": 300, + "value": "en", }, - "profileAttributesCookiePrefix": { + "loginReasonMap": { "inherited": false, - "value": "HTTP_", + "value": {}, }, - "statusCodeJsonResponse": { + "loginReasonParameterName": { "inherited": false, - "value": 202, }, - "urlJsonResponse": { + "portCheckEnabled": { + "inherited": false, + "value": false, + }, + "portCheckFile": { + "inherited": false, + "value": "PortCheckContent.txt", + }, + "portCheckSetting": { + "inherited": false, + "value": { + "443": "https", + }, + }, + "unwantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "unwantedHttpUrlRegexParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlRegexParams": { "inherited": false, "value": [ "", ], }, }, - "ssoWebAgentConfig": { - "acceptSsoToken": { + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": { "inherited": false, "value": false, }, - "cdssoCookieDomain": { + "acceptSsoTokenDomainList": { "inherited": false, "value": [ "", ], }, - "cdssoRedirectUri": { + "acceptSsoTokenEnabled": { "inherited": false, - "value": "agent/cdsso-oauth2", + "value": false, }, - "cookieName": { + "authExchangeCookieName": { "inherited": false, - "value": "iPlanetDirectoryPro", }, - "cookieResetEnabled": { + "authExchangeUri": { "inherited": false, - "value": false, }, - "cookieResetList": { + "cdssoDomainList": { "inherited": false, "value": [ "", ], }, - "cookieResetOnRedirect": { + "cdssoRedirectUri": { + "inherited": false, + "value": "/agent/post-authn-redirect", + }, + "cdssoSecureCookies": { "inherited": false, "value": false, }, - "httpOnly": { + "cookieResetDomains": { "inherited": false, - "value": true, + "value": {}, }, - "multivaluePreAuthnCookie": { + "cookieResetEnabled": { "inherited": false, "value": false, }, - "persistentJwtCookie": { + "cookieResetNames": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "sameSite": { + "cookieResetPaths": { "inherited": false, + "value": {}, }, - "secureCookies": { + "encodeCookies": { "inherited": false, "value": false, }, - }, - }, + "excludedUserAgentsList": { + "inherited": false, + "value": [], + }, + "httpOnly": { + "inherited": false, + "value": true, + }, + "setCookieAttributeMap": { + "inherited": false, + "value": {}, + }, + "setCookieInternalMap": { + "inherited": false, + "value": {}, + }, + }, + }, }, "meta": Any, } `; -exports[`AgentOps exportWebAgents() 1: Export web agents 1`] = ` +exports[`AgentOps Cloud Tests exportJavaAgents() 1: Export java agents 1`] = ` { "agent": { - "FrodoOpsTestWebAgent1": { - "_id": "FrodoOpsTestWebAgent1", - "_rev": "1391805111", + "FrodoOpsTestJavaAgent1": { + "_id": "FrodoOpsTestJavaAgent1", + "_rev": "2117055915", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": true, - "overrideRequestPort": true, - "overrideRequestProtocol": true, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { - "amLoginUrl": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], - "amLogoutUrl": [ - "https://idc.scheuber.io:443/am/UI/Logout", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "urlPolicyEnvJsessionParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", - "https://apps.mytestrun.com/app1/*", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, + "globalJ2EEAgentConfig": { "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Info", - "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_BOTH", - "auditLogLocation": "ALL", + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=https://apps.mytestrun.com:443/", + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, "fqdnCheck": false, - "fqdnDefault": "apps.mytestrun.com", + "fqdnDefault": "openam-volker-dev.forgeblocks.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": true, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, "gotoParameterName": "goto", - "headerJsonResponse": {}, + "gotoUrl": null, "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "", + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ "", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", - "cookieResetEnabled": false, - "cookieResetList": [ + "unwantedHttpUrlRegexParams": [ "", ], - "cookieResetOnRedirect": false, + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent2": { - "_id": "FrodoOpsTestWebAgent2", - "_rev": "-267938680", + "FrodoOpsTestJavaAgent2": { + "_id": "FrodoOpsTestJavaAgent2", + "_rev": "362051150", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ "", ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "", + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, "cookieResetEnabled": false, - "cookieResetList": [ + "cookieResetNames": [ "", ], - "cookieResetOnRedirect": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent7": { - "_id": "FrodoOpsTestWebAgent7", - "_rev": "-267938687", + "FrodoOpsTestJavaAgent7": { + "_id": "FrodoOpsTestJavaAgent7", + "_rev": "362051135", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ "", ], - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ "", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, "cookieResetEnabled": false, - "cookieResetList": [ + "cookieResetNames": [ "", ], - "cookieResetOnRedirect": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent8": { - "_id": "FrodoOpsTestWebAgent8", - "_rev": "-267938686", + "FrodoOpsTestJavaAgent8": { + "_id": "FrodoOpsTestJavaAgent8", + "_rev": "362051136", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ "", ], }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ "", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, "cookieResetEnabled": false, - "cookieResetList": [ + "cookieResetNames": [ "", ], - "cookieResetOnRedirect": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "FrodoOpsTestWebAgent9": { - "_id": "FrodoOpsTestWebAgent9", - "_rev": "-267938689", + "FrodoOpsTestJavaAgent9": { + "_id": "FrodoOpsTestJavaAgent9", + "_rev": "362051141", "_type": { - "_id": "WebAgent", + "_id": "J2EEAgent", "collection": true, - "name": "Web Agents", + "name": "J2EE Agents", }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, "clientHostnameHeader": null, "clientIpHeader": null, "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "amServicesWebAgent": { + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, "amLoginUrl": [], - "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", ], - "applicationLogoutUrls": [ + "conditionalLogoutUrl": [ "", ], - "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": null, + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", "policyEvaluationRealm": "/alpha", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - "regexConditionalLoginUrl": [ + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, "continuousSecurityCookies": {}, "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, "notEnforcedIps": [ "", ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ "", ], - "notEnforcedUrlsRegex": false, + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, "profileAttributeFetchMode": "NONE", "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, "responseAttributeFetchMode": "NONE", "responseAttributeMap": {}, "sessionAttributeFetchMode": "NONE", "sessionAttributeMap": {}, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, "agentgroup": null, - "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", + "auditLogLocation": "ALL", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "apps2.mytestrun.com", "fqdnMapping": {}, - "jwtAuditWhitelist": null, + "httpSessionBinding": true, "jwtName": "am-auth-jwt", - "notificationsEnabled": true, + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "resetIdleTime": false, - "ssoOnlyMode": false, + "secretLabelIdentifier": null, "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", "webSocketConnectionIntervalInMinutes": 30, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, "gotoParameterName": "goto", - "headerJsonResponse": {}, + "gotoUrl": null, "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ "", ], }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ "", ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, "cookieResetEnabled": false, - "cookieResetList": [ + "cookieResetNames": [ "", ], - "cookieResetOnRedirect": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - }, - "meta": Any, -} -`; - -exports[`AgentOps importIdentityGatewayAgent() 2: Import gateway agent with wrong type 1`] = ` -"Error importing identity gateway agent FrodoOpsTestJavaAgent7 - Wrong agent type! Expected 'IdentityGatewayAgent' but got 'J2EEAgent'." -`; - -exports[`AgentOps importIdentityGatewayAgents() 2: Import gateway agents with wrong type 1`] = ` -"Error importing identity gateway agents - Error importing agent FrodoOpsTestJavaAgent4 of type J2EEAgent - Wrong agent type! Expected 'IdentityGatewayAgent' but got 'J2EEAgent'. - Error importing agent FrodoOpsTestWebAgent4 of type WebAgent - Wrong agent type! Expected 'IdentityGatewayAgent' but got 'WebAgent'." -`; - -exports[`AgentOps importJavaAgent() 2: Import java agent with wrong type 1`] = ` -"Error importing java agent FrodoOpsTestWebAgent7 - Wrong agent type! Expected 'J2EEAgent' but got 'WebAgent'." -`; - -exports[`AgentOps importJavaAgents() 2: Import java agents with wrong type 1`] = ` -"Error importing java agents - Error importing agent FrodoOpsTestWebAgent4 of type WebAgent - Wrong agent type! Expected 'J2EEAgent' but got 'WebAgent'. - Error importing agent FrodoOpsTestGatewayAgent4 of type IdentityGatewayAgent - Wrong agent type! Expected 'J2EEAgent' but got 'IdentityGatewayAgent'." -`; - -exports[`AgentOps importWebAgent() 2: Import web agent with wrong type 1`] = ` -"Error importing web agent FrodoOpsTestGatewayAgent7 - Wrong agent type! Expected 'WebAgent' but got 'IdentityGatewayAgent'." -`; - -exports[`AgentOps importWebAgents() 2: Import web agents with wrong type 1`] = ` -"Error importing web agents - Error importing agent FrodoOpsTestGatewayAgent4 of type IdentityGatewayAgent - Wrong agent type! Expected 'WebAgent' but got 'IdentityGatewayAgent'. - Error importing agent FrodoOpsTestJavaAgent4 of type J2EEAgent - Wrong agent type! Expected 'WebAgent' but got 'J2EEAgent'." -`; - -exports[`AgentOps readAgent() 1: Read agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` -{ - "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "1898225799", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "igCdssoLoginUrlTemplate": { - "inherited": false, - }, - "igCdssoRedirectUrls": { - "inherited": false, - "value": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - }, - "igTokenIntrospection": { - "inherited": false, - "value": "Realm_Subs", - }, - "status": { - "inherited": false, - "value": "Active", + "frodo-test-java-agent": { + "_id": "frodo-test-java-agent", + "_rev": "1131793354", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + "frodo-test-java-agent2": { + "_id": "frodo-test-java-agent2", + "_rev": "561894916", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests exportWebAgent() 1: Export WebAgent 'FrodoOpsTestWebAgent1' 1`] = ` +{ + "agent": { + "FrodoOpsTestWebAgent1": { + "_id": "FrodoOpsTestWebAgent1", + "_rev": "-696084654", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": { + "inherited": false, + }, + "clientHostnameHeader": { + "inherited": false, + }, + "clientIpHeader": { + "inherited": false, + }, + "customProperties": { + "inherited": false, + "value": [], + }, + "fragmentRedirectEnabled": { + "inherited": false, + "value": false, + }, + "hostnameToIpAddress": { + "inherited": false, + "value": [], + }, + "logonAndImpersonation": { + "inherited": false, + "value": false, + }, + "overrideRequestHost": { + "inherited": false, + "value": true, + }, + "overrideRequestPort": { + "inherited": false, + "value": true, + }, + "overrideRequestProtocol": { + "inherited": false, + "value": true, + }, + "pdpJavascriptRepost": { + "inherited": false, + "value": false, + }, + "pdpSkipPostUrl": { + "inherited": false, + "value": [ + "", + ], + }, + "pdpStickySessionCookieName": { + "inherited": false, + }, + "pdpStickySessionMode": { + "inherited": false, + "value": "OFF", + }, + "pdpStickySessionValue": { + "inherited": false, + }, + "postDataCachePeriod": { + "inherited": false, + "value": 10, + }, + "postDataPreservation": { + "inherited": false, + "value": false, + }, + "replayPasswordKey": { + "inherited": false, + }, + "retainSessionCache": { + "inherited": false, + "value": false, + }, + "showPasswordInHeader": { + "inherited": false, + "value": false, + }, + }, + "amServicesWebAgent": { + "amLoginUrl": { + "inherited": false, + "value": [ + "https://idc.scheuber.io/login?realm=/alpha", + ], + }, + "amLogoutUrl": { + "inherited": false, + "value": [ + "https://idc.scheuber.io:443/am/UI/Logout", + ], + }, + "applicationLogoutUrls": { + "inherited": false, + "value": [ + "", + ], + }, + "conditionalLoginUrl": { + "inherited": false, + "value": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], + }, + "customLoginMode": { + "inherited": false, + "value": 0, + }, + "enableLogoutRegex": { + "inherited": false, + "value": false, + }, + "fetchPoliciesFromRootResource": { + "inherited": false, + "value": false, + }, + "invalidateLogoutSession": { + "inherited": false, + "value": true, + }, + "logoutRedirectDisabled": { + "inherited": false, + "value": false, + }, + "logoutRedirectUrl": { + "inherited": false, + }, + "logoutResetCookies": { + "inherited": false, + "value": [ + "", + ], + }, + "logoutUrlRegex": { + "inherited": false, + }, + "policyCachePollingInterval": { + "inherited": false, + "value": 3, + }, + "policyClockSkew": { + "inherited": false, + "value": 0, + }, + "policyEvaluationApplication": { + "inherited": false, + "value": "apps", + }, + "policyEvaluationRealm": { + "inherited": false, + "value": "/alpha", + }, + "publicAmUrl": { + "inherited": false, + }, + "regexConditionalLoginPattern": { + "inherited": false, + "value": [ + "", + ], + }, + "regexConditionalLoginUrl": { + "inherited": false, + "value": [ + "", + ], + }, + "retrieveClientHostname": { + "inherited": false, + "value": false, + }, + "ssoCachePollingInterval": { + "inherited": false, + "value": 3, + }, + "userIdParameter": { + "inherited": false, + "value": "UserToken", + }, + "userIdParameterType": { + "inherited": false, + "value": "session", + }, + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": { + "inherited": false, + "value": "|", + }, + "clientIpValidation": { + "inherited": false, + "value": false, + }, + "continuousSecurityCookies": { + "inherited": false, + "value": {}, + }, + "continuousSecurityHeaders": { + "inherited": false, + "value": {}, + }, + "fetchAttributesForNotEnforcedUrls": { + "inherited": false, + "value": false, + }, + "ignorePathInfoForNotEnforcedUrls": { + "inherited": false, + "value": true, + }, + "invertNotEnforcedUrls": { + "inherited": false, + "value": false, + }, + "notEnforcedIps": { + "inherited": false, + "value": [ + "", + ], + }, + "notEnforcedIpsList": { + "inherited": false, + "value": [ + "", + ], + }, + "notEnforcedIpsRegex": { + "inherited": false, + "value": false, + }, + "notEnforcedUrls": { + "inherited": false, + "value": [ + "", + "https://apps.mytestrun.com/app1/*", + ], + }, + "notEnforcedUrlsRegex": { + "inherited": false, + "value": false, + }, + "profileAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "profileAttributeMap": { + "inherited": false, + "value": {}, + }, + "responseAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "responseAttributeMap": { + "inherited": false, + "value": {}, + }, + "sessionAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "sessionAttributeMap": { + "inherited": false, + "value": {}, + }, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": { + "inherited": false, + }, + "agentConfigChangeNotificationsEnabled": { + "inherited": false, + "value": true, + }, + "agentDebugLevel": { + "inherited": false, + "value": "Info", + }, + "agentUriPrefix": { + "inherited": false, + "value": "https://apps.mytestrun.com:443/amagent", + }, + "amLbCookieEnable": { + "inherited": false, + "value": false, + }, + "auditAccessType": { + "inherited": false, + "value": "LOG_BOTH", + }, + "auditLogLocation": { + "inherited": false, + "value": "ALL", + }, + "cdssoRootUrl": { + "inherited": false, + "value": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], + }, + "configurationPollingInterval": { + "inherited": false, + "value": 60, + }, + "disableJwtAudit": { + "inherited": false, + "value": false, + }, + "fqdnCheck": { + "inherited": false, + "value": false, + }, + "fqdnDefault": { + "inherited": false, + "value": "apps.mytestrun.com", + }, + "fqdnMapping": { + "inherited": false, + "value": {}, + }, + "jwtAuditWhitelist": { + "inherited": false, + }, + "jwtName": { + "inherited": false, + "value": "am-auth-jwt", + }, + "notificationsEnabled": { + "inherited": false, + "value": true, + }, + "repositoryLocation": "centralized", + "resetIdleTime": { + "inherited": false, + "value": false, + }, + "secretLabelIdentifier": { + "inherited": false, + }, + "ssoOnlyMode": { + "inherited": false, + "value": false, + }, + "status": { + "inherited": false, + "value": "Active", + }, + "webSocketConnectionIntervalInMinutes": { + "inherited": false, + "value": 30, + }, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": { + "inherited": false, + "value": true, + }, + "anonymousUserEnabled": { + "inherited": false, + "value": false, + }, + "anonymousUserId": { + "inherited": false, + "value": "anonymous", + }, + "caseInsensitiveUrlComparison": { + "inherited": false, + "value": true, + }, + "compositeAdviceEncode": { + "inherited": false, + "value": false, + }, + "compositeAdviceRedirect": { + "inherited": false, + "value": false, + }, + "encodeSpecialCharsInCookies": { + "inherited": false, + "value": false, + }, + "encodeUrlSpecialCharacters": { + "inherited": false, + "value": false, + }, + "gotoParameterName": { + "inherited": false, + "value": "goto", + }, + "headerJsonResponse": { + "inherited": false, + "value": {}, + }, + "ignorePathInfo": { + "inherited": false, + "value": false, + }, + "invalidUrlRegex": { + "inherited": false, + }, + "invertUrlJsonResponse": { + "inherited": false, + "value": false, + }, + "mineEncodeHeader": { + "inherited": false, + "value": 0, + }, + "profileAttributesCookieMaxAge": { + "inherited": false, + "value": 300, + }, + "profileAttributesCookiePrefix": { + "inherited": false, + "value": "HTTP_", + }, + "statusCodeJsonResponse": { + "inherited": false, + "value": 202, + }, + "urlJsonResponse": { + "inherited": false, + "value": [ + "", + ], + }, + }, + "ssoWebAgentConfig": { + "acceptSsoToken": { + "inherited": false, + "value": false, + }, + "cdssoCookieDomain": { + "inherited": false, + "value": [ + "", + ], + }, + "cdssoRedirectUri": { + "inherited": false, + "value": "agent/cdsso-oauth2", + }, + "cookieName": { + "inherited": false, + "value": "iPlanetDirectoryPro", + }, + "cookieResetEnabled": { + "inherited": false, + "value": false, + }, + "cookieResetList": { + "inherited": false, + "value": [ + "", + ], + }, + "cookieResetOnRedirect": { + "inherited": false, + "value": false, + }, + "httpOnly": { + "inherited": false, + "value": true, + }, + "multivaluePreAuthnCookie": { + "inherited": false, + "value": false, + }, + "persistentJwtCookie": { + "inherited": false, + "value": false, + }, + "sameSite": { + "inherited": false, + }, + "secureCookies": { + "inherited": false, + "value": false, + }, + }, + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests exportWebAgents() 1: Export web agents 1`] = ` +{ + "agent": { + "FrodoOpsTestWebAgent1": { + "_id": "FrodoOpsTestWebAgent1", + "_rev": "-1011057588", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": true, + "overrideRequestPort": true, + "overrideRequestProtocol": true, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [ + "https://idc.scheuber.io/login?realm=/alpha", + ], + "amLogoutUrl": [ + "https://idc.scheuber.io:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + "https://apps.mytestrun.com/app1/*", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Info", + "agentUriPrefix": "https://apps.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_BOTH", + "auditLogLocation": "ALL", + "cdssoRootUrl": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "apps.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": true, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "FrodoOpsTestWebAgent2": { + "_id": "FrodoOpsTestWebAgent2", + "_rev": "1774890633", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "FrodoOpsTestWebAgent7": { + "_id": "FrodoOpsTestWebAgent7", + "_rev": "1774890626", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "FrodoOpsTestWebAgent8": { + "_id": "FrodoOpsTestWebAgent8", + "_rev": "1774890627", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "FrodoOpsTestWebAgent9": { + "_id": "FrodoOpsTestWebAgent9", + "_rev": "1774890624", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "frodo-test-web-agent": { + "_id": "frodo-test-web-agent", + "_rev": "218393939", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + "frodo-test-web-agent2": { + "_id": "frodo-test-web-agent2", + "_rev": "930101313", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, + }, + "meta": Any, +} +`; + +exports[`AgentOps Cloud Tests importIdentityGatewayAgent() 2: Import gateway agent with wrong type 1`] = ` +"Error importing identity gateway agent FrodoOpsTestJavaAgent7 + Wrong agent type! Expected 'IdentityGatewayAgent' but got 'J2EEAgent'." +`; + +exports[`AgentOps Cloud Tests importIdentityGatewayAgents() 2: Import gateway agents with wrong type 1`] = ` +"Error importing identity gateway agents + Error importing agent FrodoOpsTestJavaAgent4 of type J2EEAgent + Wrong agent type! Expected 'IdentityGatewayAgent' but got 'J2EEAgent'. + Error importing agent FrodoOpsTestWebAgent4 of type WebAgent + Wrong agent type! Expected 'IdentityGatewayAgent' but got 'WebAgent'." +`; + +exports[`AgentOps Cloud Tests importJavaAgent() 2: Import java agent with wrong type 1`] = ` +"Error importing java agent FrodoOpsTestWebAgent7 + Wrong agent type! Expected 'J2EEAgent' but got 'WebAgent'." +`; + +exports[`AgentOps Cloud Tests importJavaAgents() 2: Import java agents with wrong type 1`] = ` +"Error importing java agents + Error importing agent FrodoOpsTestWebAgent4 of type WebAgent + Wrong agent type! Expected 'J2EEAgent' but got 'WebAgent'. + Error importing agent FrodoOpsTestGatewayAgent4 of type IdentityGatewayAgent + Wrong agent type! Expected 'J2EEAgent' but got 'IdentityGatewayAgent'." +`; + +exports[`AgentOps Cloud Tests importWebAgent() 2: Import web agent with wrong type 1`] = ` +"Error importing web agent FrodoOpsTestGatewayAgent7 + Wrong agent type! Expected 'WebAgent' but got 'IdentityGatewayAgent'." +`; + +exports[`AgentOps Cloud Tests importWebAgents() 2: Import web agents with wrong type 1`] = ` +"Error importing web agents + Error importing agent FrodoOpsTestGatewayAgent4 of type IdentityGatewayAgent + Wrong agent type! Expected 'WebAgent' but got 'IdentityGatewayAgent'. + Error importing agent FrodoOpsTestJavaAgent4 of type J2EEAgent + Wrong agent type! Expected 'WebAgent' but got 'J2EEAgent'." +`; + +exports[`AgentOps Cloud Tests readAgent() 1: Read agent 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` +{ + "_id": "FrodoOpsTestGatewayAgent1", + "_rev": "1997142121", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "igCdssoLoginUrlTemplate": { + "inherited": false, + }, + "igCdssoRedirectUrls": { + "inherited": false, + "value": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + }, + "igTokenIntrospection": { + "inherited": false, + "value": "Realm_Subs", + }, + "secretLabelIdentifier": { + "inherited": false, + }, + "status": { + "inherited": false, + "value": "Active", + }, +} +`; + +exports[`AgentOps Cloud Tests readAgent() 2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` +{ + "_id": "FrodoOpsTestJavaAgent1", + "_rev": "-723100226", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": { + "inherited": false, + }, + "alternativeAgentPort": { + "inherited": false, + }, + "alternativeAgentProtocol": { + "inherited": false, + }, + "clientHostnameHeader": { + "inherited": false, + }, + "clientIpHeader": { + "inherited": false, + }, + "customProperties": { + "inherited": false, + "value": [], + }, + "expiredSessionCacheSize": { + "inherited": false, + "value": 500, + }, + "expiredSessionCacheTTL": { + "inherited": false, + "value": 20, + }, + "fragmentRelayUri": { + "inherited": false, + }, + "idleTimeRefreshWindow": { + "inherited": false, + "value": 1, + }, + "jwtCacheSize": { + "inherited": false, + "value": 5000, + }, + "jwtCacheTTL": { + "inherited": false, + "value": 30, + }, + "missingPostDataPreservationEntryUri": { + "inherited": false, + "value": [ + "", + ], + }, + "monitoringToCSV": { + "inherited": false, + "value": false, + }, + "policyCachePerUser": { + "inherited": false, + "value": 50, + }, + "policyCacheSize": { + "inherited": false, + "value": 5000, + }, + "policyClientPollingInterval": { + "inherited": false, + "value": 3, + }, + "possibleXssCodeElements": { + "inherited": false, + "value": [ + "", + ], + }, + "postDataCacheTtlMin": { + "inherited": false, + "value": 5, + }, + "postDataPreservation": { + "inherited": false, + "value": false, + }, + "postDataPreserveCacheEntryMaxEntries": { + "inherited": false, + "value": 1000, + }, + "postDataPreserveCacheEntryMaxTotalSizeMb": { + "inherited": false, + "value": -1, + }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataStickySessionKeyValue": { + "inherited": false, + }, + "postDataStickySessionMode": { + "inherited": false, + "value": "URL", + }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, + "sessionCacheTTL": { + "inherited": false, + "value": 15, + }, + "ssoExchangeCacheSize": { + "inherited": false, + "value": 100, + }, + "ssoExchangeCacheTTL": { + "inherited": false, + "value": 5, + }, + "xssDetectionRedirectUri": { + "inherited": false, + "value": {}, + }, + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": { + "inherited": false, + "value": false, + }, + "amLoginUrl": { + "inherited": false, + "value": [], + }, + "authServiceHost": { + "inherited": false, + "value": "openam-volker-dev.forgeblocks.com", + }, + "authServicePort": { + "inherited": false, + "value": 443, + }, + "authServiceProtocol": { + "inherited": false, + "value": "https", + }, + "authSuccessRedirectUrl": { + "inherited": false, + "value": false, + }, + "conditionalLoginUrl": { + "inherited": false, + "value": [ + "", + ], + }, + "conditionalLogoutUrl": { + "inherited": false, + "value": [ + "", + ], + }, + "customLoginEnabled": { + "inherited": false, + "value": false, + }, + "legacyLoginUrlList": { + "inherited": false, + "value": [ + "", + ], + }, + "overridePolicyEvaluationRealmEnabled": { + "inherited": false, + "value": false, + }, + "policyEvaluationApplication": { + "inherited": false, + "value": "iPlanetAMWebAgentService", + }, + "policyEvaluationRealm": { + "inherited": false, + "value": "/", + }, + "policyNotifications": { + "inherited": false, + "value": true, + }, + "restrictToRealm": { + "inherited": false, + "value": {}, + }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, + "urlPolicyEnvGetParameters": { + "inherited": false, + "value": [ + "", + ], + }, + "urlPolicyEnvJsessionParameters": { + "inherited": false, + "value": [ + "", + ], + }, + "urlPolicyEnvPostParameters": { + "inherited": false, + "value": [ + "", + ], + }, + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": { + "inherited": false, + "value": {}, + }, + "clientIpValidationMode": { + "inherited": false, + "value": { + "": "OFF", + }, + }, + "clientIpValidationRange": { + "inherited": false, + "value": {}, + }, + "continuousSecurityCookies": { + "inherited": false, + "value": {}, + }, + "continuousSecurityHeaders": { + "inherited": false, + "value": {}, + }, + "cookieAttributeMultiValueSeparator": { + "inherited": false, + "value": "|", + }, + "cookieAttributeUrlEncoded": { + "inherited": false, + "value": true, + }, + "headerAttributeDateFormat": { + "inherited": false, + "value": "EEE, d MMM yyyy hh:mm:ss z", + }, + "invertNotEnforcedIps": { + "inherited": false, + "value": false, + }, + "invertNotEnforcedUris": { + "inherited": false, + "value": false, + }, + "logoutEntryUri": { + "inherited": false, + "value": {}, + }, + "logoutIntrospection": { + "inherited": false, + "value": false, + }, + "logoutRequestParameters": { + "inherited": false, + "value": {}, + }, + "notEnforcedFavicon": { + "inherited": false, + "value": true, + }, + "notEnforcedIps": { + "inherited": false, + "value": [ + "", + ], + }, + "notEnforcedIpsCacheEnabled": { + "inherited": false, + "value": true, + }, + "notEnforcedIpsCacheSize": { + "inherited": false, + "value": 1000, + }, + "notEnforcedRuleCompoundSeparator": { + "inherited": false, + "value": "|", + }, + "notEnforcedUris": { + "inherited": false, + "value": [ + "", + ], + }, + "notEnforcedUrisCacheEnabled": { + "inherited": false, + "value": true, + }, + "notEnforcedUrisCacheSize": { + "inherited": false, + "value": 1000, + }, + "profileAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "profileAttributeMap": { + "inherited": false, + "value": {}, + }, + "resourceAccessDeniedUri": { + "inherited": false, + "value": {}, + }, + "responseAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "responseAttributeMap": { + "inherited": false, + "value": {}, + }, + "sessionAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "sessionAttributeMap": { + "inherited": false, + "value": {}, + }, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": { + "inherited": false, + "value": true, + }, + "auditAccessType": { + "inherited": false, + "value": "LOG_NONE", + }, + "auditLogLocation": { + "inherited": false, + "value": "REMOTE", + }, + "cdssoRootUrl": { + "inherited": false, + "value": [ + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + ], + }, + "configurationReloadInterval": { + "inherited": false, + "value": 0, + }, + "customResponseHeader": { + "inherited": false, + "value": {}, + }, + "debugLevel": { + "inherited": false, + "value": "error", + }, + "debugLogfilePrefix": { + "inherited": false, + }, + "debugLogfileRetentionCount": { + "inherited": false, + "value": -1, + }, + "debugLogfileRotationMinutes": { + "inherited": false, + "value": -1, + }, + "debugLogfileRotationSize": { + "inherited": false, + "value": 52428800, + }, + "debugLogfileSuffix": { + "inherited": false, + "value": "-yyyy.MM.dd-HH.mm.ss", + }, + "filterMode": { + "inherited": false, + "value": { + "": "ALL", + }, + }, + "fqdnCheck": { + "inherited": false, + "value": false, + }, + "fqdnDefault": { + "inherited": false, + "value": "openam-volker-dev.forgeblocks.com", + }, + "fqdnMapping": { + "inherited": false, + "value": {}, + }, + "httpSessionBinding": { + "inherited": false, + "value": true, + }, + "jwtName": { + "inherited": false, + "value": "am-auth-jwt", + }, + "lbCookieEnabled": { + "inherited": false, + "value": false, + }, + "lbCookieName": { + "inherited": false, + "value": "amlbcookie", + }, + "localAuditLogRotation": { + "inherited": false, + "value": false, + }, + "localAuditLogfileRetentionCount": { + "inherited": false, + "value": -1, + }, + "localAuditRotationSize": { + "inherited": false, + "value": 52428800, + }, + "loginAttemptLimit": { + "inherited": false, + "value": 0, + }, + "loginAttemptLimitCookieName": { + "inherited": false, + "value": "amFilterParam", + }, + "preAuthCookieMaxAge": { + "inherited": false, + "value": 300, + }, + "preAuthCookieName": { + "inherited": false, + "value": "amFilterCDSSORequest", + }, + "recheckAmUnavailabilityInSeconds": { + "inherited": false, + "value": 5, + }, + "redirectAttemptLimit": { + "inherited": false, + "value": 0, + }, + "redirectAttemptLimitCookieName": { + "inherited": false, + "value": "amFilterRDParam", + }, + "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, + "status": { + "inherited": false, + "value": "Active", + }, + "userAttributeName": { + "inherited": false, + "value": "employeenumber", + }, + "userMappingMode": { + "inherited": false, + "value": "USER_ID", + }, + "userPrincipalFlag": { + "inherited": false, + "value": false, + }, + "userTokenName": { + "inherited": false, + "value": "UserToken", + }, + "webSocketConnectionIntervalInMinutes": { + "inherited": false, + "value": 30, + }, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": { + "inherited": false, + "value": "application/json", + }, + "agent302RedirectEnabled": { + "inherited": false, + "value": true, + }, + "agent302RedirectHttpData": { + "inherited": false, + "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + }, + "agent302RedirectInvertEnabled": { + "inherited": false, + "value": false, + }, + "agent302RedirectNerList": { + "inherited": false, + "value": [ + "", + ], + }, + "agent302RedirectStatusCode": { + "inherited": false, + "value": 200, + }, + "authFailReasonParameterName": { + "inherited": false, + }, + "authFailReasonParameterRemapper": { + "inherited": false, + "value": {}, + }, + "authFailReasonUrl": { + "inherited": false, + }, + "gotoParameterName": { + "inherited": false, + "value": "goto", + }, + "gotoUrl": { + "inherited": false, + }, + "ignorePathInfo": { + "inherited": false, + "value": false, + }, + "legacyRedirectUri": { + "inherited": false, + "value": "/agent/sunwLegacySupportURI", + }, + "legacyUserAgentList": { + "inherited": false, + "value": [ + "Mozilla/4.7*", + ], + }, + "legacyUserAgentSupport": { + "inherited": false, + "value": false, + }, + "localeCountry": { + "inherited": false, + "value": "US", + }, + "localeLanguage": { + "inherited": false, + "value": "en", + }, + "loginReasonMap": { + "inherited": false, + "value": {}, + }, + "loginReasonParameterName": { + "inherited": false, + }, + "portCheckEnabled": { + "inherited": false, + "value": false, + }, + "portCheckFile": { + "inherited": false, + "value": "PortCheckContent.txt", + }, + "portCheckSetting": { + "inherited": false, + "value": { + "443": "https", + }, + }, + "unwantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "unwantedHttpUrlRegexParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlRegexParams": { + "inherited": false, + "value": [ + "", + ], + }, + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": { + "inherited": false, + "value": false, + }, + "acceptSsoTokenDomainList": { + "inherited": false, + "value": [ + "", + ], + }, + "acceptSsoTokenEnabled": { + "inherited": false, + "value": false, + }, + "authExchangeCookieName": { + "inherited": false, + }, + "authExchangeUri": { + "inherited": false, + }, + "cdssoDomainList": { + "inherited": false, + "value": [ + "", + ], + }, + "cdssoRedirectUri": { + "inherited": false, + "value": "/agent/post-authn-redirect", + }, + "cdssoSecureCookies": { + "inherited": false, + "value": false, + }, + "cookieResetDomains": { + "inherited": false, + "value": {}, + }, + "cookieResetEnabled": { + "inherited": false, + "value": false, + }, + "cookieResetNames": { + "inherited": false, + "value": [ + "", + ], + }, + "cookieResetPaths": { + "inherited": false, + "value": {}, + }, + "encodeCookies": { + "inherited": false, + "value": false, + }, + "excludedUserAgentsList": { + "inherited": false, + "value": [], + }, + "httpOnly": { + "inherited": false, + "value": true, + }, + "setCookieAttributeMap": { + "inherited": false, + "value": {}, + }, + "setCookieInternalMap": { + "inherited": false, + "value": {}, + }, }, } `; -exports[`AgentOps readAgent() 2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` +exports[`AgentOps Cloud Tests readAgent() 3: Read agent 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` { - "_id": "FrodoOpsTestJavaAgent1", - "_rev": "1389672820", + "_id": "FrodoOpsTestWebAgent1", + "_rev": "-696084654", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": { - "inherited": false, - }, - "alternativeAgentPort": { - "inherited": false, - }, - "alternativeAgentProtocol": { + "advancedWebAgentConfig": { + "apacheAuthDirectives": { "inherited": false, }, "clientHostnameHeader": { @@ -6609,2331 +9630,2925 @@ exports[`AgentOps readAgent() 2: Read agent 'FrodoOpsTestJavaAgent1' (J2EEAgent) "inherited": false, "value": [], }, - "expiredSessionCacheSize": { + "fragmentRedirectEnabled": { "inherited": false, - "value": 500, + "value": false, }, - "expiredSessionCacheTTL": { + "hostnameToIpAddress": { "inherited": false, - "value": 20, + "value": [], }, - "fragmentRelayUri": { + "logonAndImpersonation": { "inherited": false, + "value": false, }, - "idleTimeRefreshWindow": { + "overrideRequestHost": { "inherited": false, - "value": 1, + "value": true, }, - "jwtCacheSize": { + "overrideRequestPort": { "inherited": false, - "value": 5000, + "value": true, }, - "jwtCacheTTL": { + "overrideRequestProtocol": { "inherited": false, - "value": 30, + "value": true, }, - "missingPostDataPreservationEntryUri": { + "pdpJavascriptRepost": { + "inherited": false, + "value": false, + }, + "pdpSkipPostUrl": { "inherited": false, "value": [ "", ], }, - "monitoringToCSV": { + "pdpStickySessionCookieName": { + "inherited": false, + }, + "pdpStickySessionMode": { + "inherited": false, + "value": "OFF", + }, + "pdpStickySessionValue": { + "inherited": false, + }, + "postDataCachePeriod": { + "inherited": false, + "value": 10, + }, + "postDataPreservation": { "inherited": false, "value": false, }, - "policyCachePerUser": { + "replayPasswordKey": { "inherited": false, - "value": 50, }, - "policyCacheSize": { + "retainSessionCache": { "inherited": false, - "value": 5000, + "value": false, }, - "policyClientPollingInterval": { + "showPasswordInHeader": { "inherited": false, - "value": 3, + "value": false, }, - "possibleXssCodeElements": { + }, + "amServicesWebAgent": { + "amLoginUrl": { "inherited": false, "value": [ - "", + "https://idc.scheuber.io/login?realm=/alpha", ], }, - "postDataCacheTtlMin": { + "amLogoutUrl": { "inherited": false, - "value": 5, + "value": [ + "https://idc.scheuber.io:443/am/UI/Logout", + ], }, - "postDataPreservation": { + "applicationLogoutUrls": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "postDataPreserveCacheEntryMaxEntries": { + "conditionalLoginUrl": { "inherited": false, - "value": 1000, + "value": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], }, - "postDataPreserveCacheEntryMaxTotalSizeMb": { + "customLoginMode": { "inherited": false, - "value": -1, + "value": 0, }, - "postDataStickySessionKeyValue": { + "enableLogoutRegex": { "inherited": false, + "value": false, }, - "postDataStickySessionMode": { + "fetchPoliciesFromRootResource": { "inherited": false, - "value": "URL", + "value": false, }, - "sessionCacheTTL": { + "invalidateLogoutSession": { "inherited": false, - "value": 15, + "value": true, }, - "ssoExchangeCacheSize": { + "logoutRedirectDisabled": { "inherited": false, - "value": 100, + "value": false, }, - "ssoExchangeCacheTTL": { + "logoutRedirectUrl": { "inherited": false, - "value": 5, }, - "xssDetectionRedirectUri": { + "logoutResetCookies": { "inherited": false, - "value": {}, + "value": [ + "", + ], }, - }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": { + "logoutUrlRegex": { "inherited": false, - "value": false, }, - "amLoginUrl": { + "policyCachePollingInterval": { "inherited": false, - "value": [], + "value": 3, }, - "authServiceHost": { + "policyClockSkew": { "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", + "value": 0, }, - "authServicePort": { + "policyEvaluationApplication": { "inherited": false, - "value": 443, + "value": "apps", }, - "authServiceProtocol": { + "policyEvaluationRealm": { "inherited": false, - "value": "https", + "value": "/alpha", }, - "authSuccessRedirectUrl": { + "publicAmUrl": { "inherited": false, - "value": false, }, - "conditionalLoginUrl": { + "regexConditionalLoginPattern": { "inherited": false, "value": [ "", ], }, - "conditionalLogoutUrl": { + "regexConditionalLoginUrl": { "inherited": false, "value": [ "", ], }, - "customLoginEnabled": { + "retrieveClientHostname": { "inherited": false, "value": false, }, - "legacyLoginUrlList": { + "ssoCachePollingInterval": { "inherited": false, - "value": [ - "", - ], + "value": 3, }, - "overridePolicyEvaluationRealmEnabled": { + "userIdParameter": { + "inherited": false, + "value": "UserToken", + }, + "userIdParameterType": { + "inherited": false, + "value": "session", + }, + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": { + "inherited": false, + "value": "|", + }, + "clientIpValidation": { "inherited": false, "value": false, }, - "policyEvaluationApplication": { + "continuousSecurityCookies": { "inherited": false, - "value": "iPlanetAMWebAgentService", + "value": {}, }, - "policyEvaluationRealm": { + "continuousSecurityHeaders": { "inherited": false, - "value": "/", + "value": {}, }, - "policyNotifications": { + "fetchAttributesForNotEnforcedUrls": { + "inherited": false, + "value": false, + }, + "ignorePathInfoForNotEnforcedUrls": { "inherited": false, "value": true, }, - "restrictToRealm": { + "invertNotEnforcedUrls": { "inherited": false, - "value": {}, + "value": false, }, - "urlPolicyEnvGetParameters": { + "notEnforcedIps": { "inherited": false, "value": [ "", ], }, - "urlPolicyEnvJsessionParameters": { + "notEnforcedIpsList": { "inherited": false, "value": [ "", ], }, - "urlPolicyEnvPostParameters": { + "notEnforcedIpsRegex": { + "inherited": false, + "value": false, + }, + "notEnforcedUrls": { "inherited": false, "value": [ "", + "https://apps.mytestrun.com/app1/*", ], }, - }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": { + "notEnforcedUrlsRegex": { + "inherited": false, + "value": false, + }, + "profileAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "profileAttributeMap": { + "inherited": false, + "value": {}, + }, + "responseAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "responseAttributeMap": { + "inherited": false, + "value": {}, + }, + "sessionAttributeFetchMode": { + "inherited": false, + "value": "NONE", + }, + "sessionAttributeMap": { + "inherited": false, + "value": {}, + }, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": { + "inherited": false, + }, + "agentConfigChangeNotificationsEnabled": { "inherited": false, - "value": {}, + "value": true, }, - "clientIpValidationMode": { + "agentDebugLevel": { "inherited": false, - "value": { - "": "OFF", - }, + "value": "Info", }, - "clientIpValidationRange": { + "agentUriPrefix": { "inherited": false, - "value": {}, + "value": "https://apps.mytestrun.com:443/amagent", }, - "continuousSecurityCookies": { + "amLbCookieEnable": { "inherited": false, - "value": {}, + "value": false, }, - "continuousSecurityHeaders": { + "auditAccessType": { "inherited": false, - "value": {}, + "value": "LOG_BOTH", }, - "cookieAttributeMultiValueSeparator": { + "auditLogLocation": { "inherited": false, - "value": "|", + "value": "ALL", }, - "cookieAttributeUrlEncoded": { + "cdssoRootUrl": { "inherited": false, - "value": true, + "value": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], }, - "headerAttributeDateFormat": { + "configurationPollingInterval": { "inherited": false, - "value": "EEE, d MMM yyyy hh:mm:ss z", + "value": 60, }, - "invertNotEnforcedIps": { + "disableJwtAudit": { "inherited": false, "value": false, }, - "invertNotEnforcedUris": { + "fqdnCheck": { "inherited": false, "value": false, }, - "logoutEntryUri": { + "fqdnDefault": { + "inherited": false, + "value": "apps.mytestrun.com", + }, + "fqdnMapping": { "inherited": false, "value": {}, }, - "logoutIntrospection": { + "jwtAuditWhitelist": { "inherited": false, - "value": false, }, - "logoutRequestParameters": { + "jwtName": { "inherited": false, - "value": {}, + "value": "am-auth-jwt", }, - "notEnforcedFavicon": { + "notificationsEnabled": { "inherited": false, "value": true, }, - "notEnforcedIps": { + "repositoryLocation": "centralized", + "resetIdleTime": { "inherited": false, - "value": [ - "", - ], + "value": false, }, - "notEnforcedIpsCacheEnabled": { + "secretLabelIdentifier": { "inherited": false, - "value": true, }, - "notEnforcedIpsCacheSize": { + "ssoOnlyMode": { "inherited": false, - "value": 1000, + "value": false, }, - "notEnforcedRuleCompoundSeparator": { + "status": { "inherited": false, - "value": "|", + "value": "Active", }, - "notEnforcedUris": { + "webSocketConnectionIntervalInMinutes": { "inherited": false, - "value": [ - "", - ], + "value": 30, }, - "notEnforcedUrisCacheEnabled": { + }, + "miscWebAgentConfig": { + "addCacheControlHeader": { "inherited": false, "value": true, }, - "notEnforcedUrisCacheSize": { + "anonymousUserEnabled": { "inherited": false, - "value": 1000, + "value": false, }, - "profileAttributeFetchMode": { + "anonymousUserId": { "inherited": false, - "value": "NONE", + "value": "anonymous", }, - "profileAttributeMap": { + "caseInsensitiveUrlComparison": { "inherited": false, - "value": {}, + "value": true, }, - "resourceAccessDeniedUri": { + "compositeAdviceEncode": { "inherited": false, - "value": {}, + "value": false, }, - "responseAttributeFetchMode": { + "compositeAdviceRedirect": { "inherited": false, - "value": "NONE", + "value": false, }, - "responseAttributeMap": { + "encodeSpecialCharsInCookies": { "inherited": false, - "value": {}, + "value": false, }, - "sessionAttributeFetchMode": { + "encodeUrlSpecialCharacters": { "inherited": false, - "value": "NONE", + "value": false, }, - "sessionAttributeMap": { + "gotoParameterName": { "inherited": false, - "value": {}, + "value": "goto", }, - }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": { + "headerJsonResponse": { "inherited": false, - "value": true, + "value": {}, }, - "auditAccessType": { + "ignorePathInfo": { "inherited": false, - "value": "LOG_NONE", + "value": false, }, - "auditLogLocation": { + "invalidUrlRegex": { "inherited": false, - "value": "REMOTE", }, - "cdssoRootUrl": { + "invertUrlJsonResponse": { "inherited": false, - "value": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], + "value": false, }, - "configurationReloadInterval": { + "mineEncodeHeader": { "inherited": false, "value": 0, }, - "customResponseHeader": { + "profileAttributesCookieMaxAge": { "inherited": false, - "value": {}, + "value": 300, }, - "debugLevel": { + "profileAttributesCookiePrefix": { "inherited": false, - "value": "error", + "value": "HTTP_", }, - "debugLogfilePrefix": { + "statusCodeJsonResponse": { "inherited": false, + "value": 202, }, - "debugLogfileRetentionCount": { + "urlJsonResponse": { "inherited": false, - "value": -1, + "value": [ + "", + ], }, - "debugLogfileRotationMinutes": { + }, + "ssoWebAgentConfig": { + "acceptSsoToken": { "inherited": false, - "value": -1, + "value": false, }, - "debugLogfileRotationSize": { + "cdssoCookieDomain": { "inherited": false, - "value": 52428800, + "value": [ + "", + ], }, - "debugLogfileSuffix": { + "cdssoRedirectUri": { "inherited": false, - "value": "-yyyy.MM.dd-HH.mm.ss", + "value": "agent/cdsso-oauth2", }, - "filterMode": { + "cookieName": { "inherited": false, - "value": { - "": "ALL", - }, + "value": "iPlanetDirectoryPro", }, - "fqdnCheck": { + "cookieResetEnabled": { "inherited": false, "value": false, }, - "fqdnDefault": { + "cookieResetList": { "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", + "value": [ + "", + ], }, - "fqdnMapping": { + "cookieResetOnRedirect": { "inherited": false, - "value": {}, + "value": false, }, - "httpSessionBinding": { + "httpOnly": { "inherited": false, "value": true, }, - "jwtName": { + "multivaluePreAuthnCookie": { "inherited": false, - "value": "am-auth-jwt", + "value": false, }, - "lbCookieEnabled": { + "persistentJwtCookie": { "inherited": false, "value": false, }, - "lbCookieName": { + "sameSite": { "inherited": false, - "value": "amlbcookie", }, - "localAuditLogRotation": { + "secureCookies": { + "inherited": false, + "value": false, + }, + }, +} +`; + +exports[`AgentOps Cloud Tests readAgentByTypeAndId() 1: Read agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` +{ + "_id": "FrodoOpsTestGatewayAgent1", + "_rev": "1997142121", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "igCdssoLoginUrlTemplate": { + "inherited": false, + }, + "igCdssoRedirectUrls": { + "inherited": false, + "value": [ + "https://ig.mytestrun.com/expanse/cdsso/redirect", + "https://ig.mytestrun.com/ig/cdsso/redirect", + "https://ig.scheuber.io/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/grafana/cdsso/redirect", + "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", + "https://ig.mytestrun.com/bi/cdsso/redirect", + "https://ig.mytestrun.com/prometheus/cdsso/redirect", + "https://ig.mytestrun.com/ig/studio/cdsso/redirect", + "https://ig.mytestrun.com/forgerock/cdsso/redirect", + ], + }, + "igTokenIntrospection": { + "inherited": false, + "value": "Realm_Subs", + }, + "secretLabelIdentifier": { + "inherited": false, + }, + "status": { + "inherited": false, + "value": "Active", + }, +} +`; + +exports[`AgentOps Cloud Tests readAgentByTypeAndId() 2: Read agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` +{ + "_id": "FrodoOpsTestJavaAgent1", + "_rev": "-723100226", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", + }, + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": { "inherited": false, - "value": false, }, - "localAuditLogfileRetentionCount": { + "alternativeAgentPort": { "inherited": false, - "value": -1, }, - "localAuditRotationSize": { + "alternativeAgentProtocol": { "inherited": false, - "value": 52428800, }, - "loginAttemptLimit": { + "clientHostnameHeader": { "inherited": false, - "value": 0, }, - "loginAttemptLimitCookieName": { + "clientIpHeader": { "inherited": false, - "value": "amFilterParam", }, - "preAuthCookieMaxAge": { + "customProperties": { "inherited": false, - "value": 300, + "value": [], }, - "preAuthCookieName": { + "expiredSessionCacheSize": { "inherited": false, - "value": "amFilterCDSSORequest", + "value": 500, }, - "recheckAmUnavailabilityInSeconds": { + "expiredSessionCacheTTL": { "inherited": false, - "value": 5, + "value": 20, }, - "redirectAttemptLimit": { + "fragmentRelayUri": { "inherited": false, - "value": 0, }, - "redirectAttemptLimitCookieName": { + "idleTimeRefreshWindow": { "inherited": false, - "value": "amFilterRDParam", + "value": 1, }, - "repositoryLocation": "centralized", - "status": { + "jwtCacheSize": { "inherited": false, - "value": "Active", + "value": 5000, }, - "userAttributeName": { + "jwtCacheTTL": { "inherited": false, - "value": "employeenumber", + "value": 30, }, - "userMappingMode": { + "missingPostDataPreservationEntryUri": { "inherited": false, - "value": "USER_ID", + "value": [ + "", + ], }, - "userPrincipalFlag": { + "monitoringToCSV": { "inherited": false, "value": false, }, - "userTokenName": { - "inherited": false, - "value": "UserToken", - }, - "webSocketConnectionIntervalInMinutes": { - "inherited": false, - "value": 30, - }, - }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": { - "inherited": false, - "value": "application/json", - }, - "agent302RedirectEnabled": { + "policyCachePerUser": { "inherited": false, - "value": true, + "value": 50, }, - "agent302RedirectHttpData": { + "policyCacheSize": { "inherited": false, - "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "value": 5000, }, - "agent302RedirectInvertEnabled": { + "policyClientPollingInterval": { "inherited": false, - "value": false, + "value": 3, }, - "agent302RedirectNerList": { + "possibleXssCodeElements": { "inherited": false, "value": [ "", ], }, - "agent302RedirectStatusCode": { + "postDataCacheTtlMin": { "inherited": false, - "value": 200, + "value": 5, }, - "authFailReasonParameterName": { + "postDataPreservation": { "inherited": false, + "value": false, }, - "authFailReasonParameterRemapper": { + "postDataPreserveCacheEntryMaxEntries": { "inherited": false, - "value": {}, + "value": 1000, }, - "authFailReasonUrl": { + "postDataPreserveCacheEntryMaxTotalSizeMb": { "inherited": false, + "value": -1, }, - "gotoParameterName": { + "postDataPreserveMultipartLimitBytes": { "inherited": false, - "value": "goto", + "value": 104857600, }, - "gotoUrl": { + "postDataPreserveMultipartParameterLimitBytes": { "inherited": false, + "value": 104857600, }, - "ignorePathInfo": { + "postDataStickySessionKeyValue": { "inherited": false, - "value": false, }, - "legacyRedirectUri": { + "postDataStickySessionMode": { "inherited": false, - "value": "/agent/sunwLegacySupportURI", + "value": "URL", }, - "legacyUserAgentList": { + "retainPreviousOverrideBehavior": { "inherited": false, - "value": [ - "Mozilla/4.7*", - ], + "value": true, }, - "legacyUserAgentSupport": { + "sessionCacheTTL": { "inherited": false, - "value": false, + "value": 15, }, - "localeCountry": { + "ssoExchangeCacheSize": { "inherited": false, - "value": "US", + "value": 100, }, - "localeLanguage": { + "ssoExchangeCacheTTL": { "inherited": false, - "value": "en", + "value": 5, }, - "loginReasonMap": { + "xssDetectionRedirectUri": { "inherited": false, "value": {}, }, - "loginReasonParameterName": { + }, + "amServicesJ2EEAgent": { + "agentAdviceEncode": { "inherited": false, + "value": false, }, - "portCheckEnabled": { + "amLoginUrl": { "inherited": false, - "value": false, + "value": [], }, - "portCheckFile": { + "authServiceHost": { "inherited": false, - "value": "PortCheckContent.txt", + "value": "openam-volker-dev.forgeblocks.com", }, - "portCheckSetting": { + "authServicePort": { "inherited": false, - "value": { - "443": "https", - }, + "value": 443, }, - "unwantedHttpUrlParams": { + "authServiceProtocol": { "inherited": false, - "value": [ - "", - ], + "value": "https", }, - "unwantedHttpUrlRegexParams": { + "authSuccessRedirectUrl": { "inherited": false, - "value": [ - "", - ], + "value": false, }, - "wantedHttpUrlParams": { + "conditionalLoginUrl": { "inherited": false, "value": [ "", ], }, - "wantedHttpUrlRegexParams": { + "conditionalLogoutUrl": { "inherited": false, "value": [ "", ], }, - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": { + "customLoginEnabled": { "inherited": false, "value": false, }, - "acceptSsoTokenDomainList": { + "legacyLoginUrlList": { "inherited": false, "value": [ "", ], }, - "acceptSsoTokenEnabled": { + "overridePolicyEvaluationRealmEnabled": { "inherited": false, "value": false, }, - "authExchangeCookieName": { - "inherited": false, - }, - "authExchangeUri": { - "inherited": false, - }, - "cdssoDomainList": { + "policyEvaluationApplication": { "inherited": false, - "value": [ - "", - ], + "value": "iPlanetAMWebAgentService", }, - "cdssoRedirectUri": { + "policyEvaluationRealm": { "inherited": false, - "value": "/agent/post-authn-redirect", + "value": "/", }, - "cdssoSecureCookies": { + "policyNotifications": { "inherited": false, - "value": false, + "value": true, }, - "cookieResetDomains": { + "restrictToRealm": { "inherited": false, "value": {}, }, - "cookieResetEnabled": { + "strategyWhenAMUnavailable": { "inherited": false, - "value": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", }, - "cookieResetNames": { + "urlPolicyEnvGetParameters": { "inherited": false, "value": [ "", ], }, - "cookieResetPaths": { - "inherited": false, - "value": {}, - }, - "encodeCookies": { - "inherited": false, - "value": false, - }, - "excludedUserAgentsList": { - "inherited": false, - "value": [], - }, - "httpOnly": { - "inherited": false, - "value": true, - }, - "setCookieAttributeMap": { - "inherited": false, - "value": {}, - }, - "setCookieInternalMap": { - "inherited": false, - "value": {}, - }, - }, -} -`; - -exports[`AgentOps readAgent() 3: Read agent 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` -{ - "_id": "FrodoOpsTestWebAgent1", - "_rev": "-56934604", - "_type": { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents", - }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": { - "inherited": false, - }, - "clientHostnameHeader": { - "inherited": false, - }, - "clientIpHeader": { - "inherited": false, - }, - "customProperties": { - "inherited": false, - "value": [], - }, - "fragmentRedirectEnabled": { - "inherited": false, - "value": false, - }, - "hostnameToIpAddress": { - "inherited": false, - "value": [], - }, - "logonAndImpersonation": { + "urlPolicyEnvJsessionParameters": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "overrideRequestHost": { + "urlPolicyEnvPostParameters": { "inherited": false, - "value": true, + "value": [ + "", + ], }, - "overrideRequestPort": { + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": { "inherited": false, - "value": true, + "value": {}, }, - "overrideRequestProtocol": { + "clientIpValidationMode": { "inherited": false, - "value": true, + "value": { + "": "OFF", + }, }, - "pdpJavascriptRepost": { + "clientIpValidationRange": { "inherited": false, - "value": false, + "value": {}, }, - "pdpSkipPostUrl": { + "continuousSecurityCookies": { "inherited": false, - "value": [ - "", - ], + "value": {}, }, - "pdpStickySessionCookieName": { + "continuousSecurityHeaders": { "inherited": false, + "value": {}, }, - "pdpStickySessionMode": { + "cookieAttributeMultiValueSeparator": { "inherited": false, - "value": "OFF", + "value": "|", }, - "pdpStickySessionValue": { + "cookieAttributeUrlEncoded": { "inherited": false, + "value": true, }, - "postDataCachePeriod": { + "headerAttributeDateFormat": { "inherited": false, - "value": 10, + "value": "EEE, d MMM yyyy hh:mm:ss z", }, - "postDataPreservation": { + "invertNotEnforcedIps": { "inherited": false, "value": false, }, - "replayPasswordKey": { + "invertNotEnforcedUris": { "inherited": false, + "value": false, }, - "retainSessionCache": { + "logoutEntryUri": { "inherited": false, - "value": false, + "value": {}, }, - "showPasswordInHeader": { + "logoutIntrospection": { "inherited": false, "value": false, }, - }, - "amServicesWebAgent": { - "amLoginUrl": { + "logoutRequestParameters": { "inherited": false, - "value": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], + "value": {}, }, - "amLogoutUrl": { + "notEnforcedFavicon": { "inherited": false, - "value": [ - "https://idc.scheuber.io:443/am/UI/Logout", - ], + "value": true, }, - "applicationLogoutUrls": { + "notEnforcedIps": { "inherited": false, "value": [ "", ], }, - "conditionalLoginUrl": { + "notEnforcedIpsCacheEnabled": { "inherited": false, - "value": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", - ], + "value": true, }, - "customLoginMode": { + "notEnforcedIpsCacheSize": { "inherited": false, - "value": 0, + "value": 1000, }, - "enableLogoutRegex": { + "notEnforcedRuleCompoundSeparator": { "inherited": false, - "value": false, + "value": "|", }, - "fetchPoliciesFromRootResource": { + "notEnforcedUris": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "invalidateLogoutSession": { + "notEnforcedUrisCacheEnabled": { "inherited": false, "value": true, }, - "logoutRedirectDisabled": { + "notEnforcedUrisCacheSize": { "inherited": false, - "value": false, + "value": 1000, }, - "logoutRedirectUrl": { + "profileAttributeFetchMode": { "inherited": false, + "value": "NONE", }, - "logoutResetCookies": { + "profileAttributeMap": { "inherited": false, - "value": [ - "", - ], + "value": {}, }, - "logoutUrlRegex": { + "resourceAccessDeniedUri": { "inherited": false, + "value": {}, }, - "policyCachePollingInterval": { + "responseAttributeFetchMode": { "inherited": false, - "value": 3, + "value": "NONE", }, - "policyClockSkew": { + "responseAttributeMap": { "inherited": false, - "value": 0, + "value": {}, }, - "policyEvaluationApplication": { + "sessionAttributeFetchMode": { "inherited": false, - "value": "apps", + "value": "NONE", }, - "policyEvaluationRealm": { + "sessionAttributeMap": { "inherited": false, - "value": "/alpha", + "value": {}, }, - "publicAmUrl": { + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": { "inherited": false, + "value": true, }, - "regexConditionalLoginPattern": { + "auditAccessType": { "inherited": false, - "value": [ - "", - ], + "value": "LOG_NONE", }, - "regexConditionalLoginUrl": { + "auditLogLocation": { "inherited": false, - "value": [ - "", - ], + "value": "REMOTE", }, - "retrieveClientHostname": { + "cdssoRootUrl": { "inherited": false, - "value": false, + "value": [ + "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", + ], }, - "ssoCachePollingInterval": { + "configurationReloadInterval": { "inherited": false, - "value": 3, + "value": 0, }, - "userIdParameter": { + "customResponseHeader": { "inherited": false, - "value": "UserToken", + "value": {}, }, - "userIdParameterType": { + "debugLevel": { "inherited": false, - "value": "session", + "value": "error", }, - }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": { + "debugLogfilePrefix": { "inherited": false, - "value": "|", }, - "clientIpValidation": { + "debugLogfileRetentionCount": { "inherited": false, - "value": false, + "value": -1, }, - "continuousSecurityCookies": { + "debugLogfileRotationMinutes": { "inherited": false, - "value": {}, + "value": -1, }, - "continuousSecurityHeaders": { + "debugLogfileRotationSize": { "inherited": false, - "value": {}, + "value": 52428800, }, - "fetchAttributesForNotEnforcedUrls": { + "debugLogfileSuffix": { "inherited": false, - "value": false, + "value": "-yyyy.MM.dd-HH.mm.ss", }, - "ignorePathInfoForNotEnforcedUrls": { + "filterMode": { "inherited": false, - "value": true, + "value": { + "": "ALL", + }, }, - "invertNotEnforcedUrls": { + "fqdnCheck": { "inherited": false, "value": false, }, - "notEnforcedIps": { + "fqdnDefault": { "inherited": false, - "value": [ - "", - ], + "value": "openam-volker-dev.forgeblocks.com", }, - "notEnforcedIpsList": { + "fqdnMapping": { "inherited": false, - "value": [ - "", - ], + "value": {}, }, - "notEnforcedIpsRegex": { + "httpSessionBinding": { "inherited": false, - "value": false, + "value": true, }, - "notEnforcedUrls": { + "jwtName": { "inherited": false, - "value": [ - "", - "https://apps.mytestrun.com/app1/*", - ], + "value": "am-auth-jwt", }, - "notEnforcedUrlsRegex": { + "lbCookieEnabled": { "inherited": false, "value": false, }, - "profileAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "profileAttributeMap": { + "lbCookieName": { "inherited": false, - "value": {}, + "value": "amlbcookie", }, - "responseAttributeFetchMode": { + "localAuditLogRotation": { "inherited": false, - "value": "NONE", + "value": false, }, - "responseAttributeMap": { + "localAuditLogfileRetentionCount": { "inherited": false, - "value": {}, + "value": -1, }, - "sessionAttributeFetchMode": { + "localAuditRotationSize": { "inherited": false, - "value": "NONE", + "value": 52428800, }, - "sessionAttributeMap": { + "loginAttemptLimit": { "inherited": false, - "value": {}, + "value": 0, }, - }, - "globalWebAgentConfig": { - "accessDeniedUrl": { + "loginAttemptLimitCookieName": { "inherited": false, + "value": "amFilterParam", }, - "agentConfigChangeNotificationsEnabled": { + "preAuthCookieMaxAge": { "inherited": false, - "value": true, + "value": 300, }, - "agentDebugLevel": { + "preAuthCookieName": { "inherited": false, - "value": "Info", + "value": "amFilterCDSSORequest", }, - "agentUriPrefix": { + "recheckAmUnavailabilityInSeconds": { "inherited": false, - "value": "https://apps.mytestrun.com:443/amagent", + "value": 5, }, - "amLbCookieEnable": { + "redirectAttemptLimit": { "inherited": false, - "value": false, + "value": 0, }, - "auditAccessType": { + "redirectAttemptLimitCookieName": { "inherited": false, - "value": "LOG_BOTH", + "value": "amFilterRDParam", }, - "auditLogLocation": { + "repositoryLocation": "centralized", + "secretLabelIdentifier": { "inherited": false, - "value": "ALL", }, - "cdssoRootUrl": { + "status": { "inherited": false, - "value": [ - "agentRootURL=https://apps.mytestrun.com:443/", - ], + "value": "Active", }, - "configurationPollingInterval": { + "userAttributeName": { "inherited": false, - "value": 60, + "value": "employeenumber", }, - "disableJwtAudit": { + "userMappingMode": { "inherited": false, - "value": false, + "value": "USER_ID", }, - "fqdnCheck": { + "userPrincipalFlag": { "inherited": false, "value": false, }, - "fqdnDefault": { + "userTokenName": { "inherited": false, - "value": "apps.mytestrun.com", + "value": "UserToken", }, - "fqdnMapping": { + "webSocketConnectionIntervalInMinutes": { "inherited": false, - "value": {}, + "value": 30, }, - "jwtAuditWhitelist": { + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": { "inherited": false, + "value": "application/json", }, - "jwtName": { + "agent302RedirectEnabled": { "inherited": false, - "value": "am-auth-jwt", + "value": true, }, - "notificationsEnabled": { + "agent302RedirectHttpData": { "inherited": false, - "value": true, + "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", }, - "repositoryLocation": "centralized", - "resetIdleTime": { + "agent302RedirectInvertEnabled": { "inherited": false, "value": false, }, - "ssoOnlyMode": { + "agent302RedirectNerList": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "status": { + "agent302RedirectStatusCode": { "inherited": false, - "value": "Active", + "value": 200, }, - "webSocketConnectionIntervalInMinutes": { + "authFailReasonParameterName": { "inherited": false, - "value": 30, }, - }, - "miscWebAgentConfig": { - "addCacheControlHeader": { + "authFailReasonParameterRemapper": { "inherited": false, - "value": true, + "value": {}, }, - "anonymousUserEnabled": { + "authFailReasonUrl": { "inherited": false, - "value": false, }, - "anonymousUserId": { + "gotoParameterName": { "inherited": false, - "value": "anonymous", + "value": "goto", }, - "caseInsensitiveUrlComparison": { + "gotoUrl": { "inherited": false, - "value": true, }, - "compositeAdviceEncode": { + "ignorePathInfo": { "inherited": false, "value": false, }, - "compositeAdviceRedirect": { + "legacyRedirectUri": { "inherited": false, - "value": false, + "value": "/agent/sunwLegacySupportURI", }, - "encodeSpecialCharsInCookies": { + "legacyUserAgentList": { "inherited": false, - "value": false, + "value": [ + "Mozilla/4.7*", + ], }, - "encodeUrlSpecialCharacters": { + "legacyUserAgentSupport": { "inherited": false, "value": false, }, - "gotoParameterName": { + "localeCountry": { "inherited": false, - "value": "goto", + "value": "US", }, - "headerJsonResponse": { + "localeLanguage": { "inherited": false, - "value": {}, + "value": "en", }, - "ignorePathInfo": { + "loginReasonMap": { "inherited": false, - "value": false, + "value": {}, }, - "invalidUrlRegex": { + "loginReasonParameterName": { "inherited": false, }, - "invertUrlJsonResponse": { + "portCheckEnabled": { "inherited": false, "value": false, }, - "mineEncodeHeader": { + "portCheckFile": { "inherited": false, - "value": 0, + "value": "PortCheckContent.txt", }, - "profileAttributesCookieMaxAge": { + "portCheckSetting": { "inherited": false, - "value": 300, + "value": { + "443": "https", + }, }, - "profileAttributesCookiePrefix": { + "unwantedHttpUrlParams": { "inherited": false, - "value": "HTTP_", + "value": [ + "", + ], }, - "statusCodeJsonResponse": { + "unwantedHttpUrlRegexParams": { "inherited": false, - "value": 202, + "value": [ + "", + ], }, - "urlJsonResponse": { + "wantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlRegexParams": { "inherited": false, "value": [ "", ], }, }, - "ssoWebAgentConfig": { - "acceptSsoToken": { + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": { "inherited": false, "value": false, }, - "cdssoCookieDomain": { + "acceptSsoTokenDomainList": { "inherited": false, "value": [ "", ], }, - "cdssoRedirectUri": { + "acceptSsoTokenEnabled": { "inherited": false, - "value": "agent/cdsso-oauth2", + "value": false, }, - "cookieName": { + "authExchangeCookieName": { "inherited": false, - "value": "iPlanetDirectoryPro", }, - "cookieResetEnabled": { + "authExchangeUri": { "inherited": false, - "value": false, }, - "cookieResetList": { + "cdssoDomainList": { "inherited": false, "value": [ "", ], }, - "cookieResetOnRedirect": { + "cdssoRedirectUri": { + "inherited": false, + "value": "/agent/post-authn-redirect", + }, + "cdssoSecureCookies": { "inherited": false, "value": false, }, - "httpOnly": { + "cookieResetDomains": { "inherited": false, - "value": true, + "value": {}, }, - "multivaluePreAuthnCookie": { + "cookieResetEnabled": { "inherited": false, "value": false, }, - "persistentJwtCookie": { + "cookieResetNames": { "inherited": false, - "value": false, + "value": [ + "", + ], }, - "sameSite": { + "cookieResetPaths": { "inherited": false, + "value": {}, }, - "secureCookies": { + "encodeCookies": { "inherited": false, "value": false, }, + "excludedUserAgentsList": { + "inherited": false, + "value": [], + }, + "httpOnly": { + "inherited": false, + "value": true, + }, + "setCookieAttributeMap": { + "inherited": false, + "value": {}, + }, + "setCookieInternalMap": { + "inherited": false, + "value": {}, + }, }, } `; -exports[`AgentOps readAgentByTypeAndId() 1: Read agent by type 'FrodoOpsTestGatewayAgent1' (IdentityGatewayAgent) 1`] = ` -{ - "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "1898225799", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "igCdssoLoginUrlTemplate": { - "inherited": false, - }, - "igCdssoRedirectUrls": { - "inherited": false, - "value": [ - "https://ig.mytestrun.com/expanse/cdsso/redirect", - "https://ig.mytestrun.com/ig/cdsso/redirect", - "https://ig.scheuber.io/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/grafana/cdsso/redirect", - "https://ig.mytestrun.com/ig-sample-app/cdsso/redirect", - "https://ig.mytestrun.com/bi/cdsso/redirect", - "https://ig.mytestrun.com/prometheus/cdsso/redirect", - "https://ig.mytestrun.com/ig/studio/cdsso/redirect", - "https://ig.mytestrun.com/forgerock/cdsso/redirect", - ], - }, - "igTokenIntrospection": { - "inherited": false, - "value": "Realm_Subs", - }, - "status": { - "inherited": false, - "value": "Active", - }, -} -`; - -exports[`AgentOps readAgentByTypeAndId() 2: Read agent by type 'FrodoOpsTestJavaAgent1' (J2EEAgent) 1`] = ` +exports[`AgentOps Cloud Tests readAgentByTypeAndId() 3: Read agent by type 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` { - "_id": "FrodoOpsTestJavaAgent1", - "_rev": "1389672820", + "_id": "FrodoOpsTestWebAgent1", + "_rev": "-696084654", "_type": { - "_id": "J2EEAgent", + "_id": "WebAgent", "collection": true, - "name": "J2EE Agents", + "name": "Web Agents", }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": { + "advancedWebAgentConfig": { + "apacheAuthDirectives": { + "inherited": false, + }, + "clientHostnameHeader": { + "inherited": false, + }, + "clientIpHeader": { + "inherited": false, + }, + "customProperties": { + "inherited": false, + "value": [], + }, + "fragmentRedirectEnabled": { + "inherited": false, + "value": false, + }, + "hostnameToIpAddress": { + "inherited": false, + "value": [], + }, + "logonAndImpersonation": { "inherited": false, + "value": false, }, - "alternativeAgentPort": { + "overrideRequestHost": { "inherited": false, + "value": true, }, - "alternativeAgentProtocol": { + "overrideRequestPort": { "inherited": false, + "value": true, }, - "clientHostnameHeader": { + "overrideRequestProtocol": { "inherited": false, + "value": true, }, - "clientIpHeader": { + "pdpJavascriptRepost": { "inherited": false, + "value": false, }, - "customProperties": { + "pdpSkipPostUrl": { "inherited": false, - "value": [], + "value": [ + "", + ], }, - "expiredSessionCacheSize": { + "pdpStickySessionCookieName": { "inherited": false, - "value": 500, }, - "expiredSessionCacheTTL": { + "pdpStickySessionMode": { "inherited": false, - "value": 20, + "value": "OFF", }, - "fragmentRelayUri": { + "pdpStickySessionValue": { "inherited": false, }, - "idleTimeRefreshWindow": { + "postDataCachePeriod": { "inherited": false, - "value": 1, + "value": 10, }, - "jwtCacheSize": { + "postDataPreservation": { "inherited": false, - "value": 5000, + "value": false, }, - "jwtCacheTTL": { + "replayPasswordKey": { "inherited": false, - "value": 30, }, - "missingPostDataPreservationEntryUri": { + "retainSessionCache": { + "inherited": false, + "value": false, + }, + "showPasswordInHeader": { + "inherited": false, + "value": false, + }, + }, + "amServicesWebAgent": { + "amLoginUrl": { + "inherited": false, + "value": [ + "https://idc.scheuber.io/login?realm=/alpha", + ], + }, + "amLogoutUrl": { + "inherited": false, + "value": [ + "https://idc.scheuber.io:443/am/UI/Logout", + ], + }, + "applicationLogoutUrls": { "inherited": false, "value": [ "", ], }, - "monitoringToCSV": { + "conditionalLoginUrl": { + "inherited": false, + "value": [ + "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + ], + }, + "customLoginMode": { + "inherited": false, + "value": 0, + }, + "enableLogoutRegex": { "inherited": false, "value": false, }, - "policyCachePerUser": { + "fetchPoliciesFromRootResource": { "inherited": false, - "value": 50, + "value": false, }, - "policyCacheSize": { + "invalidateLogoutSession": { "inherited": false, - "value": 5000, + "value": true, }, - "policyClientPollingInterval": { + "logoutRedirectDisabled": { "inherited": false, - "value": 3, + "value": false, }, - "possibleXssCodeElements": { + "logoutRedirectUrl": { + "inherited": false, + }, + "logoutResetCookies": { "inherited": false, "value": [ "", ], }, - "postDataCacheTtlMin": { + "logoutUrlRegex": { "inherited": false, - "value": 5, }, - "postDataPreservation": { + "policyCachePollingInterval": { "inherited": false, - "value": false, + "value": 3, }, - "postDataPreserveCacheEntryMaxEntries": { + "policyClockSkew": { "inherited": false, - "value": 1000, + "value": 0, }, - "postDataPreserveCacheEntryMaxTotalSizeMb": { + "policyEvaluationApplication": { "inherited": false, - "value": -1, + "value": "apps", }, - "postDataStickySessionKeyValue": { + "policyEvaluationRealm": { "inherited": false, + "value": "/alpha", }, - "postDataStickySessionMode": { + "publicAmUrl": { "inherited": false, - "value": "URL", }, - "sessionCacheTTL": { + "regexConditionalLoginPattern": { "inherited": false, - "value": 15, + "value": [ + "", + ], }, - "ssoExchangeCacheSize": { + "regexConditionalLoginUrl": { "inherited": false, - "value": 100, + "value": [ + "", + ], }, - "ssoExchangeCacheTTL": { + "retrieveClientHostname": { "inherited": false, - "value": 5, + "value": false, }, - "xssDetectionRedirectUri": { + "ssoCachePollingInterval": { "inherited": false, - "value": {}, + "value": 3, + }, + "userIdParameter": { + "inherited": false, + "value": "UserToken", + }, + "userIdParameterType": { + "inherited": false, + "value": "session", }, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": { + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": { + "inherited": false, + "value": "|", + }, + "clientIpValidation": { "inherited": false, "value": false, }, - "amLoginUrl": { + "continuousSecurityCookies": { "inherited": false, - "value": [], + "value": {}, }, - "authServiceHost": { + "continuousSecurityHeaders": { "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", + "value": {}, }, - "authServicePort": { + "fetchAttributesForNotEnforcedUrls": { "inherited": false, - "value": 443, + "value": false, }, - "authServiceProtocol": { + "ignorePathInfoForNotEnforcedUrls": { "inherited": false, - "value": "https", + "value": true, }, - "authSuccessRedirectUrl": { + "invertNotEnforcedUrls": { "inherited": false, "value": false, }, - "conditionalLoginUrl": { + "notEnforcedIps": { "inherited": false, "value": [ "", ], }, - "conditionalLogoutUrl": { + "notEnforcedIpsList": { "inherited": false, "value": [ "", ], }, - "customLoginEnabled": { + "notEnforcedIpsRegex": { "inherited": false, "value": false, }, - "legacyLoginUrlList": { + "notEnforcedUrls": { "inherited": false, "value": [ "", + "https://apps.mytestrun.com/app1/*", ], }, - "overridePolicyEvaluationRealmEnabled": { + "notEnforcedUrlsRegex": { "inherited": false, "value": false, }, - "policyEvaluationApplication": { + "profileAttributeFetchMode": { "inherited": false, - "value": "iPlanetAMWebAgentService", + "value": "NONE", }, - "policyEvaluationRealm": { + "profileAttributeMap": { "inherited": false, - "value": "/", + "value": {}, }, - "policyNotifications": { + "responseAttributeFetchMode": { "inherited": false, - "value": true, + "value": "NONE", }, - "restrictToRealm": { + "responseAttributeMap": { "inherited": false, "value": {}, }, - "urlPolicyEnvGetParameters": { + "sessionAttributeFetchMode": { "inherited": false, - "value": [ - "", - ], + "value": "NONE", }, - "urlPolicyEnvJsessionParameters": { + "sessionAttributeMap": { "inherited": false, - "value": [ - "", - ], + "value": {}, }, - "urlPolicyEnvPostParameters": { + }, + "globalWebAgentConfig": { + "accessDeniedUrl": { "inherited": false, - "value": [ - "", - ], }, - }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": { + "agentConfigChangeNotificationsEnabled": { "inherited": false, - "value": {}, + "value": true, }, - "clientIpValidationMode": { + "agentDebugLevel": { "inherited": false, - "value": { - "": "OFF", - }, + "value": "Info", }, - "clientIpValidationRange": { + "agentUriPrefix": { "inherited": false, - "value": {}, + "value": "https://apps.mytestrun.com:443/amagent", }, - "continuousSecurityCookies": { + "amLbCookieEnable": { "inherited": false, - "value": {}, + "value": false, }, - "continuousSecurityHeaders": { + "auditAccessType": { "inherited": false, - "value": {}, + "value": "LOG_BOTH", }, - "cookieAttributeMultiValueSeparator": { + "auditLogLocation": { "inherited": false, - "value": "|", + "value": "ALL", }, - "cookieAttributeUrlEncoded": { + "cdssoRootUrl": { "inherited": false, - "value": true, + "value": [ + "agentRootURL=https://apps.mytestrun.com:443/", + ], }, - "headerAttributeDateFormat": { + "configurationPollingInterval": { "inherited": false, - "value": "EEE, d MMM yyyy hh:mm:ss z", + "value": 60, }, - "invertNotEnforcedIps": { + "disableJwtAudit": { "inherited": false, "value": false, }, - "invertNotEnforcedUris": { + "fqdnCheck": { "inherited": false, "value": false, }, - "logoutEntryUri": { + "fqdnDefault": { + "inherited": false, + "value": "apps.mytestrun.com", + }, + "fqdnMapping": { "inherited": false, "value": {}, }, - "logoutIntrospection": { + "jwtAuditWhitelist": { "inherited": false, - "value": false, }, - "logoutRequestParameters": { + "jwtName": { "inherited": false, - "value": {}, + "value": "am-auth-jwt", }, - "notEnforcedFavicon": { + "notificationsEnabled": { "inherited": false, "value": true, }, - "notEnforcedIps": { + "repositoryLocation": "centralized", + "resetIdleTime": { "inherited": false, - "value": [ - "", - ], + "value": false, }, - "notEnforcedIpsCacheEnabled": { + "secretLabelIdentifier": { "inherited": false, - "value": true, }, - "notEnforcedIpsCacheSize": { + "ssoOnlyMode": { "inherited": false, - "value": 1000, + "value": false, }, - "notEnforcedRuleCompoundSeparator": { + "status": { "inherited": false, - "value": "|", + "value": "Active", }, - "notEnforcedUris": { + "webSocketConnectionIntervalInMinutes": { "inherited": false, - "value": [ - "", - ], + "value": 30, }, - "notEnforcedUrisCacheEnabled": { + }, + "miscWebAgentConfig": { + "addCacheControlHeader": { "inherited": false, "value": true, }, - "notEnforcedUrisCacheSize": { + "anonymousUserEnabled": { "inherited": false, - "value": 1000, + "value": false, }, - "profileAttributeFetchMode": { + "anonymousUserId": { "inherited": false, - "value": "NONE", + "value": "anonymous", }, - "profileAttributeMap": { + "caseInsensitiveUrlComparison": { "inherited": false, - "value": {}, + "value": true, }, - "resourceAccessDeniedUri": { + "compositeAdviceEncode": { "inherited": false, - "value": {}, + "value": false, }, - "responseAttributeFetchMode": { + "compositeAdviceRedirect": { "inherited": false, - "value": "NONE", + "value": false, }, - "responseAttributeMap": { + "encodeSpecialCharsInCookies": { "inherited": false, - "value": {}, + "value": false, }, - "sessionAttributeFetchMode": { + "encodeUrlSpecialCharacters": { "inherited": false, - "value": "NONE", + "value": false, }, - "sessionAttributeMap": { + "gotoParameterName": { "inherited": false, - "value": {}, + "value": "goto", }, - }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": { + "headerJsonResponse": { "inherited": false, - "value": true, + "value": {}, }, - "auditAccessType": { + "ignorePathInfo": { "inherited": false, - "value": "LOG_NONE", + "value": false, }, - "auditLogLocation": { + "invalidUrlRegex": { "inherited": false, - "value": "REMOTE", }, - "cdssoRootUrl": { + "invertUrlJsonResponse": { "inherited": false, - "value": [ - "agentRootURL=https://openam-volker-dev.forgeblocks.com:443/", - ], + "value": false, }, - "configurationReloadInterval": { + "mineEncodeHeader": { "inherited": false, "value": 0, }, - "customResponseHeader": { + "profileAttributesCookieMaxAge": { "inherited": false, - "value": {}, + "value": 300, }, - "debugLevel": { + "profileAttributesCookiePrefix": { "inherited": false, - "value": "error", + "value": "HTTP_", }, - "debugLogfilePrefix": { + "statusCodeJsonResponse": { "inherited": false, + "value": 202, }, - "debugLogfileRetentionCount": { + "urlJsonResponse": { "inherited": false, - "value": -1, + "value": [ + "", + ], }, - "debugLogfileRotationMinutes": { + }, + "ssoWebAgentConfig": { + "acceptSsoToken": { "inherited": false, - "value": -1, + "value": false, }, - "debugLogfileRotationSize": { + "cdssoCookieDomain": { "inherited": false, - "value": 52428800, + "value": [ + "", + ], }, - "debugLogfileSuffix": { + "cdssoRedirectUri": { "inherited": false, - "value": "-yyyy.MM.dd-HH.mm.ss", + "value": "agent/cdsso-oauth2", }, - "filterMode": { + "cookieName": { "inherited": false, - "value": { - "": "ALL", - }, + "value": "iPlanetDirectoryPro", }, - "fqdnCheck": { + "cookieResetEnabled": { "inherited": false, "value": false, }, - "fqdnDefault": { + "cookieResetList": { "inherited": false, - "value": "openam-volker-dev.forgeblocks.com", + "value": [ + "", + ], }, - "fqdnMapping": { + "cookieResetOnRedirect": { "inherited": false, - "value": {}, + "value": false, }, - "httpSessionBinding": { + "httpOnly": { "inherited": false, "value": true, }, - "jwtName": { + "multivaluePreAuthnCookie": { "inherited": false, - "value": "am-auth-jwt", + "value": false, }, - "lbCookieEnabled": { + "persistentJwtCookie": { "inherited": false, "value": false, }, - "lbCookieName": { + "sameSite": { "inherited": false, - "value": "amlbcookie", }, - "localAuditLogRotation": { + "secureCookies": { "inherited": false, "value": false, }, - "localAuditLogfileRetentionCount": { - "inherited": false, - "value": -1, + }, +} +`; + +exports[`AgentOps Cloud Tests readAgentGroups() 1: Read Agent Groups 1`] = ` +[ + { + "_id": "test_web_agent_group", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", }, - "localAuditRotationSize": { - "inherited": false, - "value": 52428800, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "loginAttemptLimit": { - "inherited": false, - "value": 0, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "loginAttemptLimitCookieName": { - "inherited": false, - "value": "amFilterParam", + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "preAuthCookieMaxAge": { - "inherited": false, - "value": 300, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": null, + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "resetIdleTime": false, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, }, - "preAuthCookieName": { - "inherited": false, - "value": "amFilterCDSSORequest", + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], }, - "recheckAmUnavailabilityInSeconds": { - "inherited": false, - "value": 5, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, - "redirectAttemptLimit": { - "inherited": false, - "value": 0, + }, + { + "_id": "test_java_group", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", }, - "redirectAttemptLimitCookieName": { - "inherited": false, - "value": "amFilterRDParam", + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "repositoryLocation": "centralized", - "status": { - "inherited": false, - "value": "Active", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], }, - "userAttributeName": { - "inherited": false, - "value": "employeenumber", + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "userMappingMode": { - "inherited": false, - "value": "USER_ID", + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": null, + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "status": "Active", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "userPrincipalFlag": { - "inherited": false, - "value": false, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": null, + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": {}, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], }, - "userTokenName": { - "inherited": false, - "value": "UserToken", + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": null, + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, - "webSocketConnectionIntervalInMinutes": { - "inherited": false, - "value": 30, + }, + { + "_id": "test_ig_group", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "None", + "status": "Active", }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": { - "inherited": false, - "value": "application/json", +] +`; + +exports[`AgentOps Cloud Tests readAgents() 1: Read all agents 1`] = ` +[ + { + "_id": "cdsso-ig-agent", + "_rev": "-1524382492", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "agent302RedirectEnabled": { - "inherited": false, - "value": true, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "frodo-test-ig-agent", + "_rev": "-1490423122", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "agent302RedirectHttpData": { - "inherited": false, - "value": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agentgroup": "test_ig_group", + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "frodo-test-ig-agent2", + "_rev": "1365023305", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", }, - "agent302RedirectInvertEnabled": { - "inherited": false, - "value": false, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "frodo-test-java-agent", + "_rev": "1131793354", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", }, - "agent302RedirectNerList": { - "inherited": false, - "value": [ + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - }, - "agent302RedirectStatusCode": { - "inherited": false, - "value": 200, - }, - "authFailReasonParameterName": { - "inherited": false, - }, - "authFailReasonParameterRemapper": { - "inherited": false, - "value": {}, - }, - "authFailReasonUrl": { - "inherited": false, - }, - "gotoParameterName": { - "inherited": false, - "value": "goto", - }, - "gotoUrl": { - "inherited": false, - }, - "ignorePathInfo": { - "inherited": false, - "value": false, - }, - "legacyRedirectUri": { - "inherited": false, - "value": "/agent/sunwLegacySupportURI", - }, - "legacyUserAgentList": { - "inherited": false, - "value": [ - "Mozilla/4.7*", + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "legacyUserAgentSupport": { - "inherited": false, - "value": false, - }, - "localeCountry": { - "inherited": false, - "value": "US", - }, - "localeLanguage": { - "inherited": false, - "value": "en", - }, - "loginReasonMap": { - "inherited": false, - "value": {}, - }, - "loginReasonParameterName": { - "inherited": false, - }, - "portCheckEnabled": { - "inherited": false, - "value": false, - }, - "portCheckFile": { - "inherited": false, - "value": "PortCheckContent.txt", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], }, - "portCheckSetting": { - "inherited": false, - "value": { - "443": "https", + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "unwantedHttpUrlParams": { - "inherited": false, - "value": [ + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ "", ], - }, - "unwantedHttpUrlRegexParams": { - "inherited": false, - "value": [ + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ "", ], - }, - "wantedHttpUrlParams": { - "inherited": false, - "value": [ + "unwantedHttpUrlRegexParams": [ "", ], - }, - "wantedHttpUrlRegexParams": { - "inherited": false, - "value": [ + "wantedHttpUrlParams": [ "", ], - }, - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": { - "inherited": false, - "value": false, - }, - "acceptSsoTokenDomainList": { - "inherited": false, - "value": [ + "wantedHttpUrlRegexParams": [ "", ], }, - "acceptSsoTokenEnabled": { - "inherited": false, - "value": false, - }, - "authExchangeCookieName": { - "inherited": false, - }, - "authExchangeUri": { - "inherited": false, - }, - "cdssoDomainList": { - "inherited": false, - "value": [ + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ "", ], - }, - "cdssoRedirectUri": { - "inherited": false, - "value": "/agent/post-authn-redirect", - }, - "cdssoSecureCookies": { - "inherited": false, - "value": false, - }, - "cookieResetDomains": { - "inherited": false, - "value": {}, - }, - "cookieResetEnabled": { - "inherited": false, - "value": false, - }, - "cookieResetNames": { - "inherited": false, - "value": [ + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ "", ], - }, - "cookieResetPaths": { - "inherited": false, - "value": {}, - }, - "encodeCookies": { - "inherited": false, - "value": false, - }, - "excludedUserAgentsList": { - "inherited": false, - "value": [], - }, - "httpOnly": { - "inherited": false, - "value": true, - }, - "setCookieAttributeMap": { - "inherited": false, - "value": {}, - }, - "setCookieInternalMap": { - "inherited": false, - "value": {}, - }, - }, -} -`; - -exports[`AgentOps readAgentByTypeAndId() 3: Read agent by type 'FrodoOpsTestWebAgent1' (WebAgent) 1`] = ` -{ - "_id": "FrodoOpsTestWebAgent1", - "_rev": "-56934604", - "_type": { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents", - }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": { - "inherited": false, - }, - "clientHostnameHeader": { - "inherited": false, - }, - "clientIpHeader": { - "inherited": false, - }, - "customProperties": { - "inherited": false, - "value": [], - }, - "fragmentRedirectEnabled": { - "inherited": false, - "value": false, - }, - "hostnameToIpAddress": { - "inherited": false, - "value": [], - }, - "logonAndImpersonation": { - "inherited": false, - "value": false, - }, - "overrideRequestHost": { - "inherited": false, - "value": true, - }, - "overrideRequestPort": { - "inherited": false, - "value": true, - }, - "overrideRequestProtocol": { - "inherited": false, - "value": true, - }, - "pdpJavascriptRepost": { - "inherited": false, - "value": false, - }, - "pdpSkipPostUrl": { - "inherited": false, - "value": [ + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ "", ], - }, - "pdpStickySessionCookieName": { - "inherited": false, - }, - "pdpStickySessionMode": { - "inherited": false, - "value": "OFF", - }, - "pdpStickySessionValue": { - "inherited": false, - }, - "postDataCachePeriod": { - "inherited": false, - "value": 10, - }, - "postDataPreservation": { - "inherited": false, - "value": false, - }, - "replayPasswordKey": { - "inherited": false, - }, - "retainSessionCache": { - "inherited": false, - "value": false, - }, - "showPasswordInHeader": { - "inherited": false, - "value": false, + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "amServicesWebAgent": { - "amLoginUrl": { - "inherited": false, - "value": [ - "https://idc.scheuber.io/login?realm=/alpha", - ], + { + "_id": "frodo-test-java-agent2", + "_rev": "561894916", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", }, - "amLogoutUrl": { - "inherited": false, - "value": [ - "https://idc.scheuber.io:443/am/UI/Logout", + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", ], - }, - "applicationLogoutUrls": { - "inherited": false, - "value": [ + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ "", ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "conditionalLoginUrl": { - "inherited": false, - "value": [ - "mytestrun.com|https://idc.scheuber.io:443/am/oauth2/authorize?realm=/alpha", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", ], - }, - "customLoginMode": { - "inherited": false, - "value": 0, - }, - "enableLogoutRegex": { - "inherited": false, - "value": false, - }, - "fetchPoliciesFromRootResource": { - "inherited": false, - "value": false, - }, - "invalidateLogoutSession": { - "inherited": false, - "value": true, - }, - "logoutRedirectDisabled": { - "inherited": false, - "value": false, - }, - "logoutRedirectUrl": { - "inherited": false, - }, - "logoutResetCookies": { - "inherited": false, - "value": [ + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ "", ], }, - "logoutUrlRegex": { - "inherited": false, - }, - "policyCachePollingInterval": { - "inherited": false, - "value": 3, - }, - "policyClockSkew": { - "inherited": false, - "value": 0, - }, - "policyEvaluationApplication": { - "inherited": false, - "value": "apps", - }, - "policyEvaluationRealm": { - "inherited": false, - "value": "/alpha", + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "publicAmUrl": { - "inherited": false, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "regexConditionalLoginPattern": { - "inherited": false, - "value": [ + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ "", ], }, - "regexConditionalLoginUrl": { - "inherited": false, - "value": [ + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ "", ], - }, - "retrieveClientHostname": { - "inherited": false, - "value": false, - }, - "ssoCachePollingInterval": { - "inherited": false, - "value": 3, - }, - "userIdParameter": { - "inherited": false, - "value": "UserToken", - }, - "userIdParameterType": { - "inherited": false, - "value": "session", + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": { - "inherited": false, - "value": "|", - }, - "clientIpValidation": { - "inherited": false, - "value": false, - }, - "continuousSecurityCookies": { - "inherited": false, - "value": {}, - }, - "continuousSecurityHeaders": { - "inherited": false, - "value": {}, - }, - "fetchAttributesForNotEnforcedUrls": { - "inherited": false, - "value": false, - }, - "ignorePathInfoForNotEnforcedUrls": { - "inherited": false, - "value": true, - }, - "invertNotEnforcedUrls": { - "inherited": false, - "value": false, + { + "_id": "frodo-test-web-agent", + "_rev": "218393939", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", }, - "notEnforcedIps": { - "inherited": false, - "value": [ + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ "", ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "notEnforcedIpsList": { - "inherited": false, - "value": [ + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ "", ], - }, - "notEnforcedIpsRegex": { - "inherited": false, - "value": false, - }, - "notEnforcedUrls": { - "inherited": false, - "value": [ + "conditionalLoginUrl": [ "", - "https://apps.mytestrun.com/app1/*", ], - }, - "notEnforcedUrlsRegex": { - "inherited": false, - "value": false, - }, - "profileAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "profileAttributeMap": { - "inherited": false, - "value": {}, - }, - "responseAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "responseAttributeMap": { - "inherited": false, - "value": {}, - }, - "sessionAttributeFetchMode": { - "inherited": false, - "value": "NONE", - }, - "sessionAttributeMap": { - "inherited": false, - "value": {}, - }, - }, - "globalWebAgentConfig": { - "accessDeniedUrl": { - "inherited": false, - }, - "agentConfigChangeNotificationsEnabled": { - "inherited": false, - "value": true, - }, - "agentDebugLevel": { - "inherited": false, - "value": "Info", - }, - "agentUriPrefix": { - "inherited": false, - "value": "https://apps.mytestrun.com:443/amagent", - }, - "amLbCookieEnable": { - "inherited": false, - "value": false, - }, - "auditAccessType": { - "inherited": false, - "value": "LOG_BOTH", - }, - "auditLogLocation": { - "inherited": false, - "value": "ALL", - }, - "cdssoRootUrl": { - "inherited": false, - "value": [ - "agentRootURL=https://apps.mytestrun.com:443/", + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "configurationPollingInterval": { - "inherited": false, - "value": 60, - }, - "disableJwtAudit": { - "inherited": false, - "value": false, - }, - "fqdnCheck": { - "inherited": false, - "value": false, - }, - "fqdnDefault": { - "inherited": false, - "value": "apps.mytestrun.com", - }, - "fqdnMapping": { - "inherited": false, - "value": {}, - }, - "jwtAuditWhitelist": { - "inherited": false, - }, - "jwtName": { - "inherited": false, - "value": "am-auth-jwt", - }, - "notificationsEnabled": { - "inherited": false, - "value": true, - }, - "repositoryLocation": "centralized", - "resetIdleTime": { - "inherited": false, - "value": false, - }, - "ssoOnlyMode": { - "inherited": false, - "value": false, - }, - "status": { - "inherited": false, - "value": "Active", - }, - "webSocketConnectionIntervalInMinutes": { - "inherited": false, - "value": 30, - }, - }, - "miscWebAgentConfig": { - "addCacheControlHeader": { - "inherited": false, - "value": true, - }, - "anonymousUserEnabled": { - "inherited": false, - "value": false, - }, - "anonymousUserId": { - "inherited": false, - "value": "anonymous", - }, - "caseInsensitiveUrlComparison": { - "inherited": false, - "value": true, - }, - "compositeAdviceEncode": { - "inherited": false, - "value": false, - }, - "compositeAdviceRedirect": { - "inherited": false, - "value": false, - }, - "encodeSpecialCharsInCookies": { - "inherited": false, - "value": false, - }, - "encodeUrlSpecialCharacters": { - "inherited": false, - "value": false, - }, - "gotoParameterName": { - "inherited": false, - "value": "goto", + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "headerJsonResponse": { - "inherited": false, - "value": {}, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, }, - "ignorePathInfo": { - "inherited": false, - "value": false, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], }, - "invalidUrlRegex": { - "inherited": false, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, - "invertUrlJsonResponse": { - "inherited": false, - "value": false, + }, + { + "_id": "frodo-test-web-agent2", + "_rev": "930101313", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", }, - "mineEncodeHeader": { - "inherited": false, - "value": 0, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, }, - "profileAttributesCookieMaxAge": { - "inherited": false, - "value": 300, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", }, - "profileAttributesCookiePrefix": { - "inherited": false, - "value": "HTTP_", + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "statusCodeJsonResponse": { - "inherited": false, - "value": 202, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, }, - "urlJsonResponse": { - "inherited": false, - "value": [ + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ "", ], }, - }, - "ssoWebAgentConfig": { - "acceptSsoToken": { - "inherited": false, - "value": false, - }, - "cdssoCookieDomain": { - "inherited": false, - "value": [ + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - }, - "cdssoRedirectUri": { - "inherited": false, - "value": "agent/cdsso-oauth2", - }, - "cookieName": { - "inherited": false, - "value": "iPlanetDirectoryPro", - }, - "cookieResetEnabled": { - "inherited": false, - "value": false, - }, - "cookieResetList": { - "inherited": false, - "value": [ + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ "", ], - }, - "cookieResetOnRedirect": { - "inherited": false, - "value": false, - }, - "httpOnly": { - "inherited": false, - "value": true, - }, - "multivaluePreAuthnCookie": { - "inherited": false, - "value": false, - }, - "persistentJwtCookie": { - "inherited": false, - "value": false, - }, - "sameSite": { - "inherited": false, - }, - "secureCookies": { - "inherited": false, - "value": false, + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, -} -`; - -exports[`AgentOps readAgents() 1: Read all agents 1`] = ` -[ { "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "-844287852", + "_rev": "1953909377", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -8953,11 +12568,12 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestGatewayAgent7", - "_rev": "-404998281", + "_rev": "-1901768348", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -8967,11 +12583,12 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "igCdssoLoginUrlTemplate": null, "igCdssoRedirectUrls": [], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestGatewayAgent8", - "_rev": "-404998280", + "_rev": "-1901768347", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -8981,11 +12598,12 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "igCdssoLoginUrlTemplate": null, "igCdssoRedirectUrls": [], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestGatewayAgent9", - "_rev": "-844287860", + "_rev": "1953909369", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -9005,11 +12623,12 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestJavaAgent1", - "_rev": "542636718", + "_rev": "2117055915", "_type": { "_id": "J2EEAgent", "collection": true, @@ -9042,8 +12661,11 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -9071,6 +12693,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -9154,6 +12777,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -9231,7 +12855,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestJavaAgent7", - "_rev": "-1751269054", + "_rev": "362051135", "_type": { "_id": "J2EEAgent", "collection": true, @@ -9264,8 +12888,11 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -9293,6 +12920,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -9377,6 +13005,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -9454,7 +13083,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestJavaAgent8", - "_rev": "-1751269053", + "_rev": "362051136", "_type": { "_id": "J2EEAgent", "collection": true, @@ -9487,8 +13116,11 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -9516,6 +13148,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -9600,6 +13233,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -9677,7 +13311,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestJavaAgent9", - "_rev": "-1751269048", + "_rev": "362051141", "_type": { "_id": "J2EEAgent", "collection": true, @@ -9710,8 +13344,11 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -9739,6 +13376,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -9823,6 +13461,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -9900,7 +13539,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestWebAgent1", - "_rev": "1391805111", + "_rev": "-1011057588", "_type": { "_id": "WebAgent", "collection": true, @@ -10018,6 +13657,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -10065,7 +13705,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestWebAgent7", - "_rev": "-267938687", + "_rev": "1774890626", "_type": { "_id": "WebAgent", "collection": true, @@ -10180,6 +13820,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -10227,7 +13868,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestWebAgent8", - "_rev": "-267938686", + "_rev": "1774890627", "_type": { "_id": "WebAgent", "collection": true, @@ -10342,6 +13983,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -10389,7 +14031,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` }, { "_id": "FrodoOpsTestWebAgent9", - "_rev": "-267938689", + "_rev": "1774890624", "_type": { "_id": "WebAgent", "collection": true, @@ -10504,6 +14146,7 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -10549,13 +14192,81 @@ exports[`AgentOps readAgents() 1: Read all agents 1`] = ` "secureCookies": false, }, }, + { + "_id": "ig-agent", + "_rev": "-1566320906", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "my-policy-agent", + "_rev": "-504717871", + "_type": { + "_id": "2.2_Agent", + "collection": true, + "name": "Policy Agents", + }, + "cdssoRootUrl": [], + "description": null, + "status": "Active", + }, + { + "_id": "test", + "_rev": "-2043903936", + "_type": { + "_id": "RemoteConsentAgent", + "collection": true, + "name": "OAuth2 Remote Consent Service", + }, + "agentgroup": null, + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "publicKeyLocation": "jwks_uri", + "remoteConsentRedirectUrl": null, + "remoteConsentRequestEncryptionAlgorithm": "RSA-OAEP-256", + "remoteConsentRequestEncryptionEnabled": true, + "remoteConsentRequestEncryptionMethod": "A128GCM", + "remoteConsentRequestSigningAlgorithm": "RS256", + "remoteConsentResponseEncryptionAlgorithm": "RSA-OAEP-256", + "remoteConsentResponseEncryptionMethod": "A128GCM", + "remoteConsentResponseSigningAlg": "RS256", + "requestTimeLimit": 180, + }, + { + "_id": "test software publisher", + "_rev": "1510799304", + "_type": { + "_id": "SoftwarePublisher", + "collection": true, + "name": "OAuth2 Software Publisher", + }, + "agentgroup": null, + "issuer": null, + "jwkSet": null, + "jwkStoreCacheMissCacheTime": 60000, + "jwksCacheTimeout": 3600000, + "jwksUri": null, + "publicKeyLocation": "jwks_uri", + "softwareStatementSigningAlgorithm": "RS256", + }, ] `; -exports[`AgentOps readIdentityGatewayAgent() 1: Read IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1' 1`] = ` +exports[`AgentOps Cloud Tests readIdentityGatewayAgent() 1: Read IdentityGatewayAgent 'FrodoOpsTestGatewayAgent1' 1`] = ` { "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "1898225799", + "_rev": "1997142121", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -10582,6 +14293,9 @@ exports[`AgentOps readIdentityGatewayAgent() 1: Read IdentityGatewayAgent 'Frodo "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -10589,11 +14303,33 @@ exports[`AgentOps readIdentityGatewayAgent() 1: Read IdentityGatewayAgent 'Frodo } `; -exports[`AgentOps readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` +exports[`AgentOps Cloud Tests readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` [ + { + "_id": "cdsso-ig-agent", + "_rev": "-1524382492", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [ + "https://volker-demo.encore.forgerock.com:443/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com:443/apps/contractor/redirect", + "https://volker-demo.encore.forgerock.com/apps/hrlite-rest/redirect", + "https://volker-demo.encore.forgerock.com/apps/contractor/redirect", + ], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, { "_id": "FrodoOpsTestGatewayAgent1", - "_rev": "-844287852", + "_rev": "1953909377", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -10613,11 +14349,12 @@ exports[`AgentOps readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestGatewayAgent8", - "_rev": "-404998280", + "_rev": "-1901768347", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -10627,11 +14364,12 @@ exports[`AgentOps readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` "igCdssoLoginUrlTemplate": null, "igCdssoRedirectUrls": [], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, { "_id": "FrodoOpsTestGatewayAgent9", - "_rev": "-844287860", + "_rev": "1953909369", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -10651,11 +14389,61 @@ exports[`AgentOps readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` "https://ig.mytestrun.com/forgerock/cdsso/redirect", ], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, + "status": "Active", + }, + { + "_id": "ig-agent", + "_rev": "-1566320906", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": null, + "igCdssoRedirectUrls": [], + "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, + { + "_id": "frodo-test-ig-agent2", + "_rev": "1365023305", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": null, + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, + { + "_id": "frodo-test-ig-agent", + "_rev": "-1490423122", + "_type": { + "_id": "IdentityGatewayAgent", + "collection": true, + "name": "Identity Gateway Agents", + }, + "agentgroup": "test_ig_group", + "igCdssoLoginUrlTemplate": "http://testurl.com:8080/frodo", + "igCdssoRedirectUrls": [ + "http://testurl.com:8080/frodo", + ], + "igTokenIntrospection": "Realm", + "secretLabelIdentifier": null, + "status": "Inactive", + }, { "_id": "FrodoOpsTestGatewayAgent7", - "_rev": "-404998281", + "_rev": "-1901768348", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -10665,15 +14453,16 @@ exports[`AgentOps readIdentityGatewayAgents() 1: Read gateway agents 1`] = ` "igCdssoLoginUrlTemplate": null, "igCdssoRedirectUrls": [], "igTokenIntrospection": "Realm_Subs", + "secretLabelIdentifier": null, "status": "Active", }, ] `; -exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] = ` +exports[`AgentOps Cloud Tests readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] = ` { "_id": "FrodoOpsTestJavaAgent1", - "_rev": "1389672820", + "_rev": "-723100226", "_type": { "_id": "J2EEAgent", "collection": true, @@ -10766,6 +14555,14 @@ exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -10773,6 +14570,10 @@ exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -10857,6 +14658,10 @@ exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -11121,6 +14926,9 @@ exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -11194,156 +15002,611 @@ exports[`AgentOps readJavaAgent() 1: Read J2EEAgent 'FrodoOpsTestJavaAgent1' 1`] "inherited": false, "value": false, }, - "legacyRedirectUri": { + "legacyRedirectUri": { + "inherited": false, + "value": "/agent/sunwLegacySupportURI", + }, + "legacyUserAgentList": { + "inherited": false, + "value": [ + "Mozilla/4.7*", + ], + }, + "legacyUserAgentSupport": { + "inherited": false, + "value": false, + }, + "localeCountry": { + "inherited": false, + "value": "US", + }, + "localeLanguage": { + "inherited": false, + "value": "en", + }, + "loginReasonMap": { + "inherited": false, + "value": {}, + }, + "loginReasonParameterName": { + "inherited": false, + }, + "portCheckEnabled": { + "inherited": false, + "value": false, + }, + "portCheckFile": { + "inherited": false, + "value": "PortCheckContent.txt", + }, + "portCheckSetting": { + "inherited": false, + "value": { + "443": "https", + }, + }, + "unwantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "unwantedHttpUrlRegexParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlParams": { + "inherited": false, + "value": [ + "", + ], + }, + "wantedHttpUrlRegexParams": { + "inherited": false, + "value": [ + "", + ], + }, + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": { + "inherited": false, + "value": false, + }, + "acceptSsoTokenDomainList": { + "inherited": false, + "value": [ + "", + ], + }, + "acceptSsoTokenEnabled": { + "inherited": false, + "value": false, + }, + "authExchangeCookieName": { + "inherited": false, + }, + "authExchangeUri": { + "inherited": false, + }, + "cdssoDomainList": { + "inherited": false, + "value": [ + "", + ], + }, + "cdssoRedirectUri": { + "inherited": false, + "value": "/agent/post-authn-redirect", + }, + "cdssoSecureCookies": { + "inherited": false, + "value": false, + }, + "cookieResetDomains": { "inherited": false, - "value": "/agent/sunwLegacySupportURI", + "value": {}, }, - "legacyUserAgentList": { + "cookieResetEnabled": { + "inherited": false, + "value": false, + }, + "cookieResetNames": { "inherited": false, "value": [ - "Mozilla/4.7*", + "", ], }, - "legacyUserAgentSupport": { + "cookieResetPaths": { + "inherited": false, + "value": {}, + }, + "encodeCookies": { "inherited": false, "value": false, }, - "localeCountry": { + "excludedUserAgentsList": { "inherited": false, - "value": "US", + "value": [], }, - "localeLanguage": { + "httpOnly": { "inherited": false, - "value": "en", + "value": true, }, - "loginReasonMap": { + "setCookieAttributeMap": { "inherited": false, "value": {}, }, - "loginReasonParameterName": { + "setCookieInternalMap": { "inherited": false, + "value": {}, }, - "portCheckEnabled": { - "inherited": false, - "value": false, + }, +} +`; + +exports[`AgentOps Cloud Tests readJavaAgents() 1: Read java agents 1`] = ` +[ + { + "_id": "frodo-test-java-agent", + "_rev": "1131793354", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", }, - "portCheckFile": { - "inherited": false, - "value": "PortCheckContent.txt", + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ + "", + ], + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ + "", + ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "portCheckSetting": { - "inherited": false, - "value": { - "443": "https", + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "", + ], + "conditionalLogoutUrl": [ + "", + ], + "customLoginEnabled": false, + "legacyLoginUrlList": [ + "", + ], + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ + "", + ], + "urlPolicyEnvJsessionParameters": [ + "", + ], + "urlPolicyEnvPostParameters": [ + "", + ], + }, + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": true, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testurl.com:8080/", + ], + "configurationReloadInterval": 0, + "customResponseHeader": {}, + "debugLevel": "error", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "ALL", + }, + "fqdnCheck": false, + "fqdnDefault": "testurl.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/agent/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "8080": "http", }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], + }, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agent/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, + }, + }, + { + "_id": "FrodoOpsTestJavaAgent9", + "_rev": "362051141", + "_type": { + "_id": "J2EEAgent", + "collection": true, + "name": "J2EE Agents", }, - "unwantedHttpUrlParams": { - "inherited": false, - "value": [ + "advancedJ2EEAgentConfig": { + "alternativeAgentHostname": null, + "alternativeAgentPort": null, + "alternativeAgentProtocol": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "expiredSessionCacheSize": 500, + "expiredSessionCacheTTL": 20, + "fragmentRelayUri": null, + "idleTimeRefreshWindow": 1, + "jwtCacheSize": 5000, + "jwtCacheTTL": 30, + "missingPostDataPreservationEntryUri": [ "", ], - }, - "unwantedHttpUrlRegexParams": { - "inherited": false, - "value": [ + "monitoringToCSV": false, + "policyCachePerUser": 50, + "policyCacheSize": 5000, + "policyClientPollingInterval": 3, + "possibleXssCodeElements": [ "", ], + "postDataCacheTtlMin": 5, + "postDataPreservation": false, + "postDataPreserveCacheEntryMaxEntries": 1000, + "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, + "postDataStickySessionKeyValue": null, + "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, + "sessionCacheTTL": 15, + "ssoExchangeCacheSize": 100, + "ssoExchangeCacheTTL": 5, + "xssDetectionRedirectUri": {}, }, - "wantedHttpUrlParams": { - "inherited": false, - "value": [ + "amServicesJ2EEAgent": { + "agentAdviceEncode": false, + "amLoginUrl": [], + "authServiceHost": "openam-volker-dev.forgeblocks.com", + "authServicePort": 443, + "authServiceProtocol": "https", + "authSuccessRedirectUrl": false, + "conditionalLoginUrl": [ + "|?realm=/alpha", + ], + "conditionalLogoutUrl": [ "", ], - }, - "wantedHttpUrlRegexParams": { - "inherited": false, - "value": [ + "customLoginEnabled": false, + "legacyLoginUrlList": [ "", ], - }, - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": { - "inherited": false, - "value": false, - }, - "acceptSsoTokenDomainList": { - "inherited": false, - "value": [ + "overridePolicyEvaluationRealmEnabled": false, + "policyEvaluationApplication": "apps", + "policyEvaluationRealm": "/alpha", + "policyNotifications": true, + "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + "urlPolicyEnvGetParameters": [ "", ], - }, - "acceptSsoTokenEnabled": { - "inherited": false, - "value": false, - }, - "authExchangeCookieName": { - "inherited": false, - }, - "authExchangeUri": { - "inherited": false, - }, - "cdssoDomainList": { - "inherited": false, - "value": [ + "urlPolicyEnvJsessionParameters": [ "", ], - }, - "cdssoRedirectUri": { - "inherited": false, - "value": "/agent/post-authn-redirect", - }, - "cdssoSecureCookies": { - "inherited": false, - "value": false, - }, - "cookieResetDomains": { - "inherited": false, - "value": {}, - }, - "cookieResetEnabled": { - "inherited": false, - "value": false, - }, - "cookieResetNames": { - "inherited": false, - "value": [ + "urlPolicyEnvPostParameters": [ "", ], }, - "cookieResetPaths": { - "inherited": false, - "value": {}, - }, - "encodeCookies": { - "inherited": false, - "value": false, - }, - "excludedUserAgentsList": { - "inherited": false, - "value": [], + "applicationJ2EEAgentConfig": { + "applicationLogoutUris": {}, + "clientIpValidationMode": { + "": "OFF", + }, + "clientIpValidationRange": {}, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "cookieAttributeMultiValueSeparator": "|", + "cookieAttributeUrlEncoded": true, + "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", + "invertNotEnforcedIps": false, + "invertNotEnforcedUris": false, + "logoutEntryUri": {}, + "logoutIntrospection": false, + "logoutRequestParameters": {}, + "notEnforcedFavicon": true, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsCacheEnabled": true, + "notEnforcedIpsCacheSize": 1000, + "notEnforcedRuleCompoundSeparator": "|", + "notEnforcedUris": [ + "", + ], + "notEnforcedUrisCacheEnabled": true, + "notEnforcedUrisCacheSize": 1000, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "resourceAccessDeniedUri": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, }, - "httpOnly": { - "inherited": false, - "value": true, + "globalJ2EEAgentConfig": { + "agentConfigChangeNotificationsEnabled": false, + "agentgroup": null, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "ALL", + "cdssoRootUrl": [ + "agentRootURL=http://localhost:8080/", + "agentRootURL=https://apps2.mytestrun.com:443/", + ], + "configurationReloadInterval": 10, + "customResponseHeader": {}, + "debugLevel": "message", + "debugLogfilePrefix": null, + "debugLogfileRetentionCount": -1, + "debugLogfileRotationMinutes": -1, + "debugLogfileRotationSize": 52428800, + "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "filterMode": { + "": "URL_POLICY", + }, + "fqdnCheck": false, + "fqdnDefault": "apps2.mytestrun.com", + "fqdnMapping": {}, + "httpSessionBinding": true, + "jwtName": "am-auth-jwt", + "lbCookieEnabled": false, + "lbCookieName": "amlbcookie", + "localAuditLogRotation": false, + "localAuditLogfileRetentionCount": -1, + "localAuditRotationSize": 52428800, + "loginAttemptLimit": 0, + "loginAttemptLimitCookieName": "amFilterParam", + "preAuthCookieMaxAge": 300, + "preAuthCookieName": "amFilterCDSSORequest", + "recheckAmUnavailabilityInSeconds": 5, + "redirectAttemptLimit": 0, + "redirectAttemptLimitCookieName": "amFilterRDParam", + "repositoryLocation": "centralized", + "secretLabelIdentifier": null, + "status": "Active", + "userAttributeName": "uid", + "userMappingMode": "USER_ID", + "userPrincipalFlag": false, + "userTokenName": "UserToken", + "webSocketConnectionIntervalInMinutes": 30, }, - "setCookieAttributeMap": { - "inherited": false, - "value": {}, + "miscJ2EEAgentConfig": { + "agent302RedirectContentType": "application/json", + "agent302RedirectEnabled": true, + "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", + "agent302RedirectInvertEnabled": false, + "agent302RedirectNerList": [ + "", + ], + "agent302RedirectStatusCode": 200, + "authFailReasonParameterName": null, + "authFailReasonParameterRemapper": {}, + "authFailReasonUrl": null, + "gotoParameterName": "goto", + "gotoUrl": null, + "ignorePathInfo": false, + "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyUserAgentList": [ + "Mozilla/4.7*", + ], + "legacyUserAgentSupport": false, + "localeCountry": "US", + "localeLanguage": "en", + "loginReasonMap": {}, + "loginReasonParameterName": null, + "portCheckEnabled": false, + "portCheckFile": "PortCheckContent.txt", + "portCheckSetting": { + "443": "https", + }, + "unwantedHttpUrlParams": [ + "", + ], + "unwantedHttpUrlRegexParams": [ + "", + ], + "wantedHttpUrlParams": [ + "", + ], + "wantedHttpUrlRegexParams": [ + "", + ], }, - "setCookieInternalMap": { - "inherited": false, - "value": {}, + "ssoJ2EEAgentConfig": { + "acceptIPDPCookie": false, + "acceptSsoTokenDomainList": [ + "", + ], + "acceptSsoTokenEnabled": false, + "authExchangeCookieName": null, + "authExchangeUri": null, + "cdssoDomainList": [ + "", + ], + "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoSecureCookies": false, + "cookieResetDomains": {}, + "cookieResetEnabled": false, + "cookieResetNames": [ + "", + ], + "cookieResetPaths": {}, + "encodeCookies": false, + "excludedUserAgentsList": [], + "httpOnly": true, + "setCookieAttributeMap": {}, + "setCookieInternalMap": {}, }, }, -} -`; - -exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` -[ { - "_id": "FrodoOpsTestJavaAgent9", - "_rev": "-1751269048", + "_id": "FrodoOpsTestJavaAgent7", + "_rev": "362051135", "_type": { "_id": "J2EEAgent", "collection": true, @@ -11376,8 +15639,11 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -11405,6 +15671,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -11489,6 +15756,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -11565,8 +15833,8 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` }, }, { - "_id": "FrodoOpsTestJavaAgent7", - "_rev": "-1751269054", + "_id": "FrodoOpsTestJavaAgent8", + "_rev": "362051136", "_type": { "_id": "J2EEAgent", "collection": true, @@ -11599,8 +15867,11 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -11628,6 +15899,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "policyEvaluationRealm": "/alpha", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -11712,6 +15984,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "uid", "userMappingMode": "USER_ID", @@ -11788,8 +16061,8 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` }, }, { - "_id": "FrodoOpsTestJavaAgent8", - "_rev": "-1751269053", + "_id": "frodo-test-java-agent2", + "_rev": "561894916", "_type": { "_id": "J2EEAgent", "collection": true, @@ -11822,8 +16095,11 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -11832,12 +16108,12 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "amServicesJ2EEAgent": { "agentAdviceEncode": false, "amLoginUrl": [], - "authServiceHost": "openam-volker-dev.forgeblocks.com", - "authServicePort": 443, - "authServiceProtocol": "https", + "authServiceHost": "testurl.com", + "authServicePort": 8080, + "authServiceProtocol": "http", "authSuccessRedirectUrl": false, "conditionalLoginUrl": [ - "|?realm=/alpha", + "", ], "conditionalLogoutUrl": [ "", @@ -11847,10 +16123,11 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "", ], "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "apps", - "policyEvaluationRealm": "/alpha", + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -11898,27 +16175,26 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "sessionAttributeMap": {}, }, "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": false, + "agentConfigChangeNotificationsEnabled": true, "agentgroup": null, "auditAccessType": "LOG_NONE", - "auditLogLocation": "ALL", + "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=http://localhost:8080/", - "agentRootURL=https://apps2.mytestrun.com:443/", + "agentRootURL=http://testurl.com:8080/", ], - "configurationReloadInterval": 10, + "configurationReloadInterval": 0, "customResponseHeader": {}, - "debugLevel": "message", + "debugLevel": "error", "debugLogfilePrefix": null, "debugLogfileRetentionCount": -1, "debugLogfileRotationMinutes": -1, "debugLogfileRotationSize": 52428800, "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", "filterMode": { - "": "URL_POLICY", + "": "ALL", }, "fqdnCheck": false, - "fqdnDefault": "apps2.mytestrun.com", + "fqdnDefault": "testurl.com", "fqdnMapping": {}, "httpSessionBinding": true, "jwtName": "am-auth-jwt", @@ -11935,8 +16211,9 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", - "status": "Active", - "userAttributeName": "uid", + "secretLabelIdentifier": null, + "status": "Inactive", + "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", "userPrincipalFlag": false, "userTokenName": "UserToken", @@ -11957,7 +16234,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "gotoParameterName": "goto", "gotoUrl": null, "ignorePathInfo": false, - "legacyRedirectUri": "/app1/sunwLegacySupportURI", + "legacyRedirectUri": "/agent/sunwLegacySupportURI", "legacyUserAgentList": [ "Mozilla/4.7*", ], @@ -11969,7 +16246,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "portCheckEnabled": false, "portCheckFile": "PortCheckContent.txt", "portCheckSetting": { - "443": "https", + "8080": "http", }, "unwantedHttpUrlParams": [ "", @@ -11995,7 +16272,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "cdssoDomainList": [ "", ], - "cdssoRedirectUri": "/agentapp/post-authn-redirect", + "cdssoRedirectUri": "/agent/post-authn-redirect", "cdssoSecureCookies": false, "cookieResetDomains": {}, "cookieResetEnabled": false, @@ -12012,7 +16289,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` }, { "_id": "FrodoOpsTestJavaAgent1", - "_rev": "542636718", + "_rev": "2117055915", "_type": { "_id": "J2EEAgent", "collection": true, @@ -12045,8 +16322,11 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "postDataPreservation": false, "postDataPreserveCacheEntryMaxEntries": 1000, "postDataPreserveCacheEntryMaxTotalSizeMb": -1, + "postDataPreserveMultipartLimitBytes": 104857600, + "postDataPreserveMultipartParameterLimitBytes": 104857600, "postDataStickySessionKeyValue": null, "postDataStickySessionMode": "URL", + "retainPreviousOverrideBehavior": true, "sessionCacheTTL": 15, "ssoExchangeCacheSize": 100, "ssoExchangeCacheTTL": 5, @@ -12074,6 +16354,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "policyEvaluationRealm": "/", "policyNotifications": true, "restrictToRealm": {}, + "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", "urlPolicyEnvGetParameters": [ "", ], @@ -12157,6 +16438,7 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` "redirectAttemptLimit": 0, "redirectAttemptLimitCookieName": "amFilterRDParam", "repositoryLocation": "centralized", + "secretLabelIdentifier": null, "status": "Active", "userAttributeName": "employeenumber", "userMappingMode": "USER_ID", @@ -12235,10 +16517,10 @@ exports[`AgentOps readJavaAgents() 1: Read java agents 1`] = ` ] `; -exports[`AgentOps readWebAgent() 1: Read WebAgent 'FrodoOpsTestWebAgent1' 1`] = ` +exports[`AgentOps Cloud Tests readWebAgent() 1: Read WebAgent 'FrodoOpsTestWebAgent1' 1`] = ` { "_id": "FrodoOpsTestWebAgent1", - "_rev": "-56934604", + "_rev": "-696084654", "_type": { "_id": "WebAgent", "collection": true, @@ -12578,6 +16860,9 @@ exports[`AgentOps readWebAgent() 1: Read WebAgent 'FrodoOpsTestWebAgent1' 1`] = "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, @@ -12665,68 +16950,231 @@ exports[`AgentOps readWebAgent() 1: Read WebAgent 'FrodoOpsTestWebAgent1' 1`] = "", ], }, - }, - "ssoWebAgentConfig": { - "acceptSsoToken": { - "inherited": false, - "value": false, - }, - "cdssoCookieDomain": { - "inherited": false, - "value": [ + }, + "ssoWebAgentConfig": { + "acceptSsoToken": { + "inherited": false, + "value": false, + }, + "cdssoCookieDomain": { + "inherited": false, + "value": [ + "", + ], + }, + "cdssoRedirectUri": { + "inherited": false, + "value": "agent/cdsso-oauth2", + }, + "cookieName": { + "inherited": false, + "value": "iPlanetDirectoryPro", + }, + "cookieResetEnabled": { + "inherited": false, + "value": false, + }, + "cookieResetList": { + "inherited": false, + "value": [ + "", + ], + }, + "cookieResetOnRedirect": { + "inherited": false, + "value": false, + }, + "httpOnly": { + "inherited": false, + "value": true, + }, + "multivaluePreAuthnCookie": { + "inherited": false, + "value": false, + }, + "persistentJwtCookie": { + "inherited": false, + "value": false, + }, + "sameSite": { + "inherited": false, + }, + "secureCookies": { + "inherited": false, + "value": false, + }, + }, +} +`; + +exports[`AgentOps Cloud Tests readWebAgents() 1: Read web agents 1`] = ` +[ + { + "_id": "FrodoOpsTestWebAgent7", + "_rev": "1774890626", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": null, + "policyEvaluationRealm": "/alpha", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=https://www.mytestrun.com:443/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "www.mytestrun.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Active", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ "", ], - }, - "cdssoRedirectUri": { - "inherited": false, - "value": "agent/cdsso-oauth2", - }, - "cookieName": { - "inherited": false, - "value": "iPlanetDirectoryPro", - }, - "cookieResetEnabled": { - "inherited": false, - "value": false, - }, - "cookieResetList": { - "inherited": false, - "value": [ + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ "", ], - }, - "cookieResetOnRedirect": { - "inherited": false, - "value": false, - }, - "httpOnly": { - "inherited": false, - "value": true, - }, - "multivaluePreAuthnCookie": { - "inherited": false, - "value": false, - }, - "persistentJwtCookie": { - "inherited": false, - "value": false, - }, - "sameSite": { - "inherited": false, - }, - "secureCookies": { - "inherited": false, - "value": false, + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, }, }, -} -`; - -exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` -[ { - "_id": "FrodoOpsTestWebAgent7", - "_rev": "-267938687", + "_id": "FrodoOpsTestWebAgent8", + "_rev": "1774890627", "_type": { "_id": "WebAgent", "collection": true, @@ -12841,6 +17289,7 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -12887,8 +17336,8 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` }, }, { - "_id": "FrodoOpsTestWebAgent8", - "_rev": "-267938686", + "_id": "frodo-test-web-agent2", + "_rev": "930101313", "_type": { "_id": "WebAgent", "collection": true, @@ -12921,13 +17370,13 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "amServicesWebAgent": { "amLoginUrl": [], "amLogoutUrl": [ - "https://openam-volker-dev.forgeblocks.com:443/am/UI/Logout", + "http://testserverurl.com:8080/UI/Logout", ], "applicationLogoutUrls": [ "", ], "conditionalLoginUrl": [ - "|https://openam-volker-dev.forgeblocks.com:443/am/oauth2/authorize?realm=/alpha", + "", ], "customLoginMode": 0, "enableLogoutRegex": false, @@ -12941,8 +17390,8 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "logoutUrlRegex": null, "policyCachePollingInterval": 3, "policyClockSkew": 0, - "policyEvaluationApplication": null, - "policyEvaluationRealm": "/alpha", + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", "publicAmUrl": null, "regexConditionalLoginPattern": [ "", @@ -12985,26 +17434,27 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "accessDeniedUrl": null, "agentConfigChangeNotificationsEnabled": true, "agentDebugLevel": "Error", - "agentUriPrefix": "https://www.mytestrun.com:443/amagent", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", "agentgroup": null, "amLbCookieEnable": false, "auditAccessType": "LOG_NONE", "auditLogLocation": "REMOTE", "cdssoRootUrl": [ - "agentRootURL=https://www.mytestrun.com:443/", + "agentRootURL=http://testagenturl.com:8080/", ], "configurationPollingInterval": 60, "disableJwtAudit": false, "fqdnCheck": false, - "fqdnDefault": "www.mytestrun.com", + "fqdnDefault": "testagenturl.com", "fqdnMapping": {}, "jwtAuditWhitelist": null, "jwtName": "am-auth-jwt", "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, - "status": "Active", + "status": "Inactive", "webSocketConnectionIntervalInMinutes": 30, }, "miscWebAgentConfig": { @@ -13050,7 +17500,7 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` }, { "_id": "FrodoOpsTestWebAgent9", - "_rev": "-267938689", + "_rev": "1774890624", "_type": { "_id": "WebAgent", "collection": true, @@ -13165,6 +17615,7 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -13210,9 +17661,172 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "secureCookies": false, }, }, + { + "_id": "frodo-test-web-agent", + "_rev": "218393939", + "_type": { + "_id": "WebAgent", + "collection": true, + "name": "Web Agents", + }, + "advancedWebAgentConfig": { + "apacheAuthDirectives": null, + "clientHostnameHeader": null, + "clientIpHeader": null, + "customProperties": [], + "fragmentRedirectEnabled": false, + "hostnameToIpAddress": [], + "logonAndImpersonation": false, + "overrideRequestHost": false, + "overrideRequestPort": false, + "overrideRequestProtocol": false, + "pdpJavascriptRepost": false, + "pdpSkipPostUrl": [ + "", + ], + "pdpStickySessionCookieName": null, + "pdpStickySessionMode": "OFF", + "pdpStickySessionValue": null, + "postDataCachePeriod": 10, + "postDataPreservation": false, + "replayPasswordKey": null, + "retainSessionCache": false, + "showPasswordInHeader": false, + }, + "amServicesWebAgent": { + "amLoginUrl": [], + "amLogoutUrl": [ + "http://testserverurl.com:8080/UI/Logout", + ], + "applicationLogoutUrls": [ + "", + ], + "conditionalLoginUrl": [ + "", + ], + "customLoginMode": 0, + "enableLogoutRegex": false, + "fetchPoliciesFromRootResource": false, + "invalidateLogoutSession": true, + "logoutRedirectDisabled": false, + "logoutRedirectUrl": null, + "logoutResetCookies": [ + "", + ], + "logoutUrlRegex": null, + "policyCachePollingInterval": 3, + "policyClockSkew": 0, + "policyEvaluationApplication": "iPlanetAMWebAgentService", + "policyEvaluationRealm": "/", + "publicAmUrl": null, + "regexConditionalLoginPattern": [ + "", + ], + "regexConditionalLoginUrl": [ + "", + ], + "retrieveClientHostname": false, + "ssoCachePollingInterval": 3, + "userIdParameter": "UserToken", + "userIdParameterType": "session", + }, + "applicationWebAgentConfig": { + "attributeMultiValueSeparator": "|", + "clientIpValidation": false, + "continuousSecurityCookies": {}, + "continuousSecurityHeaders": {}, + "fetchAttributesForNotEnforcedUrls": false, + "ignorePathInfoForNotEnforcedUrls": true, + "invertNotEnforcedUrls": false, + "notEnforcedIps": [ + "", + ], + "notEnforcedIpsList": [ + "", + ], + "notEnforcedIpsRegex": false, + "notEnforcedUrls": [ + "", + ], + "notEnforcedUrlsRegex": false, + "profileAttributeFetchMode": "NONE", + "profileAttributeMap": {}, + "responseAttributeFetchMode": "NONE", + "responseAttributeMap": {}, + "sessionAttributeFetchMode": "NONE", + "sessionAttributeMap": {}, + }, + "globalWebAgentConfig": { + "accessDeniedUrl": null, + "agentConfigChangeNotificationsEnabled": true, + "agentDebugLevel": "Error", + "agentUriPrefix": "http://testagenturl.com:8080/amagent", + "agentgroup": null, + "amLbCookieEnable": false, + "auditAccessType": "LOG_NONE", + "auditLogLocation": "REMOTE", + "cdssoRootUrl": [ + "agentRootURL=http://testagenturl.com:8080/", + ], + "configurationPollingInterval": 60, + "disableJwtAudit": false, + "fqdnCheck": false, + "fqdnDefault": "testagenturl.com", + "fqdnMapping": {}, + "jwtAuditWhitelist": null, + "jwtName": "am-auth-jwt", + "notificationsEnabled": true, + "repositoryLocation": "centralized", + "resetIdleTime": false, + "secretLabelIdentifier": null, + "ssoOnlyMode": false, + "status": "Inactive", + "webSocketConnectionIntervalInMinutes": 30, + }, + "miscWebAgentConfig": { + "addCacheControlHeader": false, + "anonymousUserEnabled": false, + "anonymousUserId": "anonymous", + "caseInsensitiveUrlComparison": true, + "compositeAdviceEncode": false, + "compositeAdviceRedirect": false, + "encodeSpecialCharsInCookies": false, + "encodeUrlSpecialCharacters": false, + "gotoParameterName": "goto", + "headerJsonResponse": {}, + "ignorePathInfo": false, + "invalidUrlRegex": null, + "invertUrlJsonResponse": false, + "mineEncodeHeader": 0, + "profileAttributesCookieMaxAge": 300, + "profileAttributesCookiePrefix": "HTTP_", + "statusCodeJsonResponse": 202, + "urlJsonResponse": [ + "", + ], + }, + "ssoWebAgentConfig": { + "acceptSsoToken": false, + "cdssoCookieDomain": [ + "", + ], + "cdssoRedirectUri": "agent/cdsso-oauth2", + "cookieName": "iPlanetDirectoryPro", + "cookieResetEnabled": false, + "cookieResetList": [ + "", + ], + "cookieResetOnRedirect": false, + "httpOnly": true, + "multivaluePreAuthnCookie": false, + "persistentJwtCookie": false, + "sameSite": null, + "secureCookies": false, + }, + }, { "_id": "FrodoOpsTestWebAgent1", - "_rev": "1391805111", + "_rev": "-1011057588", "_type": { "_id": "WebAgent", "collection": true, @@ -13330,6 +17944,7 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` "notificationsEnabled": true, "repositoryLocation": "centralized", "resetIdleTime": false, + "secretLabelIdentifier": null, "ssoOnlyMode": false, "status": "Active", "webSocketConnectionIntervalInMinutes": 30, @@ -13378,10 +17993,10 @@ exports[`AgentOps readWebAgents() 1: Read web agents 1`] = ` ] `; -exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' 1`] = ` +exports[`AgentOps Cloud Tests uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' 1`] = ` { "_id": "FrodoOpsTestJavaAgent2", - "_rev": "-1750716182", + "_rev": "404270524", "_type": { "_id": "J2EEAgent", "collection": true, @@ -13474,6 +18089,14 @@ exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' "inherited": false, "value": -1, }, + "postDataPreserveMultipartLimitBytes": { + "inherited": false, + "value": 104857600, + }, + "postDataPreserveMultipartParameterLimitBytes": { + "inherited": false, + "value": 104857600, + }, "postDataStickySessionKeyValue": { "inherited": false, }, @@ -13481,6 +18104,10 @@ exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' "inherited": false, "value": "URL", }, + "retainPreviousOverrideBehavior": { + "inherited": false, + "value": true, + }, "sessionCacheTTL": { "inherited": false, "value": 15, @@ -13565,6 +18192,10 @@ exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' "inherited": false, "value": {}, }, + "strategyWhenAMUnavailable": { + "inherited": false, + "value": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", + }, "urlPolicyEnvGetParameters": { "inherited": false, "value": [ @@ -13830,6 +18461,9 @@ exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' "value": "amFilterRDParam", }, "repositoryLocation": "centralized", + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -14048,10 +18682,10 @@ exports[`AgentOps uodateJavaAgent() 1: Update J2EEAgent 'FrodoOpsTestJavaAgent2' } `; -exports[`AgentOps updateIdentityGatewayAgent() 1: Update IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2' 1`] = ` +exports[`AgentOps Cloud Tests updateIdentityGatewayAgent() 1: Update IdentityGatewayAgent 'FrodoOpsTestGatewayAgent2' 1`] = ` { "_id": "FrodoOpsTestGatewayAgent2", - "_rev": "-17061458", + "_rev": "81854864", "_type": { "_id": "IdentityGatewayAgent", "collection": true, @@ -14068,6 +18702,9 @@ exports[`AgentOps updateIdentityGatewayAgent() 1: Update IdentityGatewayAgent 'F "inherited": false, "value": "Realm_Subs", }, + "secretLabelIdentifier": { + "inherited": false, + }, "status": { "inherited": false, "value": "Active", @@ -14075,10 +18712,10 @@ exports[`AgentOps updateIdentityGatewayAgent() 1: Update IdentityGatewayAgent 'F } `; -exports[`AgentOps updateWebAgent() 1: Update WebAgent 'FrodoOpsTestWebAgent2' 1`] = ` +exports[`AgentOps Cloud Tests updateWebAgent() 1: Update WebAgent 'FrodoOpsTestWebAgent2' 1`] = ` { "_id": "FrodoOpsTestWebAgent2", - "_rev": "528305929", + "_rev": "426296999", "_type": { "_id": "WebAgent", "collection": true, @@ -14414,6 +19051,9 @@ exports[`AgentOps updateWebAgent() 1: Update WebAgent 'FrodoOpsTestWebAgent2' 1` "inherited": false, "value": false, }, + "secretLabelIdentifier": { + "inherited": false, + }, "ssoOnlyMode": { "inherited": false, "value": false, diff --git a/src/test/snapshots/ops/AuthenticationSettingsOps.test.js.snap b/src/test/snapshots/ops/AuthenticationSettingsOps.test.js.snap index 1e72f86e4..13e322995 100644 --- a/src/test/snapshots/ops/AuthenticationSettingsOps.test.js.snap +++ b/src/test/snapshots/ops/AuthenticationSettingsOps.test.js.snap @@ -1,17 +1,380 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AuthenticationSettingsOps createAuthenticationSettingsExportTemplate() 1: Create AuthenticationSettings Export Template 1`] = ` +exports[`AuthenticationSettingsOps Classic Tests exportAuthenticationSettings() 2: Export Global AuthenticationSettings 1`] = ` +{ + "authentication": { + "_id": "", + "_type": { + "_id": "EMPTY", + "collection": false, + "name": "Core", + }, + "authenticators": [ + "com.sun.identity.authentication.modules.ad.AD", + "org.forgerock.openam.authentication.modules.saml2.SAML2", + "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", + "org.forgerock.openam.authentication.modules.oath.OATH", + "org.forgerock.openam.authentication.modules.social.SocialAuthVK", + "com.sun.identity.authentication.modules.membership.Membership", + "com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave", + "com.sun.identity.authentication.modules.federation.Federation", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", + "com.sun.identity.authentication.modules.jdbc.JDBC", + "com.sun.identity.authentication.modules.radius.RADIUS", + "com.sun.identity.authentication.modules.anonymous.Anonymous", + "com.sun.identity.authentication.modules.cert.Cert", + "org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration", + "com.sun.identity.authentication.modules.httpbasic.HTTPBasic", + "org.forgerock.openam.authentication.modules.oidc.OpenIdConnect", + "com.sun.identity.authentication.modules.sae.SAE", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChat", + "org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie", + "org.forgerock.openam.authentication.modules.social.SocialAuthTwitter", + "com.sun.identity.authentication.modules.ldap.LDAP", + "org.forgerock.openam.authentication.modules.push.AuthenticatorPush", + "org.forgerock.openam.authentication.modules.oauth2.OAuth", + "com.sun.identity.authentication.modules.nt.NT", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile", + "org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession", + "com.sun.identity.authentication.modules.application.Application", + "org.forgerock.openam.authentication.modules.scripted.Scripted", + "org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2", + "com.sun.identity.authentication.modules.hotp.HOTP", + "org.forgerock.openam.authentication.modules.adaptive.Adaptive", + "org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck", + "org.forgerock.openam.authentication.modules.social.SocialAuthOpenID", + "com.sun.identity.authentication.modules.msisdn.MSISDN", + "org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH", + "com.sun.identity.authentication.modules.datastore.DataStore", + "com.sun.identity.authentication.modules.securid.SecurID", + "org.forgerock.openam.authentication.modules.amster.Amster", + ], + "defaults": { + "accountlockout": { + "lockoutDuration": 0, + "lockoutDurationMultiplier": 1, + "lockoutWarnUserCount": 0, + "loginFailureCount": 5, + "loginFailureDuration": 300, + "loginFailureLockoutMode": false, + "storeInvalidAttemptsInDataStore": true, + }, + "core": { + "adminAuthModule": "[Empty]", + "orgConfig": "[Empty]", + }, + "general": { + "defaultAuthLevel": 0, + "identityType": [ + "agent", + "user", + ], + "locale": "en_US", + "statelessSessionsEnabled": false, + "twoFactorRequired": false, + "userStatusCallbackPlugins": [], + }, + "postauthprocess": { + "loginFailureUrl": [], + "loginPostProcessClass": [], + "loginSuccessUrl": [ + "/am/console", + ], + "userAttributeSessionMapping": [], + "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", + "usernameGeneratorEnabled": true, + }, + "security": { + "addClearSiteDataHeader": true, + "moduleBasedAuthEnabled": true, + "sharedSecret": null, + "zeroPageLoginAllowedWithoutReferrer": true, + "zeroPageLoginEnabled": false, + "zeroPageLoginReferrerWhiteList": [], + }, + "trees": { + "authenticationSessionsMaxDuration": 5, + "authenticationSessionsStateManagement": "JWT", + "authenticationSessionsWhitelist": false, + "authenticationTreeCookieHttpOnly": true, + "suspendedAuthenticationTimeout": 5, + }, + "userprofile": { + "aliasAttributeName": [], + "defaultRole": [], + "dynamicProfileCreation": "false", + }, + }, + "keepPostProcessInstances": false, + "ldapConnectionPoolDefaultSize": "1:10", + "ldapConnectionPoolSize": [], + "remoteAuthSecurityEnabled": false, + }, + "meta": Any, +} +`; + +exports[`AuthenticationSettingsOps Classic Tests exportAuthenticationSettings() 3: Export Realm AuthenticationSettings 1`] = ` +{ + "authentication": { + "_id": "", + "_type": { + "_id": "EMPTY", + "collection": false, + "name": "Core", + }, + "accountlockout": { + "lockoutDuration": 0, + "lockoutDurationMultiplier": 1, + "lockoutWarnUserCount": 0, + "loginFailureCount": 5, + "loginFailureDuration": 300, + "loginFailureLockoutMode": false, + "storeInvalidAttemptsInDataStore": true, + }, + "core": { + "adminAuthModule": "ldapService", + "orgConfig": "ldapService", + }, + "general": { + "defaultAuthLevel": 0, + "identityType": [ + "agent", + "user", + ], + "locale": "en_US", + "statelessSessionsEnabled": false, + "twoFactorRequired": false, + "userStatusCallbackPlugins": [], + }, + "postauthprocess": { + "loginFailureUrl": [], + "loginPostProcessClass": [], + "loginSuccessUrl": [ + "/am/console", + ], + "userAttributeSessionMapping": [], + "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", + "usernameGeneratorEnabled": true, + }, + "security": { + "addClearSiteDataHeader": true, + "moduleBasedAuthEnabled": true, + "sharedSecret": null, + "zeroPageLoginAllowedWithoutReferrer": true, + "zeroPageLoginEnabled": false, + "zeroPageLoginReferrerWhiteList": [], + }, + "trees": { + "authenticationSessionsMaxDuration": 5, + "authenticationSessionsStateManagement": "JWT", + "authenticationSessionsWhitelist": false, + "authenticationTreeCookieHttpOnly": true, + "suspendedAuthenticationTimeout": 5, + }, + "userprofile": { + "aliasAttributeName": [ + "uid", + ], + "defaultRole": [], + "dynamicProfileCreation": "false", + }, + }, + "meta": Any, +} +`; + +exports[`AuthenticationSettingsOps Classic Tests readAuthenticationSettings() 2: Read Global AuthenticationSettings 1`] = ` +{ + "_id": "", + "_type": { + "_id": "EMPTY", + "collection": false, + "name": "Core", + }, + "authenticators": [ + "com.sun.identity.authentication.modules.ad.AD", + "org.forgerock.openam.authentication.modules.saml2.SAML2", + "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", + "org.forgerock.openam.authentication.modules.oath.OATH", + "org.forgerock.openam.authentication.modules.social.SocialAuthVK", + "com.sun.identity.authentication.modules.membership.Membership", + "com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave", + "com.sun.identity.authentication.modules.federation.Federation", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", + "com.sun.identity.authentication.modules.jdbc.JDBC", + "com.sun.identity.authentication.modules.radius.RADIUS", + "com.sun.identity.authentication.modules.anonymous.Anonymous", + "com.sun.identity.authentication.modules.cert.Cert", + "org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration", + "com.sun.identity.authentication.modules.httpbasic.HTTPBasic", + "org.forgerock.openam.authentication.modules.oidc.OpenIdConnect", + "com.sun.identity.authentication.modules.sae.SAE", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChat", + "org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie", + "org.forgerock.openam.authentication.modules.social.SocialAuthTwitter", + "com.sun.identity.authentication.modules.ldap.LDAP", + "org.forgerock.openam.authentication.modules.push.AuthenticatorPush", + "org.forgerock.openam.authentication.modules.oauth2.OAuth", + "com.sun.identity.authentication.modules.nt.NT", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile", + "org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession", + "com.sun.identity.authentication.modules.application.Application", + "org.forgerock.openam.authentication.modules.scripted.Scripted", + "org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2", + "com.sun.identity.authentication.modules.hotp.HOTP", + "org.forgerock.openam.authentication.modules.adaptive.Adaptive", + "org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck", + "org.forgerock.openam.authentication.modules.social.SocialAuthOpenID", + "com.sun.identity.authentication.modules.msisdn.MSISDN", + "org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH", + "com.sun.identity.authentication.modules.datastore.DataStore", + "com.sun.identity.authentication.modules.securid.SecurID", + "org.forgerock.openam.authentication.modules.amster.Amster", + ], + "defaults": { + "accountlockout": { + "lockoutDuration": 0, + "lockoutDurationMultiplier": 1, + "lockoutWarnUserCount": 0, + "loginFailureCount": 5, + "loginFailureDuration": 300, + "loginFailureLockoutMode": false, + "storeInvalidAttemptsInDataStore": true, + }, + "core": { + "adminAuthModule": "[Empty]", + "orgConfig": "[Empty]", + }, + "general": { + "defaultAuthLevel": 0, + "identityType": [ + "agent", + "user", + ], + "locale": "en_US", + "statelessSessionsEnabled": false, + "twoFactorRequired": false, + "userStatusCallbackPlugins": [], + }, + "postauthprocess": { + "loginFailureUrl": [], + "loginPostProcessClass": [], + "loginSuccessUrl": [ + "/am/console", + ], + "userAttributeSessionMapping": [], + "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", + "usernameGeneratorEnabled": true, + }, + "security": { + "addClearSiteDataHeader": true, + "moduleBasedAuthEnabled": true, + "sharedSecret": null, + "zeroPageLoginAllowedWithoutReferrer": true, + "zeroPageLoginEnabled": false, + "zeroPageLoginReferrerWhiteList": [], + }, + "trees": { + "authenticationSessionsMaxDuration": 5, + "authenticationSessionsStateManagement": "JWT", + "authenticationSessionsWhitelist": false, + "authenticationTreeCookieHttpOnly": true, + "suspendedAuthenticationTimeout": 5, + }, + "userprofile": { + "aliasAttributeName": [], + "defaultRole": [], + "dynamicProfileCreation": "false", + }, + }, + "keepPostProcessInstances": false, + "ldapConnectionPoolDefaultSize": "1:10", + "ldapConnectionPoolSize": [], + "remoteAuthSecurityEnabled": false, +} +`; + +exports[`AuthenticationSettingsOps Classic Tests readAuthenticationSettings() 3: Read Realm AuthenticationSettings 1`] = ` +{ + "_id": "", + "_type": { + "_id": "EMPTY", + "collection": false, + "name": "Core", + }, + "accountlockout": { + "lockoutDuration": 0, + "lockoutDurationMultiplier": 1, + "lockoutWarnUserCount": 0, + "loginFailureCount": 5, + "loginFailureDuration": 300, + "loginFailureLockoutMode": false, + "storeInvalidAttemptsInDataStore": true, + }, + "core": { + "adminAuthModule": "ldapService", + "orgConfig": "ldapService", + }, + "general": { + "defaultAuthLevel": 0, + "identityType": [ + "agent", + "user", + ], + "locale": "en_US", + "statelessSessionsEnabled": false, + "twoFactorRequired": false, + "userStatusCallbackPlugins": [], + }, + "postauthprocess": { + "loginFailureUrl": [], + "loginPostProcessClass": [], + "loginSuccessUrl": [ + "/am/console", + ], + "userAttributeSessionMapping": [], + "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", + "usernameGeneratorEnabled": true, + }, + "security": { + "addClearSiteDataHeader": true, + "moduleBasedAuthEnabled": true, + "sharedSecret": null, + "zeroPageLoginAllowedWithoutReferrer": true, + "zeroPageLoginEnabled": false, + "zeroPageLoginReferrerWhiteList": [], + }, + "trees": { + "authenticationSessionsMaxDuration": 5, + "authenticationSessionsStateManagement": "JWT", + "authenticationSessionsWhitelist": false, + "authenticationTreeCookieHttpOnly": true, + "suspendedAuthenticationTimeout": 5, + }, + "userprofile": { + "aliasAttributeName": [ + "uid", + ], + "defaultRole": [], + "dynamicProfileCreation": "false", + }, +} +`; + +exports[`AuthenticationSettingsOps Cloud Tests createAuthenticationSettingsExportTemplate() 1: Create AuthenticationSettings Export Template 1`] = ` { "authentication": {}, "meta": Any, } `; -exports[`AuthenticationSettingsOps exportAuthenticationSettings() 1: Export Realm AuthenticationSettings 1`] = ` +exports[`AuthenticationSettingsOps Cloud Tests exportAuthenticationSettings() 1: Export Realm AuthenticationSettings 1`] = ` { "authentication": { "_id": "", - "_rev": "-1952817720", "_type": { "_id": "EMPTY", "collection": false, @@ -82,10 +445,9 @@ exports[`AuthenticationSettingsOps exportAuthenticationSettings() 1: Export Real } `; -exports[`AuthenticationSettingsOps readAuthenticationSettings() 1: Read Realm AuthenticationSettings 1`] = ` +exports[`AuthenticationSettingsOps Cloud Tests readAuthenticationSettings() 1: Read Realm AuthenticationSettings 1`] = ` { "_id": "", - "_rev": "-1952817720", "_type": { "_id": "EMPTY", "collection": false, diff --git a/src/test/snapshots/ops/ConfigOps.test.js.snap b/src/test/snapshots/ops/ConfigOps.test.js.snap index dfc2fae78..104676a76 100644 --- a/src/test/snapshots/ops/ConfigOps.test.js.snap +++ b/src/test/snapshots/ops/ConfigOps.test.js.snap @@ -3,12922 +3,13972 @@ exports[`ConfigOps Classic Tests exportFullConfiguration() 3: Export everything with string arrays, decoding variables, including journey coordinates and default scripts 1`] = ` { "global": { - "emailTemplate": undefined, - "idm": undefined, - "mapping": undefined, - "secret": undefined, - "service": { - "ConfigurationVersionService": { - "_id": "", - "_rev": "-77106074", + "agent": { + "AgentService": { + "_id": "AgentService", "_type": { - "_id": "ConfigurationVersionService", + "_id": "AgentService", "collection": false, - "name": "Configuration Version Service", + "name": "AgentService", }, - "appliedRuleIds": [ - "AME-23273", - "AME-21032", - "AME-21768", - ], - "configurationVersion": "8.0.0.0", - "location": "global", - "nextDescendents": [], }, - "CorsService": { + }, + "authentication": { + "_id": "", + "_rev": "-524457684", + "_type": { + "_id": "EMPTY", + "collection": false, + "name": "Core", + }, + "authenticators": [ + "com.sun.identity.authentication.modules.ad.AD", + "org.forgerock.openam.authentication.modules.saml2.SAML2", + "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", + "org.forgerock.openam.authentication.modules.oath.OATH", + "org.forgerock.openam.authentication.modules.social.SocialAuthVK", + "com.sun.identity.authentication.modules.membership.Membership", + "com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave", + "com.sun.identity.authentication.modules.federation.Federation", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", + "com.sun.identity.authentication.modules.jdbc.JDBC", + "com.sun.identity.authentication.modules.radius.RADIUS", + "com.sun.identity.authentication.modules.anonymous.Anonymous", + "com.sun.identity.authentication.modules.cert.Cert", + "org.forgerock.openam.authentication.modules.push.registration.AuthenticatorPushRegistration", + "com.sun.identity.authentication.modules.httpbasic.HTTPBasic", + "org.forgerock.openam.authentication.modules.oidc.OpenIdConnect", + "com.sun.identity.authentication.modules.sae.SAE", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChat", + "org.forgerock.openam.authentication.modules.persistentcookie.PersistentCookie", + "org.forgerock.openam.authentication.modules.social.SocialAuthTwitter", + "com.sun.identity.authentication.modules.ldap.LDAP", + "org.forgerock.openam.authentication.modules.push.AuthenticatorPush", + "org.forgerock.openam.authentication.modules.oauth2.OAuth", + "com.sun.identity.authentication.modules.nt.NT", + "org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile", + "org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession", + "com.sun.identity.authentication.modules.application.Application", + "org.forgerock.openam.authentication.modules.scripted.Scripted", + "org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2", + "com.sun.identity.authentication.modules.hotp.HOTP", + "org.forgerock.openam.authentication.modules.adaptive.Adaptive", + "org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck", + "org.forgerock.openam.authentication.modules.social.SocialAuthOpenID", + "com.sun.identity.authentication.modules.msisdn.MSISDN", + "org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH", + "com.sun.identity.authentication.modules.datastore.DataStore", + "com.sun.identity.authentication.modules.securid.SecurID", + "org.forgerock.openam.authentication.modules.amster.Amster", + ], + "defaults": { + "accountlockout": { + "lockoutDuration": 0, + "lockoutDurationMultiplier": 1, + "lockoutWarnUserCount": 0, + "loginFailureCount": 5, + "loginFailureDuration": 300, + "loginFailureLockoutMode": false, + "storeInvalidAttemptsInDataStore": true, + }, + "core": { + "adminAuthModule": "[Empty]", + "orgConfig": "[Empty]", + }, + "general": { + "defaultAuthLevel": 0, + "identityType": [ + "agent", + "user", + ], + "locale": "en_US", + "statelessSessionsEnabled": false, + "twoFactorRequired": false, + "userStatusCallbackPlugins": [], + }, + "postauthprocess": { + "loginFailureUrl": [], + "loginPostProcessClass": [], + "loginSuccessUrl": [ + "/am/console", + ], + "userAttributeSessionMapping": [], + "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", + "usernameGeneratorEnabled": true, + }, + "security": { + "addClearSiteDataHeader": true, + "moduleBasedAuthEnabled": true, + "sharedSecret": null, + "zeroPageLoginAllowedWithoutReferrer": true, + "zeroPageLoginEnabled": false, + "zeroPageLoginReferrerWhiteList": [], + }, + "trees": { + "authenticationSessionsMaxDuration": 5, + "authenticationSessionsStateManagement": "JWT", + "authenticationSessionsWhitelist": false, + "authenticationTreeCookieHttpOnly": true, + "suspendedAuthenticationTimeout": 5, + }, + "userprofile": { + "aliasAttributeName": [], + "defaultRole": [], + "dynamicProfileCreation": "false", + }, + }, + "keepPostProcessInstances": false, + "ldapConnectionPoolDefaultSize": "1:10", + "ldapConnectionPoolSize": [], + "remoteAuthSecurityEnabled": false, + }, + "authenticationChains": { + "EMPTY": { "_id": "", - "_rev": "515901845", + "_rev": "1147129562", "_type": { - "_id": "CorsService", + "_id": "EMPTY", "collection": false, - "name": "CORS Service", + "name": "Authentication Configuration", + }, + "dynamic": { + "authChainConfiguration": "[Empty]", }, - "enabled": true, - "location": "global", - "nextDescendents": [], }, - "DataStoreService": { - "_id": "", - "_rev": "-1336068590", + }, + "authenticationModules": { + "accountactivecheck": { + "_id": "accountactivecheck", "_type": { - "_id": "DataStoreService", + "_id": "accountactivecheck", "collection": false, - "name": "External Data Stores", + "name": "Account Active Check", }, "defaults": { - "applicationDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", - "policyDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", + "authenticationLevel": 0, }, - "location": "global", - "nextDescendents": [], }, - "GoogleCloudServiceAccountService": { - "_id": "", - "_rev": "2076588921", + "activedirectory": { + "_id": "activedirectory", "_type": { - "_id": "GoogleCloudServiceAccountService", + "_id": "activedirectory", "collection": false, - "name": "Google Cloud Platform Service Accounts", + "name": "Active Directory", }, - "enabled": true, - "location": "global", - "nextDescendents": [ - { - "_id": "default", - "_type": { - "_id": "serviceAccounts", - "collection": true, - "name": "GCP Service Account", - }, - "allowedRealms": [ - "*", - ], - "allowedSecretNamePatterns": [ - "*", + "defaults": { + "authenticationLevel": 0, + "connectionHeartbeatInterval": 1, + "connectionHeartbeatTimeUnit": "MINUTES", + "openam-auth-ldap-connection-mode": "LDAP", + "operationTimeout": 0, + "primaryLdapServer": [ + "localhost:50636", + ], + "profileAttributeMappings": [], + "returnUserDN": true, + "searchScope": "SUBTREE", + "secondaryLdapServer": [], + "stopLdapbindAfterInmemoryLockedEnabled": false, + "trustAllServerCertificates": false, + "userBindDN": "cn=Directory Manager", + "userProfileRetrievalAttribute": "uid", + "userSearchAttributes": [ + "uid", + ], + "userSearchStartDN": [ + "dc=openam,dc=forgerock,dc=org", + ], + }, + }, + "adaptiverisk": { + "_id": "adaptiverisk", + "_type": { + "_id": "adaptiverisk", + "collection": false, + "name": "Adaptive Risk ", + }, + "defaults": { + "attributecheck": { + "invertProfileRiskAttributeScore": false, + "profileRiskAttributeCheckEnabled": false, + "profileRiskAttributeScore": 1, + }, + "authfailed": { + "failedAuthenticationCheckEnabled": false, + "failureScore": 1, + "invertFailureScore": false, + }, + "devicecookie": { + "deviceCookieCheckEnabled": false, + "deviceCookieName": "Device", + "deviceCookieScore": 1, + "invertDeviceCookieScore": false, + "saveDeviceCookieValueOnSuccessfulLogin": false, + }, + "general": { + "authenticationLevel": 0, + "riskThreshold": 1, + }, + "geolocation": { + "geolocationCheckEnabled": false, + "geolocationScore": 1, + "invertGeolocationScore": false, + }, + "iphistory": { + "invertIPHistoryScore": false, + "ipHistoryCheckEnabled": false, + "ipHistoryCount": 5, + "ipHistoryProfileAttribute": "iphistory", + "ipHistoryScore": 1, + "saveSuccessfulIP": false, + }, + "iprange": { + "invertIPRangeScoreEnabled": false, + "ipRange": [ + "10.0.0.0/24", + ], + "ipRangeCheckEnabled": false, + "ipRangeScore": 1, + }, + "knowncookie": { + "createKnownCookieOnSuccessfulLogin": false, + "invertKnownCookieScore": false, + "knownCookieCheckEnabled": false, + "knownCookieScore": 1, + }, + "lastlogin": { + "invertTimeSinceLastLoginScore": false, + "saveLastLoginTimeOnSuccessfulLogin": false, + "timeSinceLastLoginCheckEnabled": false, + "timeSinceLastLoginScore": 1, + }, + "requestheader": { + "invertRequestHeaderScore": false, + "requestHeaderCheckEnabled": false, + "requestHeaderScore": 1, + }, + }, + }, + "amster": { + "_id": "amster", + "_type": { + "_id": "amster", + "collection": false, + "name": "ForgeRock Amster", + }, + "defaults": { + "authenticationLevel": 0, + "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "enabled": true, + }, + }, + "anonymous": { + "_id": "anonymous", + "_type": { + "_id": "anonymous", + "collection": false, + "name": "Anonymous", + }, + "defaults": { + "authenticationLevel": 0, + "caseSensitiveUsernameMatchingEnabled": false, + "defaultAnonymousUsername": "anonymous", + "validAnonymousUsers": [], + }, + }, + "authJwtPoP": { + "_id": "authJwtPoP", + "_type": { + "_id": "authJwtPoP", + "collection": false, + "name": "JWT Proof of Possession (PoP)", + }, + "defaults": { + "authenticationLevel": 0, + "enableTlsSessionBinding": true, + "responseEncryptionCipher": "A128GCM", + "responseEncryptionMethod": "ECDHE", + }, + }, + "authPush": { + "_id": "authPush", + "_type": { + "_id": "authPush", + "collection": false, + "name": "ForgeRock Authenticator (Push)", + }, + "defaults": { + "authenticationLevel": 0, + "pushMessage": "Login attempt from {{user}} at {{issuer}}", + "timeoutInMilliSecconds": 120000, + }, + }, + "authPushReg": { + "_id": "authPushReg", + "_type": { + "_id": "authPushReg", + "collection": false, + "name": "ForgeRock Authenticator (Push) Registration", + }, + "defaults": { + "appleLink": "https://itunes.apple.com/app/forgerock-authenticator/id1038442926", + "authenticationLevel": 0, + "bgcolour": "#519387", + "googleLink": "https://play.google.com/store/apps/details?id=com.forgerock.authenticator", + "issuer": "ForgeRock", + "timeoutInMilliSecconds": 120000, + }, + }, + "authSaml": { + "_id": "authSaml", + "_type": { + "_id": "authSaml", + "collection": false, + "name": "SAML2", + }, + "defaults": { + "allowCreate": "true", + "authComparison": "exact", + "authenticationLevel": 0, + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", + "entityName": "http://", + "forceAuthn": "false", + "isPassive": "false", + "metaAlias": "/sp", + "nameIdFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "reqBinding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "sloEnabled": "false", + "sloRelay": "http://", + }, + }, + "authSocialInstagram": { + "_id": "authSocialInstagram", + "_type": { + "_id": "authSocialInstagram", + "collection": false, + "name": "Social Auth Instagram", + }, + "defaults": { + "accountProvisioning": { + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|instagram-", + "accountMapperConfiguration": [ + "id=uid", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "id=uid", + "full_name=sn", + "username=cn", + "username=givenName", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|instagram-", + ], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "authorizeEndpoint": "https://api.instagram.com/oauth/authorize", + "logoutBehaviour": "prompt", + "logoutServiceUrl": "https://instagram.com/accounts/logout", + "provider": "Instagram", + "scope": [ + "basic", + ], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "subjectProperty": "id", + "tokenEndpoint": "https://api.instagram.com/oauth/access_token", + "userInfoEndpoint": "https://api.instagram.com/v1/users/self", + "usesBasicAuth": false, + }, + }, + }, + "authSocialOAuth2": { + "_id": "authSocialOAuth2", + "_type": { + "_id": "authSocialOAuth2", + "collection": false, + "name": "Social Auth OAuth2", + }, + "defaults": { + "accountProvisioning": { + "accountMapperConfiguration": [], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [], + "attributeMappingClasses": [], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "promptPasswordFlag": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "logoutBehaviour": "prompt", + "mixUpMitigation": false, + "scope": [], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "usesBasicAuth": true, + }, + "emailSettings": { + "emailGateway": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "smtpHost": "localhost", + "smtpPort": "25", + }, + }, + }, + "authSocialOpenID": { + "_id": "authSocialOpenID", + "_type": { + "_id": "authSocialOpenID", + "collection": false, + "name": "Social Auth OpenID", + }, + "defaults": { + "accountProvisioning": { + "accountMapperConfiguration": [], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [], + "attributeMappingClasses": [], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "promptPasswordFlag": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "logoutBehaviour": "prompt", + "mixUpMitigation": false, + "scope": [ + "openid", ], - "disallowedSecretNamePatterns": [], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "usesBasicAuth": true, }, - ], + "emailSettings": { + "emailGateway": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "smtpHost": "localhost", + "smtpPort": "25", + }, + }, }, - "IdentityAssertionService": { - "_id": "", - "_rev": "-1449091672", + "authSocialTwitter": { + "_id": "authSocialTwitter", "_type": { - "_id": "IdentityAssertionService", + "_id": "authSocialTwitter", "collection": false, - "name": "Identity Assertion Service", + "name": "Social Auth Twitter", }, - "cacheDuration": 120, "defaults": { - "cacheDuration": 120, - "enable": true, + "accountProvisioning": { + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|twitter-", + "accountMapperConfiguration": [ + "id_str=uid", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "full_name=sn", + "username=cn", + "id_str=uid", + "username=givenName", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|twitter-", + ], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "authorizeEndpoint": "https://api.twitter.com/oauth/authenticate", + "provider": "Twitter", + "requestTokenEndpoint": "https://api.twitter.com/oauth/request_token", + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "subjectProperty": "id_str", + "tokenEndpoint": "https://api.twitter.com/oauth/access_token", + "userInfoEndpoint": "https://api.twitter.com/1.1/account/verify_credentials.json", + "usesBasicAuth": false, + }, }, - "enable": true, - "location": "global", - "nextDescendents": [], }, - "RadiusServerService": { - "_id": "", - "_rev": "264274185", + "authSocialVk": { + "_id": "authSocialVk", "_type": { - "_id": "RadiusServerService", + "_id": "authSocialVk", "collection": false, - "name": "RADIUS Server", + "name": "Social Auth VKontakte", + }, + "defaults": { + "accountProvisioning": { + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-", + "accountMapperConfiguration": [ + "id=uid", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "first_name=givenName", + "first_name=cn", + "id=uid", + "last_name=sn", + "email=mail", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-", + ], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "promptPasswordFlag": false, + "saveAttributesInSession": true, + }, + "core": { + "apiVersion": "5.73", + "authorizeEndpoint": "https://oauth.vk.com/authorize", + "forgerock-am-auth-socialauthvk-auth-level": 0, + "provider": "VKontakte", + "scope": [ + "email", + ], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "subjectProperty": "id", + "tokenEndpoint": "https://oauth.vk.com/access_token", + "userInfoEndpoint": "https://api.vk.com/method/users.get", + }, + "emailSettings": { + "emailGateway": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "smtpHost": "localhost", + "smtpPort": "25", + }, }, - "location": "global", - "nextDescendents": [], - "radiusListenerEnabled": "NO", - "radiusServerPort": 1812, - "radiusThreadPoolCoreSize": 1, - "radiusThreadPoolKeepaliveSeconds": 10, - "radiusThreadPoolMaxSize": 10, - "radiusThreadPoolQueueSize": 20, }, - "RemoteConsentService": { - "_id": "", - "_rev": "-407983627", + "authSocialWeChat": { + "_id": "authSocialWeChat", "_type": { - "_id": "RemoteConsentService", + "_id": "authSocialWeChat", "collection": false, - "name": "Remote Consent Service", + "name": "Social Auth WeChat", }, "defaults": { - "consentResponseTimeLimit": 2, - "jwkStoreCacheMissCacheTime": 1, - "jwkStoreCacheTimeout": 5, + "accountProvisioning": { + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-", + "accountMapperConfiguration": [ + "openid=uid", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "nickname=givenName", + "openid=uid", + "nickname=cn", + "nickname=sn", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-", + ], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "promptPasswordFlag": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "authorizeEndpoint": "https://open.weixin.qq.com/connect/qrconnect", + "provider": "WeChat", + "scope": [ + "snsapi_login", + ], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "subjectProperty": "openid", + "tokenEndpoint": "https://api.wechat.com/sns/oauth2/access_token", + "userInfoEndpoint": "https://api.wechat.com/sns/userinfo", + "usesBasicAuth": false, + }, + "emailSettings": { + "emailGateway": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "smtpHost": "localhost", + "smtpPort": "25", + }, }, - "location": "global", - "nextDescendents": [], }, - "SocialIdentityProviders": { - "_id": "", - "_rev": "646894732", + "authSocialWeChatMobile": { + "_id": "authSocialWeChatMobile", "_type": { - "_id": "SocialIdentityProviders", + "_id": "authSocialWeChatMobile", "collection": false, - "name": "Social Identity Provider Service", + "name": "Social Auth WeChat Mobile", }, "defaults": { - "enabled": true, + "accountProvisioning": { + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|wechat-", + "accountMapperConfiguration": [ + "openid=uid", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "nickname=givenName", + "openid=uid", + "nickname=cn", + "nickname=sn", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|wechat-", + ], + "createAccount": true, + "enableRegistrationService": false, + "mapToAnonymousUser": false, + "promptPasswordFlag": false, + "saveAttributesInSession": true, + }, + "core": { + "authenticationLevel": 0, + "provider": "WeChat", + "scope": [ + "snsapi_userinfo", + ], + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "subjectProperty": "openid", + "userInfoEndpoint": "https://api.wechat.com/sns/userinfo", + }, + "emailSettings": { + "emailGateway": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "smtpHost": "localhost", + "smtpPort": "25", + }, }, - "location": "global", - "nextDescendents": [], }, - "amSessionPropertyWhitelist": { - "_id": "", - "_rev": "-1376583802", + "authenticatoroath": { + "_id": "authenticatoroath", "_type": { - "_id": "amSessionPropertyWhitelist", + "_id": "authenticatoroath", "collection": false, - "name": "Session Property Whitelist Service", + "name": "ForgeRock Authenticator (OATH)", }, "defaults": { - "sessionPropertyWhitelist": [ - "AMCtxId", + "addChecksumToOtpEnabled": "False", + "authenticationLevel": 0, + "frOathOtpMaxRetry": 3, + "hotpWindowSize": 100, + "minimumSecretKeyLength": 32, + "oathAlgorithm": "HOTP", + "passwordLength": "6", + "totpMaximumClockDrift": 5, + "totpTimeStepInterval": 30, + "totpTimeStepsInWindow": 2, + "truncationOffset": -1, + }, + }, + "certificate": { + "_id": "certificate", + "_type": { + "_id": "certificate", + "collection": false, + "name": "Certificate", + }, + "defaults": { + "authenticationLevel": 0, + "cacheCRLsInMemory": true, + "certificateAttributeProfileMappingExtension": "none", + "certificateAttributeToProfileMapping": "subject CN", + "certificateLdapServers": [ + "localhost:50636", ], - "whitelistedQueryProperties": [], + "crlMatchingCertificateAttribute": "CN", + "iplanet-am-auth-cert-gw-cert-preferred": false, + "ldapCertificateAttribute": "CN", + "ldapSearchStartDN": [], + "matchCACertificateToCRL": false, + "matchCertificateInLdap": false, + "matchCertificateToCRL": false, + "ocspValidationEnabled": false, + "sslEnabled": false, + "trustedRemoteHosts": [ + "none", + ], + "updateCRLsFromDistributionPoint": true, + "userBindDN": "cn=Directory Manager", }, - "location": "global", - "nextDescendents": [], }, - "androidKeyAttestation": { - "_id": "", - "_rev": "1196053395", + "datastore": { + "_id": "datastore", "_type": { - "_id": "androidKeyAttestation", + "_id": "datastore", "collection": false, - "name": "Android Key Attestation", + "name": "Data Store", }, - "cacheDuration": 24, "defaults": { - "crlUrl": "https://android.googleapis.com/attestation/status", + "authenticationLevel": 0, }, - "location": "global", - "nextDescendents": [], }, - "audit": { - "_id": "", - "_rev": "1805413690", + "deviceidmatch": { + "_id": "deviceidmatch", "_type": { - "_id": "audit", + "_id": "deviceidmatch", "collection": false, - "name": "Audit Logging", + "name": "Device Id (Match)", }, - "auditEnabled": true, - "blacklistFieldFilters": [], "defaults": { - "auditEnabled": true, - "blacklistFieldFilters": [], - "whitelistFieldFilters": [], + "authenticationLevel": 0, + "clientScript": "157298c0-7d31-4059-a95b-eeb08473b7e5", + "clientScriptEnabled": true, + "serverScript": "703dab1a-1921-4981-98dd-b8e5349d8548", }, - "location": "global", - "nextDescendents": [ - { - "_id": "Global JSON Handler", - "_type": { - "_id": "JSON", - "collection": true, - "name": "JSON", - }, - "commonHandler": { - "enabled": true, - "topics": [ - "access", - "activity", - "config", - "authentication", - ], - }, - "commonHandlerPlugin": { - "handlerFactory": "org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory", - }, - "jsonBuffering": { - "bufferingMaxSize": "100000", - "bufferingWriteInterval": "5", - }, - "jsonConfig": { - "elasticsearchCompatible": false, - "location": "%BASE_DIR%/var/audit/", - "rotationRetentionCheckInterval": "5", - }, - "jsonFileRetention": { - "retentionMaxDiskSpaceToUse": "-1", - "retentionMaxNumberOfHistoryFiles": "1", - "retentionMinFreeSpaceRequired": "-1", - }, - "jsonFileRotation": { - "rotationEnabled": true, - "rotationFileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "rotationInterval": "-1", - "rotationMaxFileSize": "100000000", - "rotationTimes": [], - }, - }, - ], - "whitelistFieldFilters": [], }, - "authenticatorOathService": { - "_id": "", - "_rev": "717872748", + "deviceidsave": { + "_id": "deviceidsave", "_type": { - "_id": "authenticatorOathService", + "_id": "deviceidsave", "collection": false, - "name": "ForgeRock Authenticator (OATH) Service", + "name": "Device Id (Save)", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", - "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", - "authenticatorOATHDeviceSettingsEncryptionScheme": "NONE", - "authenticatorOATHSkippableName": "oath2faEnabled", - "oathAttrName": "oathDeviceProfiles", + "authenticationLevel": 0, + "autoStoreProfiles": false, + "maxProfilesAllowed": 5, }, - "location": "global", - "nextDescendents": [], }, - "authenticatorPushService": { - "_id": "", - "_rev": "-1117800721", + "federation": { + "_id": "federation", "_type": { - "_id": "authenticatorPushService", + "_id": "federation", "collection": false, - "name": "ForgeRock Authenticator (Push) Service", + "name": "Federation", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", - "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", - "authenticatorPushSkippableName": "push2faEnabled", - "pushAttrName": "pushDeviceProfiles", + "authenticationLevel": 0, }, - "location": "global", - "nextDescendents": [], }, - "authenticatorWebAuthnService": { - "_id": "", - "_rev": "1539309580", + "hotp": { + "_id": "hotp", "_type": { - "_id": "authenticatorWebAuthnService", + "_id": "hotp", "collection": false, - "name": "WebAuthn Profile Encryption Service", + "name": "HOTP", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", - "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", - "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", - "webauthnAttrName": "webauthnDeviceProfiles", + "authenticationLevel": 0, + "autoSendOTP": false, + "otpDeliveryMethod": "SMS and E-mail", + "otpLength": "8", + "otpMaxRetry": 3, + "otpValidityDuration": 5, + "smsGatewayClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", + "smtpFromAddress": "no-reply@openam.org", + "smtpHostPort": 465, + "smtpHostname": "smtp.gmail.com", + "smtpSslEnabled": "SSL", + "smtpUserPassword": null, + "smtpUsername": "opensso.sun", + "userProfileEmailAttribute": "mail", + "userProfileTelephoneAttribute": "telephoneNumber", }, - "location": "global", - "nextDescendents": [], }, - "baseurl": { - "_id": "", - "_rev": "-2049191873", + "httpbasic": { + "_id": "httpbasic", "_type": { - "_id": "baseurl", + "_id": "httpbasic", "collection": false, - "name": "Base URL Source", + "name": "HTTP Basic", }, "defaults": { - "contextPath": "/am", - "source": "REQUEST_VALUES", + "authenticationLevel": 0, }, - "location": "global", - "nextDescendents": [], }, - "dashboard": { - "_id": "", - "_rev": "436796111", + "jdbc": { + "_id": "jdbc", "_type": { - "_id": "dashboard", + "_id": "jdbc", "collection": false, - "name": "Dashboard", + "name": "JDBC", }, "defaults": { - "assignedDashboard": [], + "authenticationLevel": 0, + "connectionPoolJndiName": "java:comp/env/jdbc/samplePool", + "connectionType": "JNDI", + "jdbcDriver": "com.mysql.jdbc.Driver", + "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/test", + "password": null, + "passwordColumn": "PASSWORD_COLUMN", + "passwordStatement": "select PASSWORD_COLUMN from TABLE where USERNAME_COLUMN = ?", + "passwordTransformClass": "com.sun.identity.authentication.modules.jdbc.ClearTextTransform", + "username": "root", }, - "location": "global", - "nextDescendents": [ - { - "_id": "Google", - "_type": { - "_id": "instances", - "collection": true, - "name": "instance", - }, - "className": "SAML2ApplicationClass", - "displayName": "Google", - "icfIdentifier": "idm magic 34", - "icon": "images/logos/googleplus.png", - "login": "http://www.google.com", - "name": "Google", - }, - { - "_id": "SalesForce", - "_type": { - "_id": "instances", - "collection": true, - "name": "instance", - }, - "className": "SAML2ApplicationClass", - "displayName": "SalesForce", - "icfIdentifier": "idm magic 12", - "icon": "images/logos/salesforce.png", - "login": "http://www.salesforce.com", - "name": "SalesForce", - }, - { - "_id": "ZenDesk", - "_type": { - "_id": "instances", - "collection": true, - "name": "instance", - }, - "className": "SAML2ApplicationClass", - "displayName": "ZenDesk", - "icfIdentifier": "idm magic 56", - "icon": "images/logos/zendesk.png", - "login": "http://www.ZenDesk.com", - "name": "ZenDesk", - }, - ], }, - "deviceBindingService": { - "_id": "", - "_rev": "924957352", + "ldap": { + "_id": "ldap", "_type": { - "_id": "deviceBindingService", + "_id": "ldap", "collection": false, - "name": "Device Binding Service", + "name": "LDAP", }, "defaults": { - "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceBindingSettingsEncryptionKeystorePassword": null, - "deviceBindingSettingsEncryptionKeystoreType": "JKS", - "deviceBindingSettingsEncryptionScheme": "NONE", + "authenticationLevel": 0, + "beheraPasswordPolicySupportEnabled": true, + "connectionHeartbeatInterval": 10, + "connectionHeartbeatTimeUnit": "SECONDS", + "minimumPasswordLength": "8", + "openam-auth-ldap-connection-mode": "LDAP", + "operationTimeout": 0, + "primaryLdapServer": [ + "localhost:50636", + ], + "profileAttributeMappings": [], + "returnUserDN": true, + "searchScope": "SUBTREE", + "secondaryLdapServer": [], + "stopLdapbindAfterInmemoryLockedEnabled": false, + "trustAllServerCertificates": false, + "userBindDN": "cn=Directory Manager", + "userProfileRetrievalAttribute": "uid", + "userSearchAttributes": [ + "uid", + ], + "userSearchStartDN": [ + "dc=openam,dc=forgerock,dc=org", + ], }, - "location": "global", - "nextDescendents": [], }, - "deviceIdService": { - "_id": "", - "_rev": "809911232", + "membership": { + "_id": "membership", "_type": { - "_id": "deviceIdService", + "_id": "membership", "collection": false, - "name": "Device ID Service", + "name": "Membership", }, "defaults": { - "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceIdSettingsEncryptionKeystorePassword": null, - "deviceIdSettingsEncryptionKeystoreType": "JKS", - "deviceIdSettingsEncryptionScheme": "NONE", + "authenticationLevel": 0, + "defaultUserRoles": [], + "defaultUserStatus": "Active", + "minimumPasswordLength": 8, }, - "location": "global", - "nextDescendents": [], }, - "deviceProfilesService": { - "_id": "", - "_rev": "592757986", + "msisdn": { + "_id": "msisdn", "_type": { - "_id": "deviceProfilesService", + "_id": "msisdn", "collection": false, - "name": "Device Profiles Service", + "name": "MSISDN", }, "defaults": { - "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceProfilesSettingsEncryptionKeystorePassword": null, - "deviceProfilesSettingsEncryptionKeystoreType": "JKS", - "deviceProfilesSettingsEncryptionScheme": "NONE", + "authenticationLevel": 0, + "baseSearchDN": [ + "dc=openam,dc=forgerock,dc=org", + ], + "ldapProviderUrl": [ + "localhost:50636", + ], + "ldapSslEnabled": false, + "ldapUserBindDN": "cn=Directory Manager", + "msisdnParameterNames": [], + "msisdnRequestSearchLocations": [ + "searchRequest", + "searchParam", + "searchCookie", + ], + "msisdnUserNamingAttribute": "uid", + "returnUserDN": true, + "trustedGatewayIPAddresses": [], + "userProfileMsisdnAttribute": "sunIdentityMSISDNNumber", }, - "location": "global", - "nextDescendents": [], }, - "email": { - "_id": "", - "_rev": "-1519962359", + "oath": { + "_id": "oath", "_type": { - "_id": "email", + "_id": "oath", "collection": false, - "name": "Email Service", + "name": "OATH", }, "defaults": { - "emailAddressAttribute": "mail", - "emailImplClassName": "org.forgerock.openam.services.email.MailServerImpl", - "emailRateLimitSeconds": 1, - "port": 465, - "sslState": "SSL", + "addChecksum": "False", + "authenticationLevel": 0, + "forgerock-oath-maximum-clock-drift": 0, + "forgerock-oath-sharedsecret-implementation-class": "org.forgerock.openam.authentication.modules.oath.plugins.DefaultSharedSecretProvider", + "hotpWindowSize": 100, + "minimumSecretKeyLength": "32", + "oathAlgorithm": "HOTP", + "oathOtpMaxRetry": 3, + "passwordLength": "6", + "stepsInWindow": 2, + "timeStepSize": 30, + "truncationOffset": -1, }, - "location": "global", - "nextDescendents": [], }, - "federation/common": { - "_id": "", - "_rev": "1228566638", + "oauth2": { + "_id": "oauth2", "_type": { - "_id": "federation/common", + "_id": "oauth2", "collection": false, - "name": "Common Federation Configuration", + "name": "Legacy OAuth 2.0 / OpenID Connect", }, - "algorithms": { - "DigestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256", - "QuerySignatureAlgorithmDSA": "http://www.w3.org/2009/xmldsig11#dsa-sha256", - "QuerySignatureAlgorithmEC": "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512", - "QuerySignatureAlgorithmRSA": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", - "aesKeyWrapAlgorithm": "http://www.w3.org/2001/04/xmlenc#kw-aes256", - "canonicalizationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", - "maskGenerationFunction": "http://www.w3.org/2009/xmlenc11#mgf1sha256", - "rsaKeyTransportAlgorithm": "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p", - "signatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", - "transformationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", + "defaults": { + "accessTokenEndpointUrl": "https://graph.facebook.com/oauth/access_token", + "accessTokenParameterName": "access_token", + "accountMapperClass": "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper", + "accountMapperConfiguration": [ + "id=facebook-id", + "email=mail", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "anonymousUserName": "anonymous", + "attributeMapperConfiguration": [ + "first_name=givenname", + "id=facebook-id", + "email=facebook-email", + "last_name=facebook-lname", + "first_name=facebook-fname", + "name=cn", + "email=mail", + "last_name=sn", + ], + "attributeMappingClasses": [ + "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper", + ], + "authenticationEndpointUrl": "https://www.facebook.com/dialog/oauth", + "authenticationLevel": 0, + "createAccount": true, + "logoutBehaviour": "prompt", + "mailGatewayClass": "org.forgerock.openam.authentication.modules.oauth2.DefaultEmailGatewayImpl", + "mapToAnonymousUser": false, + "mixUpMitigation": false, + "promptForPassword": true, + "saveAttributesInSession": true, + "scope": "email,read_stream", + "smtpFromAddress": "info@forgerock.com", + "smtpHostName": "localhost", + "smtpHostPort": "25", + "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "userProfileServiceUrl": "https://graph.facebook.com/me", }, - "generalConfig": { - "certificateChecking": "on", - "maxContentLength": 20480, - "samlErrorPageHttpBinding": "HTTP-POST", - "samlErrorPageUrl": "/saml2/jsp/saml2error.jsp", + }, + "openidconnect": { + "_id": "openidconnect", + "_type": { + "_id": "openidconnect", + "collection": false, + "name": "OpenID Connect id_token bearer", }, - "implementationClasses": { - "configurationClass": "com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl", - "datastoreClass": "com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider", - "keyProviderClass": "com.sun.identity.saml.xmlsig.JKSKeyProvider", - "loggerClass": "com.sun.identity.plugin.log.impl.LogProvider", - "passwordDecoderClass": "com.sun.identity.saml.xmlsig.FMPasswordDecoder", - "rootUrlProviderClass": "org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider", - "sessionProviderClass": "com.sun.identity.plugin.session.impl.FMSessionProvider", - "signatureProviderClass": "com.sun.identity.saml.xmlsig.AMSignatureProvider", + "defaults": { + "acceptedAuthorizedParties": [ + "http://www.example.com/authorized/party", + "AuthorizedPartyExample", + ], + "accountProviderClass": "org.forgerock.openam.authentication.modules.common.mapping.DefaultAccountProvider", + "audienceName": "example", + "cryptoContextType": ".well-known/openid-configuration_url", + "cryptoContextValue": "https://accounts.google.com/.well-known/openid-configuration", + "idTokenHeaderName": "oidc_id_token", + "idTokenIssuer": "accounts.google.com", + "jwtToLdapAttributeMappings": [ + "sub=uid", + "email=mail", + ], + "principalMapperClass": "org.forgerock.openam.authentication.modules.oidc.JwtAttributeMapper", + "useSubClaimIfNoMatch": false, }, - "location": "global", - "montoring": { - "monitoringAgentClass": "com.sun.identity.plugin.monitoring.impl.AgentProvider", - "monitoringSaml2Class": "com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider", + }, + "persistentcookie": { + "_id": "persistentcookie", + "_type": { + "_id": "persistentcookie", + "collection": false, + "name": "Persistent Cookie", + }, + "defaults": { + "cookieName": "session-jwt", + "enforceClientIP": false, + "idleTimeout": 5, + "maxLife": 5, + "useHttpOnlyCookie": true, + "useSecureCookie": true, }, - "nextDescendents": [], }, - "federation/multi": { - "_id": "", - "_rev": "302817247", + "radius": { + "_id": "radius", "_type": { - "_id": "federation/multi", + "_id": "radius", "collection": false, - "name": "Multi-Federation Protocol", + "name": "RADIUS", + }, + "defaults": { + "authenticationLevel": 0, + "healthCheckInterval": 5, + "primaryRadiusServers": [ + "127.0.0.1", + ], + "secondaryRadiusServers": [ + "127.0.0.1", + ], + "serverPortNumber": 1645, + "serverTimeout": 3, + "stopRadiusbindAfterInmemoryLockedEnabled": false, }, - "location": "global", - "nextDescendents": [], - "singleLogoutHandlerList": [ - "key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler", - "key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler", - ], }, - "federation/saml2soapbinding": { - "_id": "", - "_rev": "197569431", + "sae": { + "_id": "sae", "_type": { - "_id": "federation/saml2soapbinding", + "_id": "sae", "collection": false, - "name": "SAML v2.0 SOAP Binding", + "name": "SAE", + }, + "defaults": { + "authenticationLevel": 0, }, - "location": "global", - "nextDescendents": [], - "requestHandlers": [], }, - "globalization": { + "scripted": { + "_id": "scripted", + "_type": { + "_id": "scripted", + "collection": false, + "name": "Scripted Module", + }, + "defaults": { + "authenticationLevel": 1, + "clientScript": "[Empty]", + "clientScriptEnabled": true, + "serverScript": "7e3d7067-d50f-4674-8c76-a3e13a810c33", + }, + }, + "securid": { + "_id": "securid", + "_type": { + "_id": "securid", + "collection": false, + "name": "SecurID", + }, + "defaults": { + "authenticationLevel": 0, + "serverConfigPath": "/home/prestonhales/am/config/auth/ace/data", + }, + }, + "windowsdesktopsso": { + "_id": "windowsdesktopsso", + "_type": { + "_id": "windowsdesktopsso", + "collection": false, + "name": "Windows Desktop SSO", + }, + "defaults": { + "authenticationLevel": 0, + "kerberosServiceIsinitiator": true, + "lookupUserInRealm": false, + "returnPrincipalWithDomainName": false, + "trustedKerberosRealms": [], + }, + }, + "windowsnt": { + "_id": "windowsnt", + "_type": { + "_id": "windowsnt", + "collection": false, + "name": "Windows NT", + }, + "defaults": { + "authenticationLevel": 0, + }, + }, + }, + "authenticationTreesConfiguration": { + "EMPTY": { "_id": "", - "_rev": "770074612", + "_rev": "1047121059", "_type": { - "_id": "globalization", + "_id": "EMPTY", "collection": false, - "name": "Globalization Settings", + "name": "Authentication Trees Configuration", }, - "charsetMappings": [ - "locale=zh|charset=UTF-8;GB2312", - "locale=ar|charset=UTF-8;ISO-8859-6", - "locale=es|charset=UTF-8;ISO-8859-15", - "locale=de|charset=UTF-8;ISO-8859-15", - "locale=zh_TW|charset=UTF-8;BIG5", - "locale=fr|charset=UTF-8;ISO-8859-15", - "locale=ko|charset=UTF-8;EUC-KR", - "locale=en|charset=UTF-8;ISO-8859-1", - "locale=th|charset=UTF-8;TIS-620", - "locale=ja|charset=UTF-8;Shift_JIS;EUC-JP", + }, + }, + "emailTemplate": undefined, + "idm": undefined, + "internalRole": undefined, + "mapping": undefined, + "realm": { + "L2ZpcnN0": { + "_id": "L2ZpcnN0", + "_rev": "1051737267", + "active": true, + "aliases": [ + "one", + "dnsfirst", ], - "defaults": { - "commonNameFormats": [ - "zh={sn}{givenname}", + "name": "first", + "parentPath": "/", + }, + "L2ZpcnN0L3NlY29uZA": { + "_id": "L2ZpcnN0L3NlY29uZA", + "_rev": "-1167290418", + "active": false, + "aliases": [ + "secondDNS", + "second", + ], + "name": "second", + "parentPath": "/first", + }, + "Lw": { + "_id": "Lw", + "_rev": "492331277", + "active": true, + "aliases": [ + "localhost", + "openam-frodo-dev.classic.com", + "openam", + "testurl.com", + ], + "name": "/", + "parentPath": "", + }, + }, + "scripttype": { + "AUTHENTICATION_CLIENT_SIDE": { + "_id": "AUTHENTICATION_CLIENT_SIDE", + "_rev": "174804341", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "AUTHENTICATION_CLIENT_SIDE", + "allowLists": {}, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "[Empty]", + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "AUTHENTICATION_SERVER_SIDE": { + "_id": "AUTHENTICATION_SERVER_SIDE", + "_rev": "53221913", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "AUTHENTICATION_SERVER_SIDE", + "allowLists": { + "1.0": [ + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.HashMap$KeyIterator", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.authentication.modules.scripted.*", + "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + "2.0": [ + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.HashMap$KeyIterator", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.authentication.modules.scripted.*", + "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "7e3d7067-d50f-4674-8c76-a3e13a810c33", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-1242010927", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.HashMap$KeyIterator", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.authentication.modules.scripted.*", + "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", ], }, - "location": "global", - "nextDescendents": [], - "sun-identity-g11n-settings-charset-alias-mapping": [ - "mimeName=EUC-KR|javaName=EUC_KR", - "mimeName=EUC-JP|javaName=EUC_JP", - "mimeName=Shift_JIS|javaName=SJIS", + "languages": [ + "JAVASCRIPT", + "GROOVY", ], }, - "id-repositories": { - "_id": "", - "_rev": "-1106014221", + "AUTHENTICATION_TREE_DECISION_NODE": { + "_id": "AUTHENTICATION_TREE_DECISION_NODE", + "_rev": "205440228", "_type": { - "_id": "id-repositories", - "collection": false, - "name": "sunIdentityRepositoryService", + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "AUTHENTICATION_TREE_DECISION_NODE", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + "2.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "ch.qos.logback.classic.Logger", + "org.forgerock.util.promise.Promises$*", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + "2.0", + ], + }, + }, + "defaultScript": "01e1a3c0-038b-4c16-956a-6c9d89328cff", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-1438338842", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], }, - "defaults": { - "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", - "sunIdRepoAttributeValidator": [ - "class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl", - "minimumPasswordLength=8", - "usernameInvalidChars=*|(|)|&|!", + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "CONFIG_PROVIDER_NODE": { + "_id": "CONFIG_PROVIDER_NODE", + "_rev": "726117364", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "CONFIG_PROVIDER_NODE", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + "2.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "5e854779-6ec1-4c39-aeba-0477e0986646", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-1438338842", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", ], }, - "location": "global", - "nextDescendents": [ + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "LIBRARY": { + "_id": "LIBRARY", + "_rev": "-1014751146", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "LIBRARY", + "allowLists": { + "1.0": [ + "java.lang.Float", + "org.forgerock.http.protocol.Header", + "java.lang.Integer", + "org.forgerock.http.Client", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Long", + "java.lang.Short", + "java.util.Map", + "org.forgerock.http.client.*", + "java.lang.Math", + "org.forgerock.opendj.ldap.Dn", + "java.lang.Byte", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "java.lang.StrictMath", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.http.Context", + "java.lang.Void", + "org.codehaus.groovy.runtime.GStringImpl", + "groovy.json.JsonSlurper", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.context.RootContext", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "java.util.List", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Responses", + "org.forgerock.util.promise.Promise", + "java.util.HashMap$KeyIterator", + "com.sun.identity.shared.debug.Debug", + "java.lang.Double", + "org.forgerock.http.protocol.Headers", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.http.protocol.Status", + "java.util.HashMap", + "java.lang.Character$Subset", + "java.util.TreeSet", + "java.util.ArrayList", + "java.util.HashSet", + "java.util.LinkedHashMap", + "org.forgerock.http.protocol.ResponseException", + "java.util.Collections$UnmodifiableRandomAccessList", + "org.forgerock.http.protocol.Message", + "java.lang.Boolean", + "java.lang.String", + "java.lang.Number", + "java.util.LinkedList", + "java.util.LinkedHashSet", + "org.forgerock.http.protocol.Response", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.TreeMap", + "java.util.Collections$EmptyList", + "org.forgerock.openam.scripting.api.ScriptedSession", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.http.Handler", + "java.lang.Object", + "org.forgerock.http.protocol.Form", + "jdk.proxy*", + ], + "2.0": [ + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0", + ], + }, + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-2082742270", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.lang.Class", + "java.security.AccessController", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Float", + "org.forgerock.http.protocol.Header", + "java.lang.Integer", + "org.forgerock.http.Client", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Long", + "java.lang.Short", + "java.util.Map", + "org.forgerock.http.client.*", + "java.lang.Math", + "org.forgerock.opendj.ldap.Dn", + "java.lang.Byte", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "java.lang.StrictMath", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.http.Context", + "java.lang.Void", + "org.codehaus.groovy.runtime.GStringImpl", + "groovy.json.JsonSlurper", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.context.RootContext", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "java.util.List", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Responses", + "org.forgerock.util.promise.Promise", + "java.util.HashMap$KeyIterator", + "com.sun.identity.shared.debug.Debug", + "java.lang.Double", + "org.forgerock.http.protocol.Headers", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.http.protocol.Status", + "java.util.HashMap", + "java.lang.Character$Subset", + "java.util.TreeSet", + "java.util.ArrayList", + "java.util.HashSet", + "java.util.LinkedHashMap", + "org.forgerock.http.protocol.ResponseException", + "java.util.Collections$UnmodifiableRandomAccessList", + "org.forgerock.http.protocol.Message", + "java.lang.Boolean", + "java.lang.String", + "java.lang.Number", + "java.util.LinkedList", + "java.util.LinkedHashSet", + "org.forgerock.http.protocol.Response", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.TreeMap", + "java.util.Collections$EmptyList", + "org.forgerock.openam.scripting.api.ScriptedSession", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.http.Handler", + "java.lang.Object", + "org.forgerock.http.protocol.Form", + ], + }, + "languages": [ + "JAVASCRIPT", + ], + }, + "OAUTH2_ACCESS_TOKEN_MODIFICATION": { + "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", + "_rev": "479572448", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "1760532983", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER": { + "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", + "_rev": "1681578003", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-151612412", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OAUTH2_EVALUATE_SCOPE": { + "_id": "OAUTH2_EVALUATE_SCOPE", + "_rev": "-217903654", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_EVALUATE_SCOPE", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "1760532983", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OAUTH2_MAY_ACT": { + "_id": "OAUTH2_MAY_ACT", + "_rev": "1563659557", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_MAY_ACT", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "738425546", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OAUTH2_SCRIPTED_JWT_ISSUER": { + "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", + "_rev": "-202793511", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "1296464777", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OAUTH2_VALIDATE_SCOPE": { + "_id": "OAUTH2_VALIDATE_SCOPE", + "_rev": "509150550", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OAUTH2_VALIDATE_SCOPE", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "25e6c06d-cf70-473b-bd28-26931edc476b", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-171597141", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "OIDC_CLAIMS": { + "_id": "OIDC_CLAIMS", + "_rev": "1421470992", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "OIDC_CLAIMS", + "allowLists": { + "1.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + "2.0": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-1974522490", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "POLICY_CONDITION": { + "_id": "POLICY_CONDITION", + "_rev": "931675236", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "POLICY_CONDITION", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "java.util.Collections$EmptyList", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + "2.0": [ + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "9de3eb62-f131-4fac-a294-7bd170fd4acb", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-1918867096", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "java.util.Collections$EmptyList", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "SAML2_IDP_ADAPTER": { + "_id": "SAML2_IDP_ADAPTER", + "_rev": "-422764199", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "SAML2_IDP_ADAPTER", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", + "jdk.proxy*", + ], + "2.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.sun.identity.common.CaseInsensitiveHashMap", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "org.forgerock.util.promise.PromiseImpl", + "javax.servlet.http.Cookie", + "org.xml.sax.InputSource", + "java.security.cert.CertificateFactory", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "248b8a56-df81-4b1b-b4ba-45d994f6504c", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "1002380879", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "SAML2_IDP_ATTRIBUTE_MAPPER": { + "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", + "_rev": "-1478330973", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.impl.AttributeImpl", + "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", + "javax.servlet.http.Cookie", + "javax.xml.parsers.DocumentBuilder", + "javax.xml.parsers.DocumentBuilderFactory", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.w3c.dom.Document", + "org.w3c.dom.Element", + "org.xml.sax.InputSource", + "jdk.proxy*", + ], + "2.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.sun.identity.common.CaseInsensitiveHashMap", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "org.forgerock.util.promise.PromiseImpl", + "javax.servlet.http.Cookie", + "org.xml.sax.InputSource", + "java.security.cert.CertificateFactory", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "c4f22465-2368-4e27-8013-e6399974fd48", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "-311213213", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.impl.AttributeImpl", + "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", + "javax.servlet.http.Cookie", + "javax.xml.parsers.DocumentBuilder", + "javax.xml.parsers.DocumentBuilderFactory", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.w3c.dom.Document", + "org.w3c.dom.Element", + "org.xml.sax.InputSource", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "SAML2_SP_ADAPTER": { + "_id": "SAML2_SP_ADAPTER", + "_rev": "1169311323", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "SAML2_SP_ADAPTER", + "allowLists": { + "1.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", + "jdk.proxy*", + ], + "2.0": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.sun.identity.common.CaseInsensitiveHashMap", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "org.forgerock.util.promise.PromiseImpl", + "javax.servlet.http.Cookie", + "org.xml.sax.InputSource", + "java.security.cert.CertificateFactory", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "69f06e63-128c-4e2f-af52-079a8a6f448b", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "355020687", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + "SOCIAL_IDP_PROFILE_TRANSFORMATION": { + "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "_rev": "650762075", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext", + }, + "context": { + "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "allowLists": { + "1.0": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + "2.0": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + }, + "evaluatorVersions": { + "GROOVY": [ + "1.0", + ], + "JAVASCRIPT": [ + "1.0", + ], + }, + }, + "defaultScript": "1d475815-72cb-42eb-aafd-4026989d28a7", + "engineConfiguration": { + "_id": "engineConfiguration", + "_rev": "2050787268", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration", + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*", + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*", + ], + }, + "languages": [ + "JAVASCRIPT", + "GROOVY", + ], + }, + }, + "secret": undefined, + "secrets": { + "GlobalSecrets": { + "_id": "GlobalSecrets", + "_type": { + "_id": "GlobalSecrets", + "collection": false, + "name": "Global Secrets Settings", + }, + "storeTypes": [ + "EnvironmentAndSystemPropertySecretStore", + "KeyStoreSecretStore", + "GoogleSecretManagerSecretStoreProvider", + "GoogleKeyManagementServiceSecretStore", + "HsmSecretStore", + "FileSystemSecretStore", + ], + }, + }, + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "_type": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "collection": false, + "name": "Environment and System Property Secrets Store", + }, + "format": "BASE64", + "mappings": undefined, + }, + "default-keystore": { + "_id": "default-keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore", + }, + "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "keyEntryPassword": "entrypass", + "leaseExpiryDuration": 5, + "mappings": [ { - "_id": "agent", + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_rev": "1192664276", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "es256test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256", }, { - "_id": "agentgroup", + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_rev": "288173840", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "es384test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", }, { - "_id": "agentonly", + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_rev": "-294942577", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "es512test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", }, { - "_id": "filteredrole", + "_id": "am.applications.agents.remote.consent.request.signing.RSA", + "_rev": "1911324886", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.RSA", }, { - "_id": "group", + "_id": "am.authentication.nodes.persistentcookie.encryption", + "_rev": "-91845293", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "test", + ], + "secretId": "am.authentication.nodes.persistentcookie.encryption", }, { - "_id": "realm", + "_id": "am.authn.authid.signing.HMAC", + "_rev": "934473037", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.authn.authid.signing.HMAC", }, { - "_id": "role", + "_id": "am.authn.trees.transientstate.encryption", + "_rev": "1917709756", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "directenctest", + ], + "secretId": "am.authn.trees.transientstate.encryption", }, { - "_id": "user", + "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + "_rev": "1907232131", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities", + "name": "Mappings", }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption", }, { - "_id": "amAdmin", + "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", + "_rev": "1976286662", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User", + "name": "Mappings", }, - "cn": "amAdmin", - "dn": "uid=amAdmin,ou=people,", - "givenName": "amAdmin", - "inetUserStatus": "Active", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "sn": "amAdmin", - "userPassword": null, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing", }, { - "_id": "anonymous", + "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + "_rev": "1974801991", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User", + "name": "Mappings", }, - "cn": "anonymous", - "dn": "uid=anonymous,ou=people,", - "givenName": "anonymous", - "inetUserStatus": "Inactive", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "sn": "anonymous", - "userPassword": null, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption", }, { - "_id": "dsameuser", + "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", + "_rev": "-86805022", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User", + "name": "Mappings", }, - "dn": "cn=dsameuser,ou=DSAME Users,", - "inetUserStatus": "Active", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "userPassword": null, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing", }, - ], - }, - "idm-integration": { - "_id": "", - "_rev": "2008236181", - "_type": { - "_id": "idm-integration", - "collection": false, - "name": "IDM Provisioning", - }, - "configurationCacheDuration": 0, - "enabled": false, - "idmProvisioningClient": "idm-provisioning", - "jwtSigningCompatibilityMode": false, - "location": "global", - "nextDescendents": [], - "provisioningClientScopes": [ - "fr:idm:*", - ], - "useInternalOAuth2Provider": false, - }, - "iot": { - "_id": "", - "_rev": "1825149804", - "_type": { - "_id": "iot", - "collection": false, - "name": "IoT Service", - }, - "defaults": { - "attributeAllowlist": [ - "thingConfig", - ], - "createOAuthClient": false, - "createOAuthJwtIssuer": false, - "oauthClientName": "forgerock-iot-oauth2-client", - "oauthJwtIssuerName": "forgerock-iot-jwt-issuer", - }, - "location": "global", - "nextDescendents": [], - }, - "logging": { - "_id": "", - "_rev": "1282484869", - "_type": { - "_id": "logging", - "collection": false, - "name": "Logging", - }, - "database": { - "databaseFailureMemoryBufferSize": 2, - "driver": "oracle.jdbc.driver.OracleDriver", - "maxRecords": 500, - "user": "dbuser", - }, - "file": { - "location": "%BASE_DIR%/var/audit/", - "maxFileSize": 100000000, - "numberHistoryFiles": 1, - "rotationEnabled": true, - "rotationInterval": -1, - "suffix": "-MM.dd.yy-kk.mm", - }, - "general": { - "bufferSize": 25, - "bufferTime": 60, - "buffering": "ON", - "certificateStore": "%BASE_DIR%/var/audit/Logger.jks", - "fields": [ - "IPAddr", - "LoggedBy", - "LoginID", - "NameID", - "ModuleName", - "ContextID", - "Domain", - "LogLevel", - "HostName", - "MessageID", - ], - "filesPerKeystore": 5, - "jdkLoggingLevel": "INFO", - "security": "OFF", - "signaturePeriod": 900, - "signingAlgorithm": "SHA1withRSA", - "status": "INACTIVE", - "type": "File", - "verifyPeriod": 3600, - }, - "location": "global", - "nextDescendents": [], - "resolveHostName": false, - "syslog": { - "facility": "local5", - "host": "localhost", - "port": 514, - "protocol": "UDP", - "timeout": 30, - }, - }, - "monitoring": { - "_id": "", - "_rev": "-218398273", - "_type": { - "_id": "monitoring", - "collection": false, - "name": "Monitoring", - }, - "authfilePath": "%BASE_DIR%/security/openam_mon_auth", - "enabled": true, - "httpEnabled": false, - "httpPort": 8082, - "location": "global", - "nextDescendents": [ { - "_id": "crest", + "_id": "am.default.authentication.modules.persistentcookie.encryption", + "_rev": "-239710853", "_type": { - "_id": "crest", + "_id": "mappings", "collection": true, - "name": "CREST Reporter", + "name": "Mappings", }, - "enabled": false, + "aliases": [ + "test", + ], + "secretId": "am.default.authentication.modules.persistentcookie.encryption", }, { - "_id": "prometheus", + "_id": "am.default.authentication.modules.persistentcookie.signing", + "_rev": "1188815885", "_type": { - "_id": "prometheus", + "_id": "mappings", "collection": true, - "name": "Prometheus Reporter", + "name": "Mappings", }, - "authenticationType": "BASIC", - "enabled": false, - "password": null, - "username": "prometheus", + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.modules.persistentcookie.signing", }, - ], - "policyHistoryWindowSize": 10000, - "rmiEnabled": false, - "rmiPort": 9999, - "sessionHistoryWindowSize": 10000, - "snmpEnabled": false, - "snmpPort": 8085, - }, - "naming": { - "_id": "", - "_rev": "329242288", - "_type": { - "_id": "naming", - "collection": false, - "name": "Naming", - }, - "endpointConfig": { - "jaxwsUrl": "%protocol://%host:%port%uri/identityservices/", - "stsMexUrl": "%protocol://%host:%port%uri/sts/mex", - "stsUrl": "%protocol://%host:%port%uri/sts", - }, - "federationConfig": { - "jaxrpcUrl": "%protocol://%host:%port%uri/jaxrpc/", - "samlAssertionManagerUrl": "%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF", - "samlAwareServletUrl": "%protocol://%host:%port%uri/SAMLAwareServlet", - "samlPostServletUrl": "%protocol://%host:%port%uri/SAMLPOSTProfileServlet", - "samlSoapReceiverUrl": "%protocol://%host:%port%uri/SAMLSOAPReceiver", - }, - "generalConfig": { - "authUrl": "%protocol://%host:%port%uri/authservice", - "loggingUrl": "%protocol://%host:%port%uri/loggingservice", - "policyUrl": "%protocol://%host:%port%uri/policyservice", - "profileUrl": "%protocol://%host:%port%uri/profileservice", - "sessionUrl": "%protocol://%host:%port%uri/sessionservice", - }, - "location": "global", - "nextDescendents": [], - }, - "oauth-oidc": { - "_id": "", - "_rev": "865723864", - "_type": { - "_id": "oauth-oidc", - "collection": false, - "name": "OAuth2 Provider", - }, - "allowUnauthorisedAccessToUserCodeForm": false, - "blacklistCacheSize": 10000, - "blacklistPollInterval": 60, - "blacklistPurgeDelay": 1, - "defaults": { - "advancedOAuth2Config": { - "allowClientCredentialsInTokenRequestQueryParameters": false, - "allowedAudienceValues": [], - "authenticationAttributes": [ - "uid", + { + "_id": "am.default.authentication.nodes.persistentcookie.signing", + "_rev": "986410257", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", ], - "codeVerifierEnforced": "false", - "defaultScopes": [], - "displayNameAttribute": "cn", - "expClaimRequiredInRequestObject": false, - "grantTypes": [ - "implicit", - "urn:ietf:params:oauth:grant-type:saml2-bearer", - "refresh_token", - "password", - "client_credentials", - "urn:ietf:params:oauth:grant-type:device_code", - "authorization_code", - "urn:openid:params:grant-type:ciba", - "urn:ietf:params:oauth:grant-type:uma-ticket", - "urn:ietf:params:oauth:grant-type:token-exchange", - "urn:ietf:params:oauth:grant-type:jwt-bearer", + "secretId": "am.default.authentication.nodes.persistentcookie.signing", + }, + { + "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", + "_rev": "-122487018", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "hashSalt": "changeme", - "includeSubnameInTokenClaims": true, - "macaroonTokenFormat": "V2", - "maxAgeOfRequestObjectNbfClaim": 0, - "maxDifferenceBetweenRequestObjectNbfAndExp": 0, - "moduleMessageEnabledInPasswordGrant": false, - "nbfClaimRequiredInRequestObject": false, - "parRequestUriLifetime": 90, - "persistentClaims": [], - "refreshTokenGracePeriod": 0, - "requestObjectProcessing": "OIDC", - "requirePushedAuthorizationRequests": false, - "responseTypeClasses": [ - "code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler", - "id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler", - "token|org.forgerock.oauth2.core.TokenResponseTypeHandler", + "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing", + }, + { + "_id": "am.global.services.saml2.client.storage.jwt.encryption", + "_rev": "2003184760", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", ], - "supportedScopes": [], - "supportedSubjectTypes": [ - "public", - "pairwise", + "secretId": "am.global.services.saml2.client.storage.jwt.encryption", + }, + { + "_id": "am.global.services.session.clientbased.encryption.AES", + "_rev": "599325994", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "aestest", ], - "tlsCertificateBoundAccessTokensEnabled": true, - "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", - "tokenCompressionEnabled": false, - "tokenEncryptionEnabled": false, - "tokenExchangeClasses": [ - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger", + "secretId": "am.global.services.session.clientbased.encryption.AES", + }, + { + "_id": "am.global.services.session.clientbased.signing.HMAC", + "_rev": "952853781", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", ], - "tokenSigningAlgorithm": "HS256", - "tokenValidatorClasses": [ - "urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator", - "urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator", + "secretId": "am.global.services.session.clientbased.signing.HMAC", + }, + { + "_id": "am.services.iot.jwt.issuer.signing", + "_rev": "-1095047595", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", ], + "secretId": "am.services.iot.jwt.issuer.signing", }, - "advancedOIDCConfig": { - "alwaysAddClaimsToToken": false, - "amrMappings": {}, - "authorisedIdmDelegationClients": [], - "authorisedOpenIdConnectSSOClients": [], - "claimsParameterSupported": false, - "defaultACR": [], - "idTokenInfoClientAuthenticationEnabled": true, - "includeAllKtyAlgCombinationsInJwksUri": false, - "loaMapping": {}, - "storeOpsTokens": true, - "supportedAuthorizationResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + { + "_id": "am.services.oauth2.jwt.authenticity.signing", + "_rev": "-1210340267", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", ], - "supportedAuthorizationResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", + "_rev": "-75049409", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", ], - "supportedAuthorizationResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + "_rev": "-108687993", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", ], - "supportedRequestParameterEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA1.5", + "_rev": "2073465911", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", ], - "supportedRequestParameterEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.oidc.decryption.RSA1.5", + }, + { + "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", + "_rev": "2025247879", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", ], - "supportedRequestParameterSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption", + }, + { + "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + "_rev": "-152865330", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "supportedTokenEndpointAuthenticationSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES256", + "_rev": "1010246364", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", ], - "supportedTokenIntrospectionResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + "secretId": "am.services.oauth2.oidc.signing.ES256", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES384", + "_rev": "105751800", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", ], - "supportedTokenIntrospectionResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.oidc.signing.ES384", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES512", + "_rev": "-477362537", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", ], - "supportedTokenIntrospectionResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.oauth2.oidc.signing.ES512", + }, + { + "_id": "am.services.oauth2.oidc.signing.RSA", + "_rev": "2112649438", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "supportedUserInfoEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + "secretId": "am.services.oauth2.oidc.signing.RSA", + }, + { + "_id": "am.services.oauth2.remote.consent.request.encryption", + "_rev": "1156224168", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "selfserviceenctest", ], - "supportedUserInfoEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.remote.consent.request.encryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.decryption", + "_rev": "2022034763", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", ], - "supportedUserInfoSigningAlgorithms": [ - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", + "secretId": "am.services.oauth2.remote.consent.response.decryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.signing.RSA", + "_rev": "-219924262", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "useForceAuthnForMaxAge": false, - "useForceAuthnForPromptLogin": false, + "secretId": "am.services.oauth2.remote.consent.response.signing.RSA", }, - "cibaConfig": { - "cibaAuthReqIdLifetime": 600, - "cibaMinimumPollingInterval": 2, - "supportedCibaSigningAlgorithms": [ - "ES256", - "PS256", + { + "_id": "am.services.oauth2.stateless.signing.ES256", + "_rev": "1077337120", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", ], + "secretId": "am.services.oauth2.stateless.signing.ES256", }, - "clientDynamicRegistrationConfig": { - "allowDynamicRegistration": false, - "dynamicClientRegistrationScope": "dynamic_client_registration", - "dynamicClientRegistrationSoftwareStatementRequired": false, - "generateRegistrationAccessTokens": true, - "requiredSoftwareStatementAttestedAttributes": [ - "redirect_uris", + { + "_id": "am.services.oauth2.stateless.signing.ES384", + "_rev": "172846524", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", ], + "secretId": "am.services.oauth2.stateless.signing.ES384", }, - "consent": { - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "supportedRcsRequestEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + { + "_id": "am.services.oauth2.stateless.signing.ES512", + "_rev": "-410267929", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", ], - "supportedRcsRequestEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.stateless.signing.ES512", + }, + { + "_id": "am.services.oauth2.stateless.signing.HMAC", + "_rev": "-1093456131", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", ], - "supportedRcsRequestSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.oauth2.stateless.signing.HMAC", + }, + { + "_id": "am.services.oauth2.stateless.signing.RSA", + "_rev": "1960097294", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "supportedRcsResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", + "secretId": "am.services.oauth2.stateless.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.token.encryption", + "_rev": "1900916088", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", ], - "supportedRcsResponseEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", + "secretId": "am.services.oauth2.stateless.token.encryption", + }, + { + "_id": "am.services.saml2.metadata.signing.RSA", + "_rev": "2008235726", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", ], - "supportedRcsResponseSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", + "secretId": "am.services.saml2.metadata.signing.RSA", + }, + { + "_id": "am.services.uma.pct.encryption", + "_rev": "1883661748", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", ], + "secretId": "am.services.uma.pct.encryption", }, - "coreOAuth2Config": { - "accessTokenLifetime": 3600, - "accessTokenMayActScript": "[Empty]", - "codeLifetime": 120, - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "macaroonTokensEnabled": false, - "oidcMayActScript": "[Empty]", - "refreshTokenLifetime": 604800, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "usePolicyEngineForScope": false, + ], + "providerName": "SunJCE", + "storePassword": "storepass", + "storetype": "JCEKS", + }, + "default-passwords-store": { + "_id": "default-passwords-store", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes", + }, + "directory": "/home/prestonhales/am/security/secrets/encrypted", + "format": "ENCRYPTED_PLAIN", + "mappings": undefined, + }, + }, + "server": { + "defaultProperties": { + "advanced": { + "_id": "null/properties/advanced", + "_rev": "1244705015", + "com.iplanet.am.buildDate": "2024-March-28 16:00", + "com.iplanet.am.buildRevision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", + "com.iplanet.am.buildVersion": "ForgeRock Access Management 7.5.0", + "com.iplanet.am.cookie.c66Encode": true, + "com.iplanet.am.daemons": "securid", + "com.iplanet.am.directory.ssl.enabled": false, + "com.iplanet.am.installdir": "%BASE_DIR%", + "com.iplanet.am.jssproxy.SSLTrustHostList": "", + "com.iplanet.am.jssproxy.checkSubjectAltName": false, + "com.iplanet.am.jssproxy.resolveIPAddress": false, + "com.iplanet.am.jssproxy.trustAllServerCerts": false, + "com.iplanet.am.lbcookie.name": "amlbcookie", + "com.iplanet.am.lbcookie.value": "00", + "com.iplanet.am.logstatus": "ACTIVE", + "com.iplanet.am.pcookie.name": "DProPCookie", + "com.iplanet.am.profile.host": "%SERVER_HOST%", + "com.iplanet.am.profile.port": "%SERVER_PORT%", + "com.iplanet.am.serverMode": true, + "com.iplanet.am.session.agentSessionIdleTime": "1440", + "com.iplanet.am.session.client.polling.enable": false, + "com.iplanet.am.session.client.polling.period": "180", + "com.iplanet.am.session.httpSession.enabled": "true", + "com.iplanet.am.version": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", + "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", + "com.sun.am.event.notification.expire.time": "5", + "com.sun.embedded.sync.servers": "on", + "com.sun.identity.am.cookie.check": false, + "com.sun.identity.auth.cookieName": "AMAuthCookie", + "com.sun.identity.authentication.multiple.tabs.used": false, + "com.sun.identity.authentication.setCookieToAllDomains": true, + "com.sun.identity.authentication.special.users": "cn=dsameuser,ou=DSAME Users,%ROOT_SUFFIX%|cn=amService-UrlAccessAgent,ou=DSAME Users,%ROOT_SUFFIX%", + "com.sun.identity.authentication.super.user": "uid=amAdmin,ou=People,%ROOT_SUFFIX%", + "com.sun.identity.authentication.uniqueCookieName": "sunIdentityServerAuthNServer", + "com.sun.identity.cookie.httponly": true, + "com.sun.identity.cookie.samesite": "off", + "com.sun.identity.enableUniqueSSOTokenCookie": false, + "com.sun.identity.jss.donotInstallAtHighestPriority": true, + "com.sun.identity.monitoring": "off", + "com.sun.identity.monitoring.local.conn.server.url": "service:jmx:rmi://", + "com.sun.identity.password.deploymentDescriptor": "%SERVER_URI%", + "com.sun.identity.plugin.configuration.class": "@CONFIGURATION_PROVIDER_CLASS@", + "com.sun.identity.plugin.datastore.class.default": "@DATASTORE_PROVIDER_CLASS@", + "com.sun.identity.plugin.log.class": "@LOG_PROVIDER_CLASS@", + "com.sun.identity.plugin.monitoring.agent.class": "@MONAGENT_PROVIDER_CLASS@", + "com.sun.identity.plugin.monitoring.saml2.class": "@MONSAML2_PROVIDER_CLASS@", + "com.sun.identity.plugin.session.class": "@SESSION_PROVIDER_CLASS@", + "com.sun.identity.policy.Policy.policy_evaluation_weights": "10:10:10", + "com.sun.identity.policy.resultsCacheMaxSize": "10000", + "com.sun.identity.policy.resultsCacheResourceCap": "20", + "com.sun.identity.saml.xmlsig.keyprovider.class": "@XMLSIG_KEY_PROVIDER@", + "com.sun.identity.saml.xmlsig.passwordDecoder": "@PASSWORD_DECODER_CLASS@", + "com.sun.identity.saml.xmlsig.signatureprovider.class": "@XML_SIGNATURE_PROVIDER@", + "com.sun.identity.security.checkcaller": false, + "com.sun.identity.server.fqdnMap[dnsfirst]": "dnsfirst", + "com.sun.identity.server.fqdnMap[hello]": "hello", + "com.sun.identity.server.fqdnMap[localhost]": "localhost", + "com.sun.identity.server.fqdnMap[openam-frodo-dev.classic.com]": "openam-frodo-dev.classic.com", + "com.sun.identity.server.fqdnMap[openam]": "openam", + "com.sun.identity.server.fqdnMap[secondDNS]": "secondDNS", + "com.sun.identity.session.repository.enableAttributeCompression": false, + "com.sun.identity.session.repository.enableCompression": false, + "com.sun.identity.session.repository.enableEncryption": false, + "com.sun.identity.sm.cache.ttl": "30", + "com.sun.identity.sm.cache.ttl.enable": false, + "com.sun.identity.url.readTimeout": "30000", + "com.sun.identity.webcontainer": "WEB_CONTAINER", + "dynamic.datastore.creation.enabled": false, + "openam.auth.destroy_session_after_upgrade": true, + "openam.auth.distAuthCookieName": "AMDistAuthCookie", + "openam.auth.session_property_upgrader": "org.forgerock.openam.authentication.service.DefaultSessionPropertyUpgrader", + "openam.auth.version.header.enabled": false, + "openam.authentication.ignore_goto_during_logout": false, + "openam.cdm.default.charset": "UTF-8", + "openam.forbidden.to.copy.headers": "connection", + "openam.forbidden.to.copy.request.headers": "connection", + "openam.oauth2.client.jwt.encryption.algorithm.allow.list": "RSA-OAEP,RSA-OAEP-256,ECDH-ES", + "openam.oauth2.client.jwt.unreasonable.lifetime.limit.minutes": "30", + "openam.retained.http.headers": "X-DSAMEVersion", + "openam.retained.http.request.headers": "X-DSAMEVersion", + "openam.serviceattributevalidator.classes.whitelist": "org.forgerock.openam.auth.nodes.validators.GreaterThanZeroValidator,org.forgerock.openam.auth.nodes.validators.HMACKeyLengthValidator,org.forgerock.openam.auth.nodes.validators.HmacSigningKeyValidator,org.forgerock.openam.auth.nodes.validators.PercentageValidator,org.forgerock.openam.auth.nodes.validators.QueryFilterValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyNameValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyValidator,org.forgerock.openam.auth.nodes.framework.validators.NodeValueValidator,org.forgerock.openam.audit.validation.PositiveIntegerValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.AlphaNumericValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.CodeLengthValidator,org.forgerock.openam.authentication.modules.persistentcookie.validation.SigningKeyValidator,com.sun.identity.common.configuration.DuplicateKeyMapValueValidator,com.sun.identity.common.configuration.AgentClientIpModeValueValidator,com.sun.identity.common.configuration.FilterModeValueValidator,com.sun.identity.common.configuration.GlobalMapValueValidator,com.sun.identity.common.configuration.ListValueValidator,com.sun.identity.common.configuration.MapValueValidator,com.sun.identity.common.configuration.ServerPropertyValidator,com.sun.identity.policy.ResourceComparatorValidator,com.sun.identity.sm.EmailValidator,com.sun.identity.sm.IPAddressValidator,com.sun.identity.sm.RequiredValueValidator,com.sun.identity.sm.ServerIDValidator,com.sun.identity.sm.SiteIDValidator,org.forgerock.openam.sm.validation.Base64EncodedBinaryValidator,org.forgerock.openam.sm.validation.BlankValueValidator,org.forgerock.openam.sm.validation.DurationValidator,org.forgerock.openam.sm.validation.EndpointValidator,org.forgerock.openam.sm.validation.HostnameValidator,org.forgerock.openam.sm.validation.PortValidator,org.forgerock.openam.sm.validation.SecretIdValidator,org.forgerock.openam.sm.validation.StatelessSessionSigningAlgorithmValidator,org.forgerock.openam.sm.validation.StringMapValidator,org.forgerock.openam.sm.validation.URLValidator,org.forgerock.openam.selfservice.config.KeyAliasValidator,org.forgerock.openam.sm.validation.UniqueIndexedValuesValidator,org.forgerock.openam.webhook.HttpHeaderValidator,org.forgerock.oauth2.core.ClientRedirectUriValidator", + "openam.session.case.sensitive.uuid": false, + "org.forgerock.allow.http.client.debug": false, + "org.forgerock.am.auth.chains.authindexuser.strict": true, + "org.forgerock.am.auth.node.otp.inSharedState": false, + "org.forgerock.am.auth.trees.authenticate.identified.identity": true, + "org.forgerock.openam.audit.additionalSuccessStatusCodesEnabled": true, + "org.forgerock.openam.audit.identity.activity.events.blacklist": "AM-ACCESS-ATTEMPT,AM-IDENTITY-CHANGE,AM-GROUP-CHANGE", + "org.forgerock.openam.auth.transactionauth.returnErrorOnAuthFailure": false, + "org.forgerock.openam.authLevel.excludeRequiredOrRequisite": false, + "org.forgerock.openam.authentication.forceAuth.enabled": false, + "org.forgerock.openam.console.autocomplete.enabled": true, + "org.forgerock.openam.core.resource.lookup.cache.enabled": true, + "org.forgerock.openam.core.sms.placeholder_api_enabled": "OFF", + "org.forgerock.openam.devices.recovery.use_insecure_storage": false, + "org.forgerock.openam.encryption.key.digest": "SHA1", + "org.forgerock.openam.encryption.key.iterations": "10000", + "org.forgerock.openam.encryption.key.size": "128", + "org.forgerock.openam.httpclienthandler.system.clients.connection.timeout": "10 seconds", + "org.forgerock.openam.httpclienthandler.system.clients.max.connections": "64", + "org.forgerock.openam.httpclienthandler.system.clients.pool.ttl": "-1", + "org.forgerock.openam.httpclienthandler.system.clients.response.timeout": "10 seconds", + "org.forgerock.openam.httpclienthandler.system.clients.retry.failed.requests.enabled": true, + "org.forgerock.openam.httpclienthandler.system.clients.reuse.connections.enabled": true, + "org.forgerock.openam.httpclienthandler.system.nonProxyHosts": "localhost,127.*,[::1],0.0.0.0,[::0]", + "org.forgerock.openam.httpclienthandler.system.proxy.enabled": false, + "org.forgerock.openam.httpclienthandler.system.proxy.password": null, + "org.forgerock.openam.httpclienthandler.system.proxy.uri": "", + "org.forgerock.openam.httpclienthandler.system.proxy.username": "", + "org.forgerock.openam.idm.attribute.names.lower.case": false, + "org.forgerock.openam.idrepo.ldapv3.passwordpolicy.allowDiagnosticMessage": false, + "org.forgerock.openam.idrepo.ldapv3.proxyauth.passwordreset.adminRequest": "isAdminPasswordChangeRequest", + "org.forgerock.openam.introspect.token.query.param.allowed": false, + "org.forgerock.openam.ldap.dncache.expire.time": "0", + "org.forgerock.openam.ldap.heartbeat.timeout": "10", + "org.forgerock.openam.ldap.keepalive.search.base": "", + "org.forgerock.openam.ldap.keepalive.search.filter": "(objectClass=*)", + "org.forgerock.openam.ldap.secure.protocol.version": "TLSv1.3,TLSv1.2", + "org.forgerock.openam.notifications.agents.enabled": true, + "org.forgerock.openam.oauth2.checkIssuerForIdTokenInfo": true, + "org.forgerock.openam.radius.server.context.cache.size": "5000", + "org.forgerock.openam.redirecturlvalidator.maxUrlLength": "2000", + "org.forgerock.openam.request.max.bytes.entity.size": "1048576", + "org.forgerock.openam.saml2.authenticatorlookup.skewAllowance": "60", + "org.forgerock.openam.scripting.maxinterpreterstackdepth": "10000", + "org.forgerock.openam.secrets.special.user.passwords.format": "ENCRYPTED_PLAIN", + "org.forgerock.openam.secrets.special.user.secret.refresh.seconds": "900", + "org.forgerock.openam.session.service.persistence.deleteAsynchronously": true, + "org.forgerock.openam.session.stateless.encryption.method": "A128CBC-HS256", + "org.forgerock.openam.session.stateless.rsa.padding": "RSA-OAEP-256", + "org.forgerock.openam.session.stateless.signing.allownone": false, + "org.forgerock.openam.showServletTraceInBrowser": false, + "org.forgerock.openam.slf4j.enableTraceInMessage": false, + "org.forgerock.openam.smtp.system.connect.timeout": "10000", + "org.forgerock.openam.smtp.system.socket.read.timeout": "10000", + "org.forgerock.openam.smtp.system.socket.write.timeout": "10000", + "org.forgerock.openam.sso.providers.list": "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOProvider", + "org.forgerock.openam.timerpool.shutdown.retry.interval": "15000", + "org.forgerock.openam.timerpool.shutdown.retry.limit": "3", + "org.forgerock.openam.timerpool.shutdown.retry.multiplier": "1.5", + "org.forgerock.openam.trees.consumedstatedata.cache.size": "15", + "org.forgerock.openam.trees.ids.cache.size": "50", + "org.forgerock.openam.url.connectTimeout": "1000", + "org.forgerock.openam.xui.user.session.validation.enabled": true, + "org.forgerock.openidconnect.ssoprovider.maxcachesize": "5000", + "org.forgerock.security.entitlement.enforce.realm": true, + "org.forgerock.security.oauth2.enforce.sub.claim.uniqueness": true, + "org.forgerock.services.cts.store.reaper.enabled": true, + "org.forgerock.services.cts.store.ttlsupport.enabled": false, + "org.forgerock.services.cts.store.ttlsupport.exclusionlist": "", + "org.forgerock.services.default.store.max.connections": "", + "org.forgerock.services.default.store.min.connections": "", + "org.forgerock.services.openid.request.object.lifespan": "120000", + "securidHelper.ports": "58943", + }, + "cts": { + "_id": "null/properties/cts", + "_rev": "1418305797", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": "default", + "org.forgerock.services.cts.store.max.connections": "100", + "org.forgerock.services.cts.store.page.size": "0", + "org.forgerock.services.cts.store.root.suffix": "", + "org.forgerock.services.cts.store.vlv.page.size": "1000", + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.directory.name": "", + "org.forgerock.services.cts.store.heartbeat": "10", + "org.forgerock.services.cts.store.loginid": "", + "org.forgerock.services.cts.store.mtls.enabled": "", + "org.forgerock.services.cts.store.password": null, + "org.forgerock.services.cts.store.ssl.enabled": "", + "org.forgerock.services.cts.store.starttls.enabled": "", }, - "coreOIDCConfig": { - "jwtTokenLifetime": 3600, - "oidcDiscoveryEndpointEnabled": false, - "overrideableOIDCClaims": [], - "supportedClaims": [], - "supportedIDTokenEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedIDTokenEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedIDTokenSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], + }, + "general": { + "_id": "null/properties/general", + "_rev": "624352173", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": "%BASE_DIR%/var/debug", + "com.iplanet.services.debug.level": "off", + "com.sun.services.debug.mergeall": "on", + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": "en_US", + "com.iplanet.am.util.xml.validating": "off", + "com.iplanet.services.configpath": "%BASE_DIR%", + "com.sun.identity.client.notification.url": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice", + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": "localhost", + "com.iplanet.am.smtpport": "25", + }, + }, + "sdk": { + "_id": "null/properties/sdk", + "_rev": "600922831", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": "10000", + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": false, + "com.sun.identity.sm.notification.threadpool.size": "1", + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": "3000", + "com.iplanet.am.event.connection.ldap.error.codes.retries": "80,81,91", + "com.iplanet.am.event.connection.num.retries": "3", + "com.sun.am.event.connection.disable.list": "aci,um,sm", + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": "1000", + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": "80,81,91", + "com.iplanet.am.ldap.connection.num.retries": "3", + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": "30", + "com.iplanet.am.sdk.cache.entry.expire.enabled": false, + "com.iplanet.am.sdk.cache.entry.user.expire.time": "15", }, - "deviceCodeConfig": { - "deviceCodeLifetime": 300, - "devicePollInterval": 5, - "deviceUserCodeCharacterSet": "234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz", - "deviceUserCodeLength": 8, + }, + "security": { + "_id": "null/properties/security", + "_rev": "1306238875", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": false, + "com.iplanet.am.cookie.name": "iPlanetDirectoryPro", + "com.iplanet.am.cookie.secure": false, + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": "", + "com.sun.identity.crl.cache.directory.mtlsenabled": false, + "com.sun.identity.crl.cache.directory.password": null, + "com.sun.identity.crl.cache.directory.port": "", + "com.sun.identity.crl.cache.directory.searchattr": "", + "com.sun.identity.crl.cache.directory.searchlocs": "", + "com.sun.identity.crl.cache.directory.ssl": false, + "com.sun.identity.crl.cache.directory.user": "", + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction", + }, + "amconfig.header.encryption": { + "am.encryption.pwd": "@AM_ENC_PWD@", + "am.encryption.secret.enabled": false, + "am.encryption.secret.keystoreType": "JCEKS", + "com.iplanet.security.SecureRandomFactoryImpl": "com.iplanet.am.util.SecureRandomFactoryImpl", + "com.iplanet.security.encryptor": "com.iplanet.services.util.JCEEncryption", + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": "", + "com.sun.identity.authentication.ocsp.responder.url": "", + "com.sun.identity.authentication.ocspCheck": false, + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": "test", + "com.sun.identity.saml.xmlsig.keypass": "%BASE_DIR%/security/secrets/default/.keypass", + "com.sun.identity.saml.xmlsig.keystore": "%BASE_DIR%/security/keystores/keystore.jceks", + "com.sun.identity.saml.xmlsig.storepass": "%BASE_DIR%/security/secrets/default/.storepass", + "com.sun.identity.saml.xmlsig.storetype": "JCEKS", + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": false, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": "16384", }, - "pluginsConfig": { - "accessTokenEnricherClass": "org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher", - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "JAVA", - "authorizeEndpointDataProviderScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "JAVA", - "evaluateScopeScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", - "userCodeGeneratorClass": "org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator", - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "JAVA", - "validateScopeScript": "25e6c06d-cf70-473b-bd28-26931edc476b", + }, + "session": { + "_id": "null/properties/session", + "_rev": "910402684", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": "60", + "com.iplanet.services.stats.directory": "%BASE_DIR%/var/stats", + "com.iplanet.services.stats.state": "file", + "com.sun.am.session.enableHostLookUp": false, + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": "10", + "com.iplanet.am.notification.threadpool.threshold": "5000", + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": "3", + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": "5000", + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": true, + }, + }, + "uma": { + "_id": "null/properties/uma", + "_rev": "1622756862", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": "default", + "org.forgerock.services.resourcesets.store.max.connections": "10", + "org.forgerock.services.resourcesets.store.root.suffix": "", + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": "", + "org.forgerock.services.resourcesets.store.heartbeat": "10", + "org.forgerock.services.resourcesets.store.loginid": "", + "org.forgerock.services.resourcesets.store.mtls.enabled": "", + "org.forgerock.services.resourcesets.store.password": null, + "org.forgerock.services.resourcesets.store.ssl.enabled": "", + "org.forgerock.services.resourcesets.store.starttls.enabled": "", + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": "default", + "org.forgerock.services.uma.labels.store.max.connections": "2", + "org.forgerock.services.uma.labels.store.root.suffix": "", + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": "", + "org.forgerock.services.uma.labels.store.heartbeat": "10", + "org.forgerock.services.uma.labels.store.loginid": "", + "org.forgerock.services.uma.labels.store.mtls.enabled": "", + "org.forgerock.services.uma.labels.store.password": null, + "org.forgerock.services.uma.labels.store.ssl.enabled": "", + "org.forgerock.services.uma.labels.store.starttls.enabled": "", + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": "default", + "org.forgerock.services.uma.pendingrequests.store.max.connections": "10", + "org.forgerock.services.uma.pendingrequests.store.root.suffix": "", + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": "", + "org.forgerock.services.uma.pendingrequests.store.heartbeat": "10", + "org.forgerock.services.uma.pendingrequests.store.loginid": "", + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": "", + "org.forgerock.services.uma.pendingrequests.store.password": null, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": "", + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": "", + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": "default", + "org.forgerock.services.umaaudit.store.max.connections": "10", + "org.forgerock.services.umaaudit.store.root.suffix": "", + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": "", + "org.forgerock.services.umaaudit.store.heartbeat": "10", + "org.forgerock.services.umaaudit.store.loginid": "", + "org.forgerock.services.umaaudit.store.mtls.enabled": "", + "org.forgerock.services.umaaudit.store.password": null, + "org.forgerock.services.umaaudit.store.ssl.enabled": "", + "org.forgerock.services.umaaudit.store.starttls.enabled": "", }, }, - "jwtTokenLifetimeValidationEnabled": true, - "jwtTokenRequiredClaims": [], - "jwtTokenUnreasonableLifetime": 86400, + }, + "server": { + "01": { + "_id": "01", + "_rev": "-931963190", + "properties": { + "advanced": { + "_id": "01/properties/advanced", + "_rev": "407759923", + "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "com.iplanet.am.lbcookie.value": "01", + "com.iplanet.am.serverMode": true, + "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", + "com.sun.embedded.replicationport": "", + "com.sun.embedded.sync.servers": "on", + "com.sun.identity.common.systemtimerpool.size": "3", + "com.sun.identity.sm.sms_object_class_name": "com.sun.identity.sm.SmsWrapperObject", + "com.sun.identity.urlconnection.useCache": false, + "opensso.protocol.handler.pkgs": "", + "org.forgerock.embedded.dsadminport": "4444", + }, + "cts": { + "_id": "01/properties/cts", + "_rev": "765446917", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100", + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0", + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000", + }, + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + "directoryConfiguration": { + "_id": "01/properties/directoryConfiguration", + "_rev": "1510475958", + "directoryConfiguration": { + "bindDn": "cn=Directory Manager", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null, + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "localhost", + "portNumber": "50636", + "serverName": "Server1", + }, + ], + }, + "general": { + "_id": "01/properties/general", + "_rev": "241119428", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug", + }, + "com.iplanet.services.debug.level": { + "inherited": true, + "value": "off", + }, + "com.sun.services.debug.mergeall": { + "inherited": true, + "value": "on", + }, + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": false, + "value": "en_US", + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off", + }, + "com.iplanet.services.configpath": { + "inherited": false, + "value": "/home/prestonhales/am", + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice", + }, + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost", + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25", + }, + }, + "amconfig.header.site": { + "singleChoiceSite": "[Empty]", + }, + }, + "sdk": { + "_id": "01/properties/sdk", + "_rev": "474186647", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000", + }, + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": false, + "value": true, + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1", + }, + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000", + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91", + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3", + }, + "com.sun.am.event.connection.disable.list": { + "inherited": false, + "value": "aci,um", + }, + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000", + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": false, + "value": "80,81,91", + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3", + }, + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30", + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15", + }, + }, + }, + "security": { + "_id": "01/properties/security", + "_rev": "1454506959", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro", + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null, + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "", + }, + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction", + }, + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": false, + "value": "efSYcwIhr7uKH30rgciGTVTFzb63LhYu", + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false, + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS", + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl", + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption", + }, + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test", + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass", + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks", + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass", + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS", + }, + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384", + }, + }, + }, + "session": { + "_id": "01/properties/session", + "_rev": "591674434", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60", + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats", + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file", + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10", + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3", + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true, + }, + }, + }, + "uma": { + "_id": "01/properties/uma", + "_rev": "1085771714", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2", + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + }, + "siteName": null, + "url": "http://localhost:8080/am", + }, + "03": { + "_id": "03", + "_rev": "868438946", + "properties": { + "advanced": { + "_id": "03/properties/advanced", + "_rev": "1025600482", + "com.iplanet.am.lbcookie.value": "03", + }, + "cts": { + "_id": "03/properties/cts", + "_rev": "212115732", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100", + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0", + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000", + }, + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + "directoryConfiguration": { + "_id": "03/properties/directoryConfiguration", + "_rev": "836161194", + "directoryConfiguration": { + "bindDn": "cn=Directory Manager", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null, + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "localhost", + "portNumber": "50636", + "serverName": "Server1", + }, + ], + }, + "general": { + "_id": "03/properties/general", + "_rev": "1988467600", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug", + }, + "com.iplanet.services.debug.level": { + "inherited": true, + "value": "off", + }, + "com.sun.services.debug.mergeall": { + "inherited": true, + "value": "on", + }, + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": true, + "value": "en_US", + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off", + }, + "com.iplanet.services.configpath": { + "inherited": true, + "value": "%BASE_DIR%", + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice", + }, + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost", + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25", + }, + }, + "amconfig.header.site": { + "singleChoiceSite": "testsite", + }, + }, + "sdk": { + "_id": "03/properties/sdk", + "_rev": "22253700", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000", + }, + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": true, + "value": false, + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1", + }, + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000", + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91", + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3", + }, + "com.sun.am.event.connection.disable.list": { + "inherited": true, + "value": "aci,um,sm", + }, + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000", + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91", + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3", + }, + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30", + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15", + }, + }, + }, + "security": { + "_id": "03/properties/security", + "_rev": "1427276838", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro", + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null, + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "", + }, + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction", + }, + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": true, + "value": "@AM_ENC_PWD@", + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false, + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS", + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl", + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption", + }, + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test", + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass", + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks", + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass", + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS", + }, + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384", + }, + }, + }, + "session": { + "_id": "03/properties/session", + "_rev": "1503344344", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60", + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats", + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file", + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10", + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3", + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true, + }, + }, + }, + "uma": { + "_id": "03/properties/uma", + "_rev": "1144916898", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2", + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + }, + "siteName": "testsite", + "url": "http://localhost:8081/am", + }, + "04": { + "_id": "04", + "_rev": "-931739121", + "properties": { + "advanced": { + "_id": "04/properties/advanced", + "_rev": "1640922960", + "com.iplanet.am.lbcookie.value": "04", + }, + "cts": { + "_id": "04/properties/cts", + "_rev": "283228301", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100", + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0", + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000", + }, + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + "directoryConfiguration": { + "_id": "04/properties/directoryConfiguration", + "_rev": "1777362962", + "directoryConfiguration": { + "bindDn": "cn=Directory Manager", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null, + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "localhost", + "portNumber": "50636", + "serverName": "Server1", + }, + ], + }, + "general": { + "_id": "04/properties/general", + "_rev": "236746298", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug", + }, + "com.iplanet.services.debug.level": { + "inherited": true, + "value": "off", + }, + "com.sun.services.debug.mergeall": { + "inherited": true, + "value": "on", + }, + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": true, + "value": "en_US", + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off", + }, + "com.iplanet.services.configpath": { + "inherited": true, + "value": "%BASE_DIR%", + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice", + }, + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost", + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25", + }, + }, + "amconfig.header.site": { + "singleChoiceSite": "[Empty]", + }, + }, + "sdk": { + "_id": "04/properties/sdk", + "_rev": "1730050751", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000", + }, + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": true, + "value": false, + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1", + }, + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000", + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91", + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3", + }, + "com.sun.am.event.connection.disable.list": { + "inherited": true, + "value": "aci,um,sm", + }, + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000", + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91", + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3", + }, + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30", + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15", + }, + }, + }, + "security": { + "_id": "04/properties/security", + "_rev": "1748131415", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false, + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro", + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null, + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "", + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false, + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "", + }, + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction", + }, + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": true, + "value": "@AM_ENC_PWD@", + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false, + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null, + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS", + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl", + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption", + }, + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "", + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test", + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass", + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks", + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass", + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS", + }, + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false, + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384", + }, + }, + }, + "session": { + "_id": "04/properties/session", + "_rev": "120805685", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60", + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats", + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file", + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false, + }, + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10", + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3", + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000", + }, + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true, + }, + }, + }, + "uma": { + "_id": "04/properties/uma", + "_rev": "1936992555", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2", + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default", + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "", + }, + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10", + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null, + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "", + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "", + }, + }, + }, + }, + "siteName": null, + "url": "http://localhost:8082/am", + }, + }, + }, + "serverInformation": { + "*": { + "_id": "*", + "_rev": "1352294770", + "cookieName": "iPlanetDirectoryPro", + "domains": [ + null, + ], + "fileBasedConfiguration": false, + "forgotPassword": "false", + "forgotUsername": "false", + "kbaEnabled": "false", + "lang": "en-US", + "protectedUserAttributes": [ + "telephoneNumber", + "mail", + ], + "realm": "/", + "referralsEnabled": "false", + "secureCookie": false, + "selfRegistration": "false", + "socialImplementations": [], + "successfulUserRegistrationDestination": "default", + "userIdAttributes": [], + "xuiUserSessionValidationEnabled": true, + "zeroPageLogin": { + "allowedWithoutReferer": true, + "enabled": false, + "refererWhitelist": [], + }, + }, + }, + "serverVersion": { + "version": { + "_id": "version", + "_rev": "-1772220916", + "date": "2024-March-28 16:00", + "fullVersion": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", + "revision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", + "version": "7.5.0", + }, + }, + "service": { + "ConfigurationVersionService": { + "_id": "", + "_rev": "-77106074", + "_type": { + "_id": "ConfigurationVersionService", + "collection": false, + "name": "Configuration Version Service", + }, + "appliedRuleIds": [ + "AME-23273", + "AME-21032", + "AME-21768", + ], + "configurationVersion": "8.0.0.0", "location": "global", "nextDescendents": [], - "statelessGrantTokenUpgradeCompatibilityMode": false, - "storageScheme": "CTS_ONE_TO_ONE_MODEL", }, - "pingOneWorkerService": { + "CorsService": { "_id": "", - "_rev": "-1375352311", + "_rev": "515901845", "_type": { - "_id": "pingOneWorkerService", + "_id": "CorsService", "collection": false, - "name": "PingOne Worker Service", - }, - "defaults": { - "enabled": true, + "name": "CORS Service", }, + "enabled": true, "location": "global", "nextDescendents": [], }, - "platform": { + "DataStoreService": { "_id": "", - "_rev": "-1580305574", + "_rev": "-1336068590", "_type": { - "_id": "platform", + "_id": "DataStoreService", "collection": false, - "name": "Platform", + "name": "External Data Stores", + }, + "defaults": { + "applicationDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", + "policyDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", }, - "cookieDomains": [], - "locale": "en_US", "location": "global", "nextDescendents": [], }, - "policyconfiguration": { + "GoogleCloudServiceAccountService": { "_id": "", - "_rev": "-2097165782", + "_rev": "2076588921", "_type": { - "_id": "policyconfiguration", + "_id": "GoogleCloudServiceAccountService", "collection": false, - "name": "Policy Configuration", + "name": "Google Cloud Platform Service Accounts", }, - "continueEvaluationOnDeny": false, + "enabled": true, + "location": "global", + "nextDescendents": [ + { + "_id": "default", + "_type": { + "_id": "serviceAccounts", + "collection": true, + "name": "GCP Service Account", + }, + "allowedRealms": [ + "*", + ], + "allowedSecretNamePatterns": [ + "*", + ], + "disallowedSecretNamePatterns": [], + }, + ], + }, + "IdentityAssertionService": { + "_id": "", + "_rev": "-1449091672", + "_type": { + "_id": "IdentityAssertionService", + "collection": false, + "name": "Identity Assertion Service", + }, + "cacheDuration": 120, "defaults": { - "bindDn": "cn=Directory Manager", - "checkIfResourceTypeExists": true, - "connectionPoolMaximumSize": 10, - "connectionPoolMinimumSize": 1, - "ldapServer": [ - "localhost:50636", - ], - "maximumSearchResults": 100, - "mtlsEnabled": false, - "policyHeartbeatInterval": 10, - "policyHeartbeatTimeUnit": "SECONDS", - "realmSearchFilter": "(objectclass=sunismanagedorganization)", - "searchTimeout": 5, - "sslEnabled": true, - "subjectsResultTTL": 10, - "userAliasEnabled": false, - "usersBaseDn": "dc=openam,dc=forgerock,dc=org", - "usersSearchAttribute": "uid", - "usersSearchFilter": "(objectclass=inetorgperson)", - "usersSearchScope": "SCOPE_SUB", + "cacheDuration": 120, + "enable": true, }, + "enable": true, "location": "global", "nextDescendents": [], - "realmAliasReferrals": false, - "resourceComparators": [ - "serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false", - ], }, - "pushNotification": { + "RadiusServerService": { "_id": "", - "_rev": "-747878660", + "_rev": "264274185", "_type": { - "_id": "pushNotification", + "_id": "RadiusServerService", "collection": false, - "name": "Push Notification Service", + "name": "RADIUS Server", + }, + "location": "global", + "nextDescendents": [], + "radiusListenerEnabled": "NO", + "radiusServerPort": 1812, + "radiusThreadPoolCoreSize": 1, + "radiusThreadPoolKeepaliveSeconds": 10, + "radiusThreadPoolMaxSize": 10, + "radiusThreadPoolQueueSize": 20, + }, + "RemoteConsentService": { + "_id": "", + "_rev": "-407983627", + "_type": { + "_id": "RemoteConsentService", + "collection": false, + "name": "Remote Consent Service", }, "defaults": { - "delegateFactory": "org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory", - "mdCacheSize": 10000, - "mdConcurrency": 16, - "mdDuration": 120, - "region": "us-east-1", + "consentResponseTimeLimit": 2, + "jwkStoreCacheMissCacheTime": 1, + "jwkStoreCacheTimeout": 5, }, "location": "global", "nextDescendents": [], }, - "rest": { + "SocialIdentityProviders": { "_id": "", - "_rev": "672880621", + "_rev": "646894732", "_type": { - "_id": "rest", + "_id": "SocialIdentityProviders", "collection": false, - "name": "REST APIs", + "name": "Social Identity Provider Service", + }, + "defaults": { + "enabled": true, }, - "csrfFilterEnabled": true, - "defaultProtocolVersion": "Latest", - "defaultVersion": "Latest", - "descriptionsState": "STATIC", "location": "global", "nextDescendents": [], - "warningHeader": true, }, - "saml2": { + "amSessionPropertyWhitelist": { "_id": "", - "_rev": "-101444140", + "_rev": "-1376583802", "_type": { - "_id": "saml2", + "_id": "amSessionPropertyWhitelist", "collection": false, - "name": "SAML v2.0 Service Configuration", + "name": "Session Property Whitelist Service", + }, + "defaults": { + "sessionPropertyWhitelist": [ + "AMCtxId", + ], + "whitelistedQueryProperties": [], }, - "bufferLength": 2048, - "caCertValidation": false, - "cacheCleanupInterval": 600, - "encryptedKeyInKeyInfo": true, - "idpDiscoveryCookieType": "PERSISTENT", - "idpDiscoveryUrlSchema": "HTTPS", "location": "global", - "nameIDInfoAttribute": "sun-fm-saml2-nameid-info", - "nameIDInfoKeyAttribute": "sun-fm-saml2-nameid-infokey", "nextDescendents": [], - "signingCertValidation": false, - "xmlEncryptionClass": "com.sun.identity.saml2.xmlenc.FMEncProvider", - "xmlSigningClass": "com.sun.identity.saml2.xmlsig.FMSigProvider", }, - "security": { + "androidKeyAttestation": { "_id": "", - "_rev": "1264778823", + "_rev": "1196053395", "_type": { - "_id": "security", + "_id": "androidKeyAttestation", "collection": false, - "name": "Legacy User Self Service", + "name": "Android Key Attestation", }, + "cacheDuration": 24, "defaults": { - "confirmationIdHmacKey": "YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=", - "forgotPasswordConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", - "forgotPasswordEnabled": false, - "forgotPasswordTokenLifetime": 900, - "protectedUserAttributes": [], - "selfRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", - "selfRegistrationEnabled": false, - "selfRegistrationTokenLifetime": 900, - "selfServiceEnabled": false, - "userRegisteredDestination": "default", + "crlUrl": "https://android.googleapis.com/attestation/status", }, "location": "global", "nextDescendents": [], }, - "selfService": { + "audit": { "_id": "", - "_rev": "768990089", + "_rev": "1805413690", "_type": { - "_id": "selfService", + "_id": "audit", "collection": false, - "name": "User Self-Service", + "name": "Audit Logging", }, + "auditEnabled": true, + "blacklistFieldFilters": [], "defaults": { - "advancedConfig": { - "forgottenPasswordConfirmationUrl": "http://localhost:8080/am/XUI/?realm=\${realm}#passwordReset/", - "forgottenPasswordServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider", - "forgottenUsernameServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider", - "userRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/?realm=\${realm}#register/", - "userRegistrationServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider", - }, - "forgottenPassword": { - "forgottenPasswordCaptchaEnabled": false, - "forgottenPasswordEmailBody": [ - "en|

Click on this link to reset your password.

", - ], - "forgottenPasswordEmailSubject": [ - "en|Forgotten password email", - ], - "forgottenPasswordEmailVerificationEnabled": true, - "forgottenPasswordEnabled": false, - "forgottenPasswordKbaEnabled": false, - "forgottenPasswordTokenPaddingLength": 450, - "forgottenPasswordTokenTTL": 300, - "numberOfAllowedAttempts": 1, - "numberOfAttemptsEnforced": false, - }, - "forgottenUsername": { - "forgottenUsernameCaptchaEnabled": false, - "forgottenUsernameEmailBody": [ - "en|

Your username is %username%.

", - ], - "forgottenUsernameEmailSubject": [ - "en|Forgotten username email", - ], - "forgottenUsernameEmailUsernameEnabled": true, - "forgottenUsernameEnabled": false, - "forgottenUsernameKbaEnabled": false, - "forgottenUsernameShowUsernameEnabled": false, - "forgottenUsernameTokenTTL": 300, - }, - "generalConfig": { - "captchaVerificationUrl": "https://www.google.com/recaptcha/api/siteverify", - "kbaQuestions": [ - "4|en|What is your mother's maiden name?", - "3|en|What was the name of your childhood pet?", - "2|en|What was the model of your first car?", - "1|en|What is the name of your favourite restaurant?", - ], - "minimumAnswersToDefine": 1, - "minimumAnswersToVerify": 1, - "validQueryAttributes": [ - "uid", - "mail", - "givenName", - "sn", - ], - }, - "profileManagement": { - "profileAttributeWhitelist": [ - "uid", - "telephoneNumber", - "mail", - "kbaInfo", - "givenName", - "sn", - "cn", - ], - "profileProtectedUserAttributes": [ - "telephoneNumber", - "mail", - ], - }, - "userRegistration": { - "userRegisteredDestination": "default", - "userRegistrationCaptchaEnabled": false, - "userRegistrationEmailBody": [ - "en|

Click on this link to register.

", - ], - "userRegistrationEmailSubject": [ - "en|Registration email", - ], - "userRegistrationEmailVerificationEnabled": true, - "userRegistrationEmailVerificationFirstEnabled": false, - "userRegistrationEnabled": false, - "userRegistrationKbaEnabled": false, - "userRegistrationTokenTTL": 300, - "userRegistrationValidUserAttributes": [ - "userPassword", - "mail", - "givenName", - "kbaInfo", - "inetUserStatus", - "sn", - "username", - ], + "auditEnabled": true, + "blacklistFieldFilters": [], + "whitelistFieldFilters": [], + }, + "location": "global", + "nextDescendents": [ + { + "_id": "Global JSON Handler", + "_type": { + "_id": "JSON", + "collection": true, + "name": "JSON", + }, + "commonHandler": { + "enabled": true, + "topics": [ + "access", + "activity", + "config", + "authentication", + ], + }, + "commonHandlerPlugin": { + "handlerFactory": "org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory", + }, + "jsonBuffering": { + "bufferingMaxSize": "100000", + "bufferingWriteInterval": "5", + }, + "jsonConfig": { + "elasticsearchCompatible": false, + "location": "%BASE_DIR%/var/audit/", + "rotationRetentionCheckInterval": "5", + }, + "jsonFileRetention": { + "retentionMaxDiskSpaceToUse": "-1", + "retentionMaxNumberOfHistoryFiles": "1", + "retentionMinFreeSpaceRequired": "-1", + }, + "jsonFileRotation": { + "rotationEnabled": true, + "rotationFileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "rotationInterval": "-1", + "rotationMaxFileSize": "100000000", + "rotationTimes": [], + }, }, + ], + "whitelistFieldFilters": [], + }, + "authenticatorOathService": { + "_id": "", + "_rev": "717872748", + "_type": { + "_id": "authenticatorOathService", + "collection": false, + "name": "ForgeRock Authenticator (OATH) Service", + }, + "defaults": { + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", + "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", + "authenticatorOATHDeviceSettingsEncryptionScheme": "NONE", + "authenticatorOATHSkippableName": "oath2faEnabled", + "oathAttrName": "oathDeviceProfiles", }, "location": "global", "nextDescendents": [], }, - "selfServiceTrees": { + "authenticatorPushService": { "_id": "", - "_rev": "-1844260382", + "_rev": "-1117800721", "_type": { - "_id": "selfServiceTrees", + "_id": "authenticatorPushService", "collection": false, - "name": "Self Service Trees", + "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "enabled": true, - "treeMapping": {}, + "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", + "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", + "authenticatorPushSkippableName": "push2faEnabled", + "pushAttrName": "pushDeviceProfiles", }, "location": "global", "nextDescendents": [], }, - "session": { + "authenticatorWebAuthnService": { "_id": "", - "_rev": "-1239124536", + "_rev": "1539309580", "_type": { - "_id": "session", + "_id": "authenticatorWebAuthnService", "collection": false, - "name": "Session", + "name": "WebAuthn Profile Encryption Service", }, - "dynamic": { - "maxCachingTime": 3, - "maxIdleTime": 30, - "maxSessionTime": 120, - "quotaLimit": 5, + "defaults": { + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", + "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", + "webauthnAttrName": "webauthnDeviceProfiles", }, - "general": { - "crossUpgradeReferenceFlag": false, - "dnRestrictionOnly": false, - "latestAccessTimeUpdateFrequency": 60, - "timeoutHandlers": [], + "location": "global", + "nextDescendents": [], + }, + "baseurl": { + "_id": "", + "_rev": "-2049191873", + "_type": { + "_id": "baseurl", + "collection": false, + "name": "Base URL Source", + }, + "defaults": { + "contextPath": "/am", + "source": "REQUEST_VALUES", }, "location": "global", "nextDescendents": [], - "notifications": { - "notificationPropertyList": [], - "propertyChangeNotifications": "OFF", + }, + "dashboard": { + "_id": "", + "_rev": "436796111", + "_type": { + "_id": "dashboard", + "collection": false, + "name": "Dashboard", }, - "quotas": { - "behaviourWhenQuotaExhausted": "org.forgerock.openam.session.service.DestroyNextExpiringAction", - "denyLoginWhenRepoDown": "NO", - "iplanet-am-session-enable-session-constraint": "OFF", - "quotaConstraintMaxWaitTime": 6000, + "defaults": { + "assignedDashboard": [], }, - "search": { - "maxSessionListSize": 120, - "sessionListRetrievalTimeout": 5, + "location": "global", + "nextDescendents": [ + { + "_id": "Google", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance", + }, + "className": "SAML2ApplicationClass", + "displayName": "Google", + "icfIdentifier": "idm magic 34", + "icon": "images/logos/googleplus.png", + "login": "http://www.google.com", + "name": "Google", + }, + { + "_id": "SalesForce", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance", + }, + "className": "SAML2ApplicationClass", + "displayName": "SalesForce", + "icfIdentifier": "idm magic 12", + "icon": "images/logos/salesforce.png", + "login": "http://www.salesforce.com", + "name": "SalesForce", + }, + { + "_id": "ZenDesk", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance", + }, + "className": "SAML2ApplicationClass", + "displayName": "ZenDesk", + "icfIdentifier": "idm magic 56", + "icon": "images/logos/zendesk.png", + "login": "http://www.ZenDesk.com", + "name": "ZenDesk", + }, + ], + }, + "deviceBindingService": { + "_id": "", + "_rev": "924957352", + "_type": { + "_id": "deviceBindingService", + "collection": false, + "name": "Device Binding Service", }, - "stateless": { - "openam-session-stateless-blacklist-cache-size": 10000, - "openam-session-stateless-blacklist-poll-interval": 60, - "openam-session-stateless-blacklist-purge-delay": 1, - "openam-session-stateless-enable-session-blacklisting": false, - "openam-session-stateless-logout-poll-interval": 60, - "statelessCompressionType": "NONE", - "statelessEncryptionAesKey": null, - "statelessEncryptionType": "DIRECT", - "statelessLogoutByUser": false, - "statelessSigningHmacSecret": null, - "statelessSigningType": "HS256", + "defaults": { + "deviceBindingAttrName": "boundDevices", + "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystorePassword": null, + "deviceBindingSettingsEncryptionKeystoreType": "JKS", + "deviceBindingSettingsEncryptionScheme": "NONE", }, + "location": "global", + "nextDescendents": [], }, - "socialauthentication": { + "deviceIdService": { "_id": "", - "_rev": "455613826", + "_rev": "809911232", "_type": { - "_id": "socialauthentication", + "_id": "deviceIdService", "collection": false, - "name": "Social Authentication Implementations", + "name": "Device ID Service", }, "defaults": { - "authenticationChains": {}, - "displayNames": {}, - "enabledKeys": [], - "icons": {}, + "deviceIdAttrName": "devicePrintProfiles", + "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystorePassword": null, + "deviceIdSettingsEncryptionKeystoreType": "JKS", + "deviceIdSettingsEncryptionScheme": "NONE", }, "location": "global", "nextDescendents": [], }, - "transaction": { + "deviceProfilesService": { "_id": "", - "_rev": "952091551", + "_rev": "592757986", "_type": { - "_id": "transaction", + "_id": "deviceProfilesService", "collection": false, - "name": "Transaction Authentication Service", + "name": "Device Profiles Service", }, "defaults": { - "timeToLive": "180", + "deviceProfilesAttrName": "deviceProfiles", + "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystorePassword": null, + "deviceProfilesSettingsEncryptionKeystoreType": "JKS", + "deviceProfilesSettingsEncryptionScheme": "NONE", }, "location": "global", "nextDescendents": [], }, - "uma": { + "email": { "_id": "", - "_rev": "-401765880", + "_rev": "-1519962359", "_type": { - "_id": "uma", + "_id": "email", "collection": false, - "name": "UMA Provider", + "name": "Email Service", }, "defaults": { - "claimsGathering": { - "claimsGatheringService": "[Empty]", - "interactiveClaimsGatheringEnabled": false, - "pctLifetime": 604800, - }, - "generalSettings": { - "deletePoliciesOnDeleteRS": true, - "deleteResourceSetsOnDeleteRS": true, - "emailRequestingPartyOnPendingRequestApproval": true, - "emailResourceOwnerOnPendingRequestCreation": true, - "grantResourceOwnerImplicitConsent": true, - "grantRptConditions": [ - "REQUEST_PARTIAL", - "REQUEST_NONE", - "TICKET_PARTIAL", - ], - "pendingRequestsEnabled": true, - "permissionTicketLifetime": 120, - "resharingMode": "IMPLICIT", - "userProfileLocaleAttribute": "inetOrgPerson", - }, + "emailAddressAttribute": "mail", + "emailImplClassName": "org.forgerock.openam.services.email.MailServerImpl", + "emailRateLimitSeconds": 1, + "port": 465, + "sslState": "SSL", }, "location": "global", "nextDescendents": [], - "umaPolicyUpgradeCompatibilityMode": false, }, - "user": { + "federation/common": { "_id": "", - "_rev": "1193526377", + "_rev": "1228566638", "_type": { - "_id": "user", + "_id": "federation/common", "collection": false, - "name": "User", + "name": "Common Federation Configuration", }, - "dynamic": { - "defaultUserStatus": "Active", + "algorithms": { + "DigestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256", + "QuerySignatureAlgorithmDSA": "http://www.w3.org/2009/xmldsig11#dsa-sha256", + "QuerySignatureAlgorithmEC": "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512", + "QuerySignatureAlgorithmRSA": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", + "aesKeyWrapAlgorithm": "http://www.w3.org/2001/04/xmlenc#kw-aes256", + "canonicalizationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", + "maskGenerationFunction": "http://www.w3.org/2009/xmlenc11#mgf1sha256", + "rsaKeyTransportAlgorithm": "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p", + "signatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", + "transformationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", + }, + "generalConfig": { + "certificateChecking": "on", + "maxContentLength": 20480, + "samlErrorPageHttpBinding": "HTTP-POST", + "samlErrorPageUrl": "/saml2/jsp/saml2error.jsp", + }, + "implementationClasses": { + "configurationClass": "com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl", + "datastoreClass": "com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider", + "keyProviderClass": "com.sun.identity.saml.xmlsig.JKSKeyProvider", + "loggerClass": "com.sun.identity.plugin.log.impl.LogProvider", + "passwordDecoderClass": "com.sun.identity.saml.xmlsig.FMPasswordDecoder", + "rootUrlProviderClass": "org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider", + "sessionProviderClass": "com.sun.identity.plugin.session.impl.FMSessionProvider", + "signatureProviderClass": "com.sun.identity.saml.xmlsig.AMSignatureProvider", }, "location": "global", + "montoring": { + "monitoringAgentClass": "com.sun.identity.plugin.monitoring.impl.AgentProvider", + "monitoringSaml2Class": "com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider", + }, "nextDescendents": [], }, - "validation": { + "federation/multi": { "_id": "", - "_rev": "1890693508", + "_rev": "302817247", "_type": { - "_id": "validation", + "_id": "federation/multi", "collection": false, - "name": "Validation Service", + "name": "Multi-Federation Protocol", + }, + "location": "global", + "nextDescendents": [], + "singleLogoutHandlerList": [ + "key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler", + "key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler", + ], + }, + "federation/saml2soapbinding": { + "_id": "", + "_rev": "197569431", + "_type": { + "_id": "federation/saml2soapbinding", + "collection": false, + "name": "SAML v2.0 SOAP Binding", + }, + "location": "global", + "nextDescendents": [], + "requestHandlers": [], + }, + "globalization": { + "_id": "", + "_rev": "770074612", + "_type": { + "_id": "globalization", + "collection": false, + "name": "Globalization Settings", }, + "charsetMappings": [ + "locale=zh|charset=UTF-8;GB2312", + "locale=ar|charset=UTF-8;ISO-8859-6", + "locale=es|charset=UTF-8;ISO-8859-15", + "locale=de|charset=UTF-8;ISO-8859-15", + "locale=zh_TW|charset=UTF-8;BIG5", + "locale=fr|charset=UTF-8;ISO-8859-15", + "locale=ko|charset=UTF-8;EUC-KR", + "locale=en|charset=UTF-8;ISO-8859-1", + "locale=th|charset=UTF-8;TIS-620", + "locale=ja|charset=UTF-8;Shift_JIS;EUC-JP", + ], "defaults": { - "validGotoDestinations": [], + "commonNameFormats": [ + "zh={sn}{givenname}", + ], }, "location": "global", "nextDescendents": [], - "validGotoDestinations": [], + "sun-identity-g11n-settings-charset-alias-mapping": [ + "mimeName=EUC-KR|javaName=EUC_KR", + "mimeName=EUC-JP|javaName=EUC_JP", + "mimeName=Shift_JIS|javaName=SJIS", + ], }, - }, - "sync": undefined, - "variable": undefined, - }, - "meta": Any, - "realm": { - "root": { - "agent": { - "Test IG": { - "_id": "Test IG", - "_rev": "2092403291", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents", - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "None", - "secretLabelIdentifier": null, - "status": "Active", - "userpassword": null, + "id-repositories": { + "_id": "", + "_rev": "-1106014221", + "_type": { + "_id": "id-repositories", + "collection": false, + "name": "sunIdentityRepositoryService", }, - "Test Web": { - "_id": "Test Web", - "_rev": "899560106", - "_type": { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents", - }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ - "", - ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, - "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false, + "defaults": { + "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", + "sunIdRepoAttributeValidator": [ + "class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl", + "minimumPasswordLength=8", + "usernameInvalidChars=*|(|)|&|!", + ], + }, + "location": "global", + "nextDescendents": [ + { + "_id": "agent", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "amServicesWebAgent": { - "amLoginUrl": [], - "amLogoutUrl": [ - "http://testurl.com:8080/UI/Logout", - ], - "applicationLogoutUrls": [ - "", - ], - "conditionalLoginUrl": [ - "", - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ - "", - ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ - "", - ], - "regexConditionalLoginUrl": [ - "", - ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session", + { + "_id": "agentgroup", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsList": [ - "", - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ - "", - ], - "notEnforcedUrlsRegex": false, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, + { + "_id": "agentonly", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "http://testurl.com:8080/amagent", - "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/", - ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "jwtAuditWhitelist": null, - "jwtName": "am-auth-jwt", - "notificationsEnabled": true, - "repositoryLocation": "centralized", - "resetIdleTime": false, - "secretLabelIdentifier": null, - "ssoOnlyMode": false, - "status": "Active", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30, + { + "_id": "filteredrole", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "", - ], + { + "_id": "group", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "", - ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", - "cookieResetEnabled": false, - "cookieResetList": [ - "", - ], - "cookieResetOnRedirect": false, - "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false, + { + "_id": "realm", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - }, - "test java": { - "_id": "test java", - "_rev": "-1966552764", - "_type": { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents", + { + "_id": "role", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "", - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "", - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataPreserveMultipartLimitBytes": 104857600, - "postDataPreserveMultipartParameterLimitBytes": 104857600, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "retainPreviousOverrideBehavior": true, - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {}, + { + "_id": "user", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities", + }, }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "testurl.com", - "authServicePort": 8080, - "authServiceProtocol": "http", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "", - ], - "conditionalLogoutUrl": [ - "", - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "", - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "policyNotifications": true, - "restrictToRealm": {}, - "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", - "urlPolicyEnvGetParameters": [ - "", - ], - "urlPolicyEnvJsessionParameters": [ - "", - ], - "urlPolicyEnvPostParameters": [ - "", - ], + { + "_id": "amAdmin", + "_type": { + "_id": "user", + "collection": true, + "name": "User", + }, + "cn": "amAdmin", + "dn": "uid=amAdmin,ou=people,", + "givenName": "amAdmin", + "inetUserStatus": "Active", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "sn": "amAdmin", + "userPassword": null, }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF", + { + "_id": "anonymous", + "_type": { + "_id": "user", + "collection": true, + "name": "User", }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "", - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "", - ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {}, + "cn": "anonymous", + "dn": "uid=anonymous,ou=people,", + "givenName": "anonymous", + "inetUserStatus": "Inactive", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "sn": "anonymous", + "userPassword": null, }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": true, - "agentgroup": "Test Java Group", - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/", - ], - "configurationReloadInterval": 0, - "customResponseHeader": {}, - "debugLevel": "error", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "ALL", - }, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "secretLabelIdentifier": null, - "status": "Active", - "userAttributeName": "employeenumber", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30, - }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "", - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/test/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*", - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "8080": "http", - }, - "unwantedHttpUrlParams": [ - "", - ], - "unwantedHttpUrlRegexParams": [ - "", - ], - "wantedHttpUrlParams": [ - "", - ], - "wantedHttpUrlRegexParams": [ - "", - ], - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "", - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ - "", - ], - "cdssoRedirectUri": "/test/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, - "cookieResetEnabled": false, - "cookieResetNames": [ - "", - ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], - "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {}, - }, - }, - }, - "application": { - "test client": { - "_id": "test client", - "_provider": { - "_id": "", - "_rev": "2117196426", + { + "_id": "dsameuser", "_type": { - "_id": "oauth-oidc", - "collection": false, - "name": "OAuth2 Provider", - }, - "advancedOAuth2Config": { - "allowClientCredentialsInTokenRequestQueryParameters": false, - "allowedAudienceValues": [], - "authenticationAttributes": [ - "uid", - ], - "codeVerifierEnforced": "false", - "defaultScopes": [], - "displayNameAttribute": "cn", - "expClaimRequiredInRequestObject": false, - "grantTypes": [ - "implicit", - "urn:ietf:params:oauth:grant-type:saml2-bearer", - "refresh_token", - "password", - "client_credentials", - "urn:ietf:params:oauth:grant-type:device_code", - "authorization_code", - "urn:openid:params:grant-type:ciba", - "urn:ietf:params:oauth:grant-type:uma-ticket", - "urn:ietf:params:oauth:grant-type:token-exchange", - "urn:ietf:params:oauth:grant-type:jwt-bearer", - ], - "hashSalt": "changeme", - "includeSubnameInTokenClaims": true, - "macaroonTokenFormat": "V2", - "maxAgeOfRequestObjectNbfClaim": 0, - "maxDifferenceBetweenRequestObjectNbfAndExp": 0, - "moduleMessageEnabledInPasswordGrant": false, - "nbfClaimRequiredInRequestObject": false, - "parRequestUriLifetime": 90, - "passwordGrantAuthService": "[Empty]", - "persistentClaims": [], - "refreshTokenGracePeriod": 0, - "requestObjectProcessing": "OIDC", - "requirePushedAuthorizationRequests": false, - "responseTypeClasses": [ - "code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler", - "id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler", - "token|org.forgerock.oauth2.core.TokenResponseTypeHandler", - ], - "supportedScopes": [], - "supportedSubjectTypes": [ - "public", - "pairwise", - ], - "tlsCertificateBoundAccessTokensEnabled": true, - "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", - "tokenCompressionEnabled": false, - "tokenEncryptionEnabled": false, - "tokenExchangeClasses": [ - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger", - ], - "tokenSigningAlgorithm": "HS256", - "tokenValidatorClasses": [ - "urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator", - "urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator", - ], - }, - "advancedOIDCConfig": { - "alwaysAddClaimsToToken": false, - "amrMappings": {}, - "authorisedIdmDelegationClients": [], - "authorisedOpenIdConnectSSOClients": [], - "claimsParameterSupported": false, - "defaultACR": [], - "idTokenInfoClientAuthenticationEnabled": true, - "includeAllKtyAlgCombinationsInJwksUri": false, - "loaMapping": {}, - "storeOpsTokens": true, - "supportedAuthorizationResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedAuthorizationResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedAuthorizationResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - "supportedRequestParameterEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedRequestParameterEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedRequestParameterSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - "supportedTokenEndpointAuthenticationSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - "supportedTokenIntrospectionResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedTokenIntrospectionResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedTokenIntrospectionResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - "supportedUserInfoEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedUserInfoEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedUserInfoSigningAlgorithms": [ - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - ], - "useForceAuthnForMaxAge": false, - "useForceAuthnForPromptLogin": false, - }, - "cibaConfig": { - "cibaAuthReqIdLifetime": 600, - "cibaMinimumPollingInterval": 2, - "supportedCibaSigningAlgorithms": [ - "ES256", - "PS256", - ], - }, - "clientDynamicRegistrationConfig": { - "allowDynamicRegistration": false, - "dynamicClientRegistrationScope": "dynamic_client_registration", - "dynamicClientRegistrationSoftwareStatementRequired": false, - "generateRegistrationAccessTokens": true, - "requiredSoftwareStatementAttestedAttributes": [ - "redirect_uris", - ], - }, - "consent": { - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "supportedRcsRequestEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedRcsRequestEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedRcsRequestSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - "supportedRcsResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedRcsResponseEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedRcsResponseSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - }, - "coreOAuth2Config": { - "accessTokenLifetime": 3600, - "accessTokenMayActScript": "[Empty]", - "codeLifetime": 120, - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "macaroonTokensEnabled": false, - "oidcMayActScript": "[Empty]", - "refreshTokenLifetime": 604800, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "usePolicyEngineForScope": false, - }, - "coreOIDCConfig": { - "jwtTokenLifetime": 3600, - "oidcDiscoveryEndpointEnabled": false, - "overrideableOIDCClaims": [], - "supportedClaims": [], - "supportedIDTokenEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW", - ], - "supportedIDTokenEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - ], - "supportedIDTokenSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512", - ], - }, - "deviceCodeConfig": { - "deviceCodeLifetime": 300, - "devicePollInterval": 5, - "deviceUserCodeCharacterSet": "234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz", - "deviceUserCodeLength": 8, - }, - "pluginsConfig": { - "accessTokenEnricherClass": "org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher", - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "JAVA", - "authorizeEndpointDataProviderScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "JAVA", - "evaluateScopeScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", - "userCodeGeneratorClass": "org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator", - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "JAVA", - "validateScopeScript": "25e6c06d-cf70-473b-bd28-26931edc476b", + "_id": "user", + "collection": true, + "name": "User", }, + "dn": "cn=dsameuser,ou=DSAME Users,", + "inetUserStatus": "Active", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "userPassword": null, }, - "_rev": "34495015", - "_type": { - "_id": "OAuth2Client", - "collection": true, - "name": "OAuth2 Clients", - }, - "advancedOAuth2ClientConfig": { - "clientUri": [], - "contacts": [], - "customProperties": [], - "descriptions": [], - "grantTypes": [ - "authorization_code", - ], - "isConsentImplied": false, - "javascriptOrigins": [], - "logoUri": [], - "mixUpMitigation": false, - "name": [], - "policyUri": [], - "refreshTokenGracePeriod": 0, - "requestUris": [], - "require_pushed_authorization_requests": false, - "responseTypes": [ - "code", - "token", - "id_token", - "code token", - "token id_token", - "code id_token", - "code token id_token", - "device_code", - "device_code id_token", - ], - "sectorIdentifierUri": null, - "softwareIdentity": null, - "softwareVersion": null, - "subjectType": "public", - "tokenEndpointAuthMethod": "client_secret_basic", - "tokenExchangeAuthLevel": 0, - "tosURI": [], - "updateAccessToken": null, - }, - "coreOAuth2ClientConfig": { - "accessTokenLifetime": 0, - "agentgroup": null, - "authorizationCodeLifetime": 0, - "clientName": [], - "clientType": "Confidential", - "defaultScopes": [], - "loopbackInterfaceRedirection": false, - "redirectionUris": [], - "refreshTokenLifetime": 0, - "scopes": [], - "secretLabelIdentifier": null, - "status": "Active", - }, - "coreOpenIDClientConfig": { - "backchannel_logout_session_required": false, - "backchannel_logout_uri": null, - "claims": [], - "clientSessionUri": null, - "defaultAcrValues": [], - "defaultMaxAge": 600, - "defaultMaxAgeEnabled": false, - "jwtTokenLifetime": 0, - "postLogoutRedirectUri": [], - }, - "coreUmaClientConfig": { - "claimsRedirectionUris": [], - }, - "overrideOAuth2ClientConfig": { - "accessTokenMayActScript": "[Empty]", - "accessTokenModificationPluginType": "PROVIDER", - "accessTokenModificationScript": "[Empty]", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "PROVIDER", - "authorizeEndpointDataProviderScript": "[Empty]", - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "PROVIDER", - "evaluateScopeScript": "[Empty]", - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "oidcClaimsPluginType": "PROVIDER", - "oidcClaimsScript": "[Empty]", - "oidcMayActScript": "[Empty]", - "overrideableOIDCClaims": [], - "providerOverridesEnabled": false, - "remoteConsentServiceId": null, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "tokenEncryptionEnabled": false, - "useForceAuthnForMaxAge": false, - "usePolicyEngineForScope": false, - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "PROVIDER", - "validateScopeScript": "[Empty]", - }, - "signEncOAuth2ClientConfig": { - "authorizationResponseEncryptionAlgorithm": null, - "authorizationResponseEncryptionMethod": null, - "authorizationResponseSigningAlgorithm": "RS256", - "clientJwtPublicKey": null, - "idTokenEncryptionAlgorithm": "RSA-OAEP-256", - "idTokenEncryptionEnabled": false, - "idTokenEncryptionMethod": "A128CBC-HS256", - "idTokenPublicEncryptionKey": null, - "idTokenSignedResponseAlg": "RS256", - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "mTLSCertificateBoundAccessTokens": false, - "mTLSSubjectDN": null, - "mTLSTrustedCert": null, - "publicKeyLocation": "jwks_uri", - "requestParameterEncryptedAlg": null, - "requestParameterEncryptedEncryptionAlgorithm": "A128CBC-HS256", - "requestParameterSignedAlg": null, - "tokenEndpointAuthSigningAlgorithm": "RS256", - "tokenIntrospectionEncryptedResponseAlg": "RSA-OAEP-256", - "tokenIntrospectionEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "tokenIntrospectionResponseFormat": "JSON", - "tokenIntrospectionSignedResponseAlg": "RS256", - "userinfoEncryptedResponseAlg": null, - "userinfoEncryptedResponseEncryptionAlgorithm": "A128CBC-HS256", - "userinfoResponseFormat": "JSON", - "userinfoSignedResponseAlg": null, - }, - }, + ], }, - "authentication": { + "idm-integration": { "_id": "", + "_rev": "2008236181", "_type": { - "_id": "EMPTY", + "_id": "idm-integration", "collection": false, - "name": "Core", - }, - "accountlockout": { - "lockoutDuration": 0, - "lockoutDurationMultiplier": 1, - "lockoutWarnUserCount": 0, - "loginFailureCount": 5, - "loginFailureDuration": 300, - "loginFailureLockoutMode": false, - "storeInvalidAttemptsInDataStore": true, - }, - "core": { - "adminAuthModule": "ldapService", - "orgConfig": "ldapService", + "name": "IDM Provisioning", }, - "general": { - "defaultAuthLevel": 0, - "identityType": [ - "agent", - "user", - ], - "locale": "en_US", - "statelessSessionsEnabled": false, - "twoFactorRequired": false, - "userStatusCallbackPlugins": [], + "configurationCacheDuration": 0, + "enabled": false, + "idmProvisioningClient": "idm-provisioning", + "jwtSigningCompatibilityMode": false, + "location": "global", + "nextDescendents": [], + "provisioningClientScopes": [ + "fr:idm:*", + ], + "useInternalOAuth2Provider": false, + }, + "iot": { + "_id": "", + "_rev": "1825149804", + "_type": { + "_id": "iot", + "collection": false, + "name": "IoT Service", }, - "postauthprocess": { - "loginFailureUrl": [], - "loginPostProcessClass": [], - "loginSuccessUrl": [ - "/am/console", + "defaults": { + "attributeAllowlist": [ + "thingConfig", ], - "userAttributeSessionMapping": [], - "usernameGeneratorClass": "com.sun.identity.authentication.spi.DefaultUserIDGenerator", - "usernameGeneratorEnabled": true, - }, - "security": { - "addClearSiteDataHeader": true, - "moduleBasedAuthEnabled": true, - "sharedSecret": null, - "zeroPageLoginAllowedWithoutReferrer": true, - "zeroPageLoginEnabled": false, - "zeroPageLoginReferrerWhiteList": [], + "createOAuthClient": false, + "createOAuthJwtIssuer": false, + "oauthClientName": "forgerock-iot-oauth2-client", + "oauthJwtIssuerName": "forgerock-iot-jwt-issuer", }, - "trees": { - "authenticationSessionsMaxDuration": 5, - "authenticationSessionsStateManagement": "JWT", - "authenticationSessionsWhitelist": false, - "authenticationTreeCookieHttpOnly": true, - "suspendedAuthenticationTimeout": 5, + "location": "global", + "nextDescendents": [], + }, + "logging": { + "_id": "", + "_rev": "1282484869", + "_type": { + "_id": "logging", + "collection": false, + "name": "Logging", }, - "userprofile": { - "aliasAttributeName": [ - "uid", - ], - "defaultRole": [], - "dynamicProfileCreation": "false", + "database": { + "databaseFailureMemoryBufferSize": 2, + "driver": "oracle.jdbc.driver.OracleDriver", + "maxRecords": 500, + "user": "dbuser", }, - }, - "idp": {}, - "managedApplication": undefined, - "policy": { - "Test Policy": { - "_id": "Test Policy", - "_rev": "1728509786771", - "actionValues": {}, - "active": true, - "applicationName": "iPlanetAMWebAgentService", - "createdBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": "2024-06-27T17:07:04.220Z", - "description": "", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": "2024-10-09T21:36:26.771Z", - "name": "Test Policy", - "resourceTypeUuid": "76656a38-5f8e-401b-83aa-4ccb74ce88d2", - "resources": [ - "*://*:*/*?*", - ], - "subject": { - "subjects": [ - { - "type": "NONE", - }, - { - "subjectValues": [ - "id=phales,ou=user,dc=openam,dc=forgerock,dc=org", - ], - "type": "Identity", - }, - ], - "type": "AND", - }, + "file": { + "location": "%BASE_DIR%/var/audit/", + "maxFileSize": 100000000, + "numberHistoryFiles": 1, + "rotationEnabled": true, + "rotationInterval": -1, + "suffix": "-MM.dd.yy-kk.mm", }, - }, - "policyset": { - "iPlanetAMWebAgentService": { - "applicationType": "iPlanetAMWebAgentService", - "attributeNames": [], - "conditions": [ - "AND", - "OR", - "NOT", - "AMIdentityMembership", - "AuthLevel", - "LEAuthLevel", - "AuthScheme", - "AuthenticateToRealm", - "AuthenticateToService", - "IPv4", - "IPv6", - "LDAPFilter", - "OAuth2Scope", - "ResourceEnvIP", - "Session", - "SessionProperty", - "SimpleTime", - "Script", - "Transaction", - ], - "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": 1718897366825, - "description": "The built-in Application used by OpenAM Policy Agents.", - "displayName": "Default Policy Set", - "editable": true, - "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786744, - "name": "iPlanetAMWebAgentService", - "resourceComparator": null, - "resourceTypeUuids": [ - "76656a38-5f8e-401b-83aa-4ccb74ce88d2", - ], - "saveIndex": null, - "searchIndex": null, - "subjects": [ - "AND", - "OR", - "NOT", - "AuthenticatedUsers", - "Identity", - "JwtClaim", - "NONE", + "general": { + "bufferSize": 25, + "bufferTime": 60, + "buffering": "ON", + "certificateStore": "%BASE_DIR%/var/audit/Logger.jks", + "fields": [ + "IPAddr", + "LoggedBy", + "LoginID", + "NameID", + "ModuleName", + "ContextID", + "Domain", + "LogLevel", + "HostName", + "MessageID", ], + "filesPerKeystore": 5, + "jdkLoggingLevel": "INFO", + "security": "OFF", + "signaturePeriod": 900, + "signingAlgorithm": "SHA1withRSA", + "status": "INACTIVE", + "type": "File", + "verifyPeriod": 3600, }, - "oauth2Scopes": { - "applicationType": "iPlanetAMWebAgentService", - "attributeNames": [], - "conditions": [ - "AND", - "OR", - "NOT", - "AMIdentityMembership", - "AuthLevel", - "LEAuthLevel", - "AuthScheme", - "AuthenticateToRealm", - "AuthenticateToService", - "IPv4", - "IPv6", - "LDAPFilter", - "OAuth2Scope", - "ResourceEnvIP", - "Session", - "SessionProperty", - "SimpleTime", - "Script", - "Transaction", - ], - "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": 1718897366918, - "description": "The built-in Application used by the OAuth2 scope authorization process.", - "displayName": "Default OAuth2 Scopes Policy Set", - "editable": true, - "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786761, - "name": "oauth2Scopes", - "resourceComparator": null, - "resourceTypeUuids": [ - "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b", - ], - "saveIndex": null, - "searchIndex": null, - "subjects": [ - "AND", - "OR", - "NOT", - "AuthenticatedUsers", - "Identity", - "JwtClaim", - "NONE", - ], + "location": "global", + "nextDescendents": [], + "resolveHostName": false, + "syslog": { + "facility": "local5", + "host": "localhost", + "port": 514, + "protocol": "UDP", + "timeout": 30, }, }, - "resourcetype": { - "76656a38-5f8e-401b-83aa-4ccb74ce88d2": { - "actions": { - "DELETE": true, - "GET": true, - "HEAD": true, - "OPTIONS": true, - "PATCH": true, - "POST": true, - "PUT": true, - }, - "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": 1422892465848, - "description": "The built-in URL Resource Type available to OpenAM Policies.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786629, - "name": "URL", - "patterns": [ - "*://*:*/*", - "*://*:*/*?*", - ], - "uuid": "76656a38-5f8e-401b-83aa-4ccb74ce88d2", + "monitoring": { + "_id": "", + "_rev": "-218398273", + "_type": { + "_id": "monitoring", + "collection": false, + "name": "Monitoring", }, - "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b": { - "actions": { - "GRANT": true, + "authfilePath": "%BASE_DIR%/security/openam_mon_auth", + "enabled": true, + "httpEnabled": false, + "httpPort": 8082, + "location": "global", + "nextDescendents": [ + { + "_id": "crest", + "_type": { + "_id": "crest", + "collection": true, + "name": "CREST Reporter", + }, + "enabled": false, }, - "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": 1517161800564, - "description": "The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786611, - "name": "OAuth2 Scope", - "patterns": [ - "*://*:*/*", - "*://*:*/*?*", - "*", - ], - "uuid": "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b", - }, - }, - "saml": { - "cot": { - "Test COT": { - "_id": "Test COT", - "_rev": "-2140927674", + { + "_id": "prometheus", "_type": { - "_id": "circlesoftrust", + "_id": "prometheus", "collection": true, - "name": "Circle of Trust", + "name": "Prometheus Reporter", }, - "status": "active", - "trustedProviders": [], + "authenticationType": "BASIC", + "enabled": false, + "password": null, + "username": "prometheus", }, + ], + "policyHistoryWindowSize": 10000, + "rmiEnabled": false, + "rmiPort": 9999, + "sessionHistoryWindowSize": 10000, + "snmpEnabled": false, + "snmpPort": 8085, + }, + "naming": { + "_id": "", + "_rev": "329242288", + "_type": { + "_id": "naming", + "collection": false, + "name": "Naming", }, - "hosted": { - "VGVzdCBFbnRpdHk": { - "_id": "VGVzdCBFbnRpdHk", - "_rev": "-1034855459", - "entityId": "Test Entity", - "identityProvider": { - "advanced": { - "ecpConfiguration": { - "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper", - }, - "idpAdapter": { - "idpAdapterScript": "[Empty]", - }, - "idpFinderImplementation": {}, - "relayStateUrlList": {}, - "saeConfiguration": { - "idpUrl": "http://localhost:8080/am/idpsaehandler/metaAlias/test", - }, - "sessionSynchronization": {}, - }, - "assertionContent": { - "assertionCache": {}, - "assertionTime": { - "effectiveTime": 600, - "notBeforeTimeSkew": 600, - }, - "authenticationContext": { - "authContextItems": [ - { - "contextReference": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", - "level": 0, - }, - ], - "authenticationContextMapper": "com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper", - }, - "basicAuthentication": {}, - "nameIdFormat": { - "nameIdFormatList": [ - "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", - "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", - "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", - "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", - "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", - "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", - "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName", - ], - "nameIdValueMap": [ - { - "binary": false, - "key": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", - "value": "mail", - }, - ], - }, - "signingAndEncryption": { - "encryption": {}, - "requestResponseSigning": {}, - "secretIdAndAlgorithms": {}, - }, - }, - "assertionProcessing": { - "accountMapper": { - "accountMapper": "com.sun.identity.saml2.plugins.DefaultIDPAccountMapper", - }, - "attributeMapper": { - "attributeMapper": "com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper", - "attributeMapperScript": "[Empty]", - }, - "localConfiguration": {}, - }, - "services": { - "assertionIdRequest": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/AIDReqSoap/IDPRole/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", - "location": "http://localhost:8080/am/AIDReqUri/IDPRole/metaAlias/test", - }, - ], - "metaAlias": "/test", - "nameIdMapping": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/NIMSoap/metaAlias/test", - }, - ], - "serviceAttributes": { - "artifactResolutionService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/ArtifactResolver/metaAlias/test", - }, - ], - "nameIdService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", - "location": "http://localhost:8080/am/IDPMniRedirect/metaAlias/test", - "responseLocation": "http://localhost:8080/am/IDPMniRedirect/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "location": "http://localhost:8080/am/IDPMniPOST/metaAlias/test", - "responseLocation": "http://localhost:8080/am/IDPMniPOST/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/IDPMniSoap/metaAlias/test", - }, - ], - "singleLogoutService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", - "location": "http://localhost:8080/am/IDPSloRedirect/metaAlias/test", - "responseLocation": "http://localhost:8080/am/IDPSloRedirect/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "location": "http://localhost:8080/am/IDPSloPOST/metaAlias/test", - "responseLocation": "http://localhost:8080/am/IDPSloPOST/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/IDPSloSoap/metaAlias/test", - }, - ], - "singleSignOnService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", - "location": "http://localhost:8080/am/SSORedirect/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "location": "http://localhost:8080/am/SSOPOST/metaAlias/test", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/SSOSoap/metaAlias/test", - }, - ], - }, - }, - }, - "serviceProvider": { - "advanced": { - "ecpConfiguration": { - "ecpRequestIdpListFinderImpl": "com.sun.identity.saml2.plugins.ECPIDPFinder", - }, - "idpProxy": {}, - "relayStateUrlList": {}, - "saeConfiguration": { - "spUrl": "http://localhost:8080/am/spsaehandler/metaAlias/test2", - }, - }, - "assertionContent": { - "assertionTimeSkew": 300, - "authenticationContext": { - "authContextItems": [ - { - "contextReference": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", - "defaultItem": true, - "level": 0, - }, - ], - "authenticationComparisonType": "Exact", - "authenticationContextMapper": "com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper", - "includeRequestedAuthenticationContext": true, - }, - "basicAuthentication": {}, - "nameIdFormat": { - "nameIdFormatList": [ - "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", - "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", - "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", - "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", - "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", - "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", - "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName", - ], - }, - "signingAndEncryption": { - "encryption": {}, - "requestResponseSigning": {}, - "secretIdAndAlgorithms": {}, - }, - }, - "assertionProcessing": { - "accountMapping": { - "spAccountMapper": "com.sun.identity.saml2.plugins.DefaultSPAccountMapper", - }, - "adapter": { - "spAdapterScript": "[Empty]", - }, - "attributeMapper": { - "attributeMap": [ - { - "key": "*", - "value": "*", - }, - ], - "attributeMapper": "com.sun.identity.saml2.plugins.DefaultSPAttributeMapper", - }, - "autoFederation": {}, - "responseArtifactMessageEncoding": { - "encoding": "URI", - }, - "url": {}, - }, - "services": { - "metaAlias": "/test2", - "serviceAttributes": { - "assertionConsumerService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", - "index": 0, - "isDefault": true, - "location": "http://localhost:8080/am/Consumer/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "index": 1, - "isDefault": false, - "location": "http://localhost:8080/am/Consumer/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS", - "index": 2, - "isDefault": false, - "location": "http://localhost:8080/am/Consumer/ECP/metaAlias/test2", - }, - ], - "nameIdService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", - "location": "http://localhost:8080/am/SPMniRedirect/metaAlias/test2", - "responseLocation": "http://localhost:8080/am/SPMniRedirect/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "location": "http://localhost:8080/am/SPMniPOST/metaAlias/test2", - "responseLocation": "http://localhost:8080/am/SPMniPOST/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/SPMniSoap/metaAlias/test2", - "responseLocation": "http://localhost:8080/am/SPMniSoap/metaAlias/test2", - }, - ], - "singleLogoutService": [ - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", - "location": "http://localhost:8080/am/SPSloRedirect/metaAlias/test2", - "responseLocation": "http://localhost:8080/am/SPSloRedirect/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", - "location": "http://localhost:8080/am/SPSloPOST/metaAlias/test2", - "responseLocation": "http://localhost:8080/am/SPSloPOST/metaAlias/test2", - }, - { - "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", - "location": "http://localhost:8080/am/SPSloSoap/metaAlias/test2", - }, - ], - }, - }, - }, + "endpointConfig": { + "jaxwsUrl": "%protocol://%host:%port%uri/identityservices/", + "stsMexUrl": "%protocol://%host:%port%uri/sts/mex", + "stsUrl": "%protocol://%host:%port%uri/sts", + }, + "federationConfig": { + "jaxrpcUrl": "%protocol://%host:%port%uri/jaxrpc/", + "samlAssertionManagerUrl": "%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF", + "samlAwareServletUrl": "%protocol://%host:%port%uri/SAMLAwareServlet", + "samlPostServletUrl": "%protocol://%host:%port%uri/SAMLPOSTProfileServlet", + "samlSoapReceiverUrl": "%protocol://%host:%port%uri/SAMLSOAPReceiver", + }, + "generalConfig": { + "authUrl": "%protocol://%host:%port%uri/authservice", + "loggingUrl": "%protocol://%host:%port%uri/loggingservice", + "policyUrl": "%protocol://%host:%port%uri/policyservice", + "profileUrl": "%protocol://%host:%port%uri/profileservice", + "sessionUrl": "%protocol://%host:%port%uri/sessionservice", + }, + "location": "global", + "nextDescendents": [], + }, + "oauth-oidc": { + "_id": "", + "_rev": "865723864", + "_type": { + "_id": "oauth-oidc", + "collection": false, + "name": "OAuth2 Provider", + }, + "allowUnauthorisedAccessToUserCodeForm": false, + "blacklistCacheSize": 10000, + "blacklistPollInterval": 60, + "blacklistPurgeDelay": 1, + "defaults": { + "advancedOAuth2Config": { + "allowClientCredentialsInTokenRequestQueryParameters": false, + "allowedAudienceValues": [], + "authenticationAttributes": [ + "uid", + ], + "codeVerifierEnforced": "false", + "defaultScopes": [], + "displayNameAttribute": "cn", + "expClaimRequiredInRequestObject": false, + "grantTypes": [ + "implicit", + "urn:ietf:params:oauth:grant-type:saml2-bearer", + "refresh_token", + "password", + "client_credentials", + "urn:ietf:params:oauth:grant-type:device_code", + "authorization_code", + "urn:openid:params:grant-type:ciba", + "urn:ietf:params:oauth:grant-type:uma-ticket", + "urn:ietf:params:oauth:grant-type:token-exchange", + "urn:ietf:params:oauth:grant-type:jwt-bearer", + ], + "hashSalt": "changeme", + "includeSubnameInTokenClaims": true, + "macaroonTokenFormat": "V2", + "maxAgeOfRequestObjectNbfClaim": 0, + "maxDifferenceBetweenRequestObjectNbfAndExp": 0, + "moduleMessageEnabledInPasswordGrant": false, + "nbfClaimRequiredInRequestObject": false, + "parRequestUriLifetime": 90, + "persistentClaims": [], + "refreshTokenGracePeriod": 0, + "requestObjectProcessing": "OIDC", + "requirePushedAuthorizationRequests": false, + "responseTypeClasses": [ + "code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler", + "id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler", + "token|org.forgerock.oauth2.core.TokenResponseTypeHandler", + ], + "supportedScopes": [], + "supportedSubjectTypes": [ + "public", + "pairwise", + ], + "tlsCertificateBoundAccessTokensEnabled": true, + "tlsCertificateRevocationCheckingEnabled": false, + "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tokenCompressionEnabled": false, + "tokenEncryptionEnabled": false, + "tokenExchangeClasses": [ + "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger", + "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger", + "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger", + "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger", + ], + "tokenSigningAlgorithm": "HS256", + "tokenValidatorClasses": [ + "urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator", + "urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator", + ], + }, + "advancedOIDCConfig": { + "alwaysAddClaimsToToken": false, + "amrMappings": {}, + "authorisedIdmDelegationClients": [], + "authorisedOpenIdConnectSSOClients": [], + "claimsParameterSupported": false, + "defaultACR": [], + "idTokenInfoClientAuthenticationEnabled": true, + "includeAllKtyAlgCombinationsInJwksUri": false, + "loaMapping": {}, + "storeOpsTokens": true, + "supportedAuthorizationResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedAuthorizationResponseEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedAuthorizationResponseSigningAlgorithms": [ + "PS384", + "RS384", + "EdDSA", + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + "supportedRequestParameterEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "ECDH-ES+A128KW", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedRequestParameterEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedRequestParameterSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + "supportedTokenEndpointAuthenticationSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + "supportedTokenIntrospectionResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedTokenIntrospectionResponseEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedTokenIntrospectionResponseSigningAlgorithms": [ + "PS384", + "RS384", + "EdDSA", + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + "supportedUserInfoEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedUserInfoEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedUserInfoSigningAlgorithms": [ + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + ], + "useForceAuthnForMaxAge": false, + "useForceAuthnForPromptLogin": false, + }, + "cibaConfig": { + "cibaAuthReqIdLifetime": 600, + "cibaMinimumPollingInterval": 2, + "supportedCibaSigningAlgorithms": [ + "ES256", + "PS256", + ], + }, + "clientDynamicRegistrationConfig": { + "allowDynamicRegistration": false, + "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationSoftwareStatementRequired": false, + "generateRegistrationAccessTokens": true, + "requiredSoftwareStatementAttestedAttributes": [ + "redirect_uris", + ], + }, + "consent": { + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "supportedRcsRequestEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedRcsRequestEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedRcsRequestSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + "supportedRcsResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "ECDH-ES+A128KW", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedRcsResponseEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedRcsResponseSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + }, + "coreOAuth2Config": { + "accessTokenLifetime": 3600, + "accessTokenMayActScript": "[Empty]", + "codeLifetime": 120, + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "macaroonTokensEnabled": false, + "oidcMayActScript": "[Empty]", + "refreshTokenLifetime": 604800, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "usePolicyEngineForScope": false, + }, + "coreOIDCConfig": { + "jwtTokenLifetime": 3600, + "oidcDiscoveryEndpointEnabled": false, + "overrideableOIDCClaims": [], + "supportedClaims": [], + "supportedIDTokenEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW", + ], + "supportedIDTokenEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + ], + "supportedIDTokenSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512", + ], + }, + "deviceCodeConfig": { + "deviceCodeLifetime": 300, + "devicePollInterval": 5, + "deviceUserCodeCharacterSet": "234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz", + "deviceUserCodeLength": 8, + }, + "pluginsConfig": { + "accessTokenEnricherClass": "org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher", + "accessTokenModificationPluginType": "SCRIPTED", + "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "JAVA", + "authorizeEndpointDataProviderScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "JAVA", + "evaluateScopeScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", + "oidcClaimsPluginType": "SCRIPTED", + "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "userCodeGeneratorClass": "org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator", + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "JAVA", + "validateScopeScript": "25e6c06d-cf70-473b-bd28-26931edc476b", }, }, - "metadata": { - "VGVzdCBFbnRpdHk": [ - "", - "", - " ", - " ", - " ", - " ", - " PGNlcnRpZmljYXRlPg==", - " ", - " ", - " ", - " ", - " ", - " ", - " PGNlcnRpZmljYXRlPg==", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", - " urn:oasis:names:tc:SAML:2.0:nameid-format:transient", - " urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", - " urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", - " urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", - " urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", - " urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " PGNlcnRpZmljYXRlPg==", - " ", - " ", - " ", - " ", - " ", - " ", - " PGNlcnRpZmljYXRlPg==", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", - " urn:oasis:names:tc:SAML:2.0:nameid-format:transient", - " urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", - " urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", - " urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", - " urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", - " urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName", - " ", - " ", - " ", - " ", - "", - "", - "", - ], + "jwtTokenLifetimeValidationEnabled": true, + "jwtTokenRequiredClaims": [], + "jwtTokenUnreasonableLifetime": 86400, + "location": "global", + "nextDescendents": [], + "statelessGrantTokenUpgradeCompatibilityMode": false, + "storageScheme": "CTS_ONE_TO_ONE_MODEL", + }, + "pingOneWorkerService": { + "_id": "", + "_rev": "-1375352311", + "_type": { + "_id": "pingOneWorkerService", + "collection": false, + "name": "PingOne Worker Service", }, - "remote": {}, + "defaults": { + "enabled": true, + }, + "location": "global", + "nextDescendents": [], }, - "script": { - "01e1a3c0-038b-4c16-956a-6c9d89328cff": { - "_id": "01e1a3c0-038b-4c16-956a-6c9d89328cff", - "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Default global script for a scripted decision node", - "evaluatorVersion": "1.0", - "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Authentication Tree Decision Node Script", - "script": [ - "/*", - " - Data made available by nodes that have already executed are available in the sharedState variable.", - " - The script should set outcome to either "true" or "false".", - " */", - "", - "outcome = "true";", - "", - ], + "platform": { + "_id": "", + "_rev": "-1580305574", + "_type": { + "_id": "platform", + "collection": false, + "name": "Platform", }, - "1244e639-4a31-401d-ab61-d75133d8dc9e": { - "_id": "1244e639-4a31-401d-ab61-d75133d8dc9e", - "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Normalizes raw profile data from Instagram", - "evaluatorVersion": "1.0", - "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Instagram Profile Normalization", - "script": [ - "/*", - " * Copyright 2020 ForgeRock AS. All Rights Reserved", - " *", - " * Use of this code requires a commercial software license with ForgeRock AS.", - " * or with one of its affiliates. All use shall be exclusively subject", - " * to such license between the licensee and ForgeRock AS.", - " */", - "", - "import static org.forgerock.json.JsonValue.field", - "import static org.forgerock.json.JsonValue.json", - "import static org.forgerock.json.JsonValue.object", - "", - "return json(object(", - " field("id", rawProfile.id),", - " field("username", rawProfile.username)))", - "", - ], + "cookieDomains": [], + "locale": "en_US", + "location": "global", + "nextDescendents": [], + }, + "policyconfiguration": { + "_id": "", + "_rev": "-2097165782", + "_type": { + "_id": "policyconfiguration", + "collection": false, + "name": "Policy Configuration", }, - "13e3f263-9cd3-4844-8d1c-040fd0dd02eb": { - "_id": "13e3f263-9cd3-4844-8d1c-040fd0dd02eb", - "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Default global script template for Device Profile Match decision node script for Authentication Tree", - "evaluatorVersion": "1.0", - "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Device Profile Match Template - Decision Node Script", - "script": [ - "/*", - " * Copyright 2020-2022 ForgeRock AS. All Rights Reserved", - " *", - " * Use of this code requires a commercial software license with ForgeRock AS.", - " * or with one of its affiliates. All use shall be exclusively subject", - " * to such license between the licensee and ForgeRock AS.", - " */", - "", - "/** ******************************************************************", - " *", - " * The following script is a simplified template for understanding", - " * the basics of device matching. _This is not functionally complete._", - " * For a functionally complete script as well as a development toolkit,", - " * visit https://github.com/ForgeRock/forgerock-device-match-script.", - " *", - " * Global node variables accessible within this scope:", - " * 1. \`sharedState\` provides access to incoming request", - " * 2. \`deviceProfilesDao\` provides access to stored profiles", - " * 3. \`outcome\` variable maps to auth tree node outcomes; values are", - " * 'true', 'false', or 'unknownDevice' (notice _all_ are strings).", - " * ******************************************************************/", - "", - "/**", - " * Get the incoming request's device profile.", - " * Returns serialized JSON (type string); parsing this will result a", - " * native JS object.", - " */", - "var incomingJson = sharedState.get('forgeRock.device.profile').toString();", - "var incoming = JSON.parse(incomingJson);", - "", - "/**", - " * Get the incoming user's username and realm.", - " * Notice the use of \`.asString()\`.", - " */", - "var username = sharedState.get("username").asString();", - "var realm = sharedState.get("realm").asString();", - "", - "/**", - " * Get the user's stored profiles for appropriate realm.", - " * Returns a _special_ object with methods for profile data", - " */", - "var storedProfiles = deviceProfilesDao.getDeviceProfiles(username, realm);", - "", - "// Default to \`outcome\` of 'unknownDevice'", - "outcome = 'unknownDevice';", - "", - "if (storedProfiles) {", - " var i = 0;", - " // NOTE: \`.size()\` method returns the number of stored profiles", - " var len = storedProfiles.size();", - "", - " for (i; i < len; i++) {", - " /**", - " * Get the stored profile.", - " * Returns serialized JSON (type string); parsing this will result", - " * a native JS object.", - " */", - " var storedJson = storedProfiles.get(i);", - " var stored = JSON.parse(storedJson);", - "", - " /**", - " * Find a stored profile with the same identifier.", - " */", - " if (incoming.identifier === stored.identifier) {", - "", - " /**", - " * Now that you've found the appropriate profile, you will perform", - " * the logic here to match the values of the \`incoming\` profile", - " * with that of the \`stored\` profile.", - " *", - " * The result of the matching logic is assigned to \`outcome\`. Since", - " * we have profiles of the same identifier, the value (type string)", - " * should now be either 'true' or 'false' (properties matched or not).", - " *", - " * For more information about this topic, visit this Github repo:", - " * https://github.com/ForgeRock/forgerock-device-match-script", - " */", - " outcome = 'false';", - " }", - " }", - "}", - "", + "continueEvaluationOnDeny": false, + "defaults": { + "bindDn": "cn=Directory Manager", + "checkIfResourceTypeExists": true, + "connectionPoolMaximumSize": 10, + "connectionPoolMinimumSize": 1, + "ldapServer": [ + "localhost:50636", ], + "maximumSearchResults": 100, + "mtlsEnabled": false, + "policyHeartbeatInterval": 10, + "policyHeartbeatTimeUnit": "SECONDS", + "realmSearchFilter": "(objectclass=sunismanagedorganization)", + "searchTimeout": 5, + "sslEnabled": true, + "subjectsResultTTL": 10, + "userAliasEnabled": false, + "usersBaseDn": "dc=openam,dc=forgerock,dc=org", + "usersSearchAttribute": "uid", + "usersSearchFilter": "(objectclass=inetorgperson)", + "usersSearchScope": "SCOPE_SUB", }, - "157298c0-7d31-4059-a95b-eeb08473b7e5": { - "_id": "157298c0-7d31-4059-a95b-eeb08473b7e5", - "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Default global script for client side Device Id (Match) Authentication Module", - "evaluatorVersion": "1.0", - "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Device Id (Match) - Client Side", - "script": [ - "var fontDetector = (function () {", - " /**", - " * JavaScript code to detect available availability of a", - " * particular font in a browser using JavaScript and CSS.", - " *", - " * Author : Lalit Patel", - " * Website: http://www.lalit.org/lab/javascript-css-font-detect/", - " * License: Apache Software License 2.0", - " * http://www.apache.org/licenses/LICENSE-2.0", - " * Version: 0.15 (21 Sep 2009)", - " * Changed comparision font to default from sans-default-default,", - " * as in FF3.0 font of child element didn't fallback", - " * to parent element if the font is missing.", - " * Version: 0.2 (04 Mar 2012)", - " * Comparing font against all the 3 generic font families ie,", - " * 'monospace', 'sans-serif' and 'sans'. If it doesn't match all 3", - " * then that font is 100% not available in the system", - " * Version: 0.3 (24 Mar 2012)", - " * Replaced sans with serif in the list of baseFonts", - " */", - " /*", - " * Portions Copyrighted 2013 ForgeRock AS.", - " */", - " var detector = {}, baseFonts, testString, testSize, h, s, defaultWidth = {}, defaultHeight = {}, index;", - "", - " // a font will be compared against all the three default fonts.", - " // and if it doesn't match all 3 then that font is not available.", - " baseFonts = ['monospace', 'sans-serif', 'serif'];", - "", - " //we use m or w because these two characters take up the maximum width.", - " // And we use a LLi so that the same matching fonts can get separated", - " testString = "mmmmmmmmmmlli";", - "", - " //we test using 72px font size, we may use any size. I guess larger the better.", - " testSize = '72px';", - "", - " h = document.getElementsByTagName("body")[0];", - "", - " // create a SPAN in the document to get the width of the text we use to test", - " s = document.createElement("span");", - " s.style.fontSize = testSize;", - " s.innerHTML = testString;", - " for (index in baseFonts) {", - " //get the default width for the three base fonts", - " s.style.fontFamily = baseFonts[index];", - " h.appendChild(s);", - " defaultWidth[baseFonts[index]] = s.offsetWidth; //width for the default font", - " defaultHeight[baseFonts[index]] = s.offsetHeight; //height for the defualt font", - " h.removeChild(s);", - " }", - "", - " detector.detect = function(font) {", - " var detected = false, index, matched;", - " for (index in baseFonts) {", - " s.style.fontFamily = font + ',' + baseFonts[index]; // name of the font along with the base font for fallback.", - " h.appendChild(s);", - " matched = (s.offsetWidth !== defaultWidth[baseFonts[index]] || s.offsetHeight !== defaultHeight[baseFonts[index]]);", - " h.removeChild(s);", - " detected = detected || matched;", - " }", - " return detected;", - " };", - "", - " return detector;", - "}());", - "/*", - " * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.", - " *", - " * Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved", - " *", - " * The contents of this file are subject to the terms", - " * of the Common Development and Distribution License", - " * (the License). You may not use this file except in", - " * compliance with the License.", - " *", - " * You can obtain a copy of the License at", - " * https://opensso.dev.java.net/public/CDDLv1.0.html or", - " * opensso/legal/CDDLv1.0.txt", - " * See the License for the specific language governing", - " * permission and limitations under the License.", - " *", - " * When distributing Covered Code, include this CDDL", - " * Header Notice in each file and include the License file", - " * at opensso/legal/CDDLv1.0.txt.", - " * If applicable, add the following below the CDDL Header,", - " * with the fields enclosed by brackets [] replaced by", - " * your own identifying information:", - " * "Portions Copyrighted [year] [name of copyright owner]"", - " *", - " */", - "/*", - " * Portions Copyrighted 2013 Syntegrity.", - " * Portions Copyrighted 2013-2014 ForgeRock AS.", - " */", - "", - "var collectScreenInfo = function () {", - " var screenInfo = {};", - " if (screen) {", - " if (screen.width) {", - " screenInfo.screenWidth = screen.width;", - " }", - "", - " if (screen.height) {", - " screenInfo.screenHeight = screen.height;", - " }", - "", - " if (screen.pixelDepth) {", - " screenInfo.screenColourDepth = screen.pixelDepth;", - " }", - " } else {", - " console.warn("Cannot collect screen information. screen is not defined.");", - " }", - " return screenInfo;", - " },", - " collectTimezoneInfo = function () {", - " var timezoneInfo = {}, offset = new Date().getTimezoneOffset();", - "", - " if (offset) {", - " timezoneInfo.timezone = offset;", - " } else {", - " console.warn("Cannot collect timezone information. timezone is not defined.");", - " }", - "", - " return timezoneInfo;", - " },", - " collectBrowserPluginsInfo = function () {", - "", - " if (navigator && navigator.plugins) {", - " var pluginsInfo = {}, i, plugins = navigator.plugins;", - " pluginsInfo.installedPlugins = "";", - "", - " for (i = 0; i < plugins.length; i++) {", - " pluginsInfo.installedPlugins = pluginsInfo.installedPlugins + plugins[i].filename + ";";", - " }", - "", - " return pluginsInfo;", - " } else {", - " console.warn("Cannot collect browser plugin information. navigator.plugins is not defined.");", - " return {};", - " }", - "", - " },", - "// Getting geolocation takes some time and is done asynchronously, hence need a callback which is called once geolocation is retrieved.", - " collectGeolocationInfo = function (callback) {", - " var geolocationInfo = {},", - " successCallback = function(position) {", - " geolocationInfo.longitude = position.coords.longitude;", - " geolocationInfo.latitude = position.coords.latitude;", - " callback(geolocationInfo);", - " }, errorCallback = function(error) {", - " console.warn("Cannot collect geolocation information. " + error.code + ": " + error.message);", - " callback(geolocationInfo);", - " };", - " if (navigator && navigator.geolocation) {", - " // NB: If user chooses 'Not now' on Firefox neither callback gets called", - " // https://bugzilla.mozilla.org/show_bug.cgi?id=675533", - " navigator.geolocation.getCurrentPosition(successCallback, errorCallback);", - " } else {", - " console.warn("Cannot collect geolocation information. navigator.geolocation is not defined.");", - " callback(geolocationInfo);", - " }", - " },", - " collectBrowserFontsInfo = function () {", - " var fontsInfo = {}, i, fontsList = ["cursive","monospace","serif","sans-serif","fantasy","default","Arial","Arial Black",", - " "Arial Narrow","Arial Rounded MT Bold","Bookman Old Style","Bradley Hand ITC","Century","Century Gothic",", - " "Comic Sans MS","Courier","Courier New","Georgia","Gentium","Impact","King","Lucida Console","Lalit",", - " "Modena","Monotype Corsiva","Papyrus","Tahoma","TeX","Times","Times New Roman","Trebuchet MS","Verdana",", - " "Verona"];", - " fontsInfo.installedFonts = "";", - "", - " for (i = 0; i < fontsList.length; i++) {", - " if (fontDetector.detect(fontsList[i])) {", - " fontsInfo.installedFonts = fontsInfo.installedFonts + fontsList[i] + ";";", - " }", - " }", - " return fontsInfo;", - " },", - " devicePrint = {};", - "", - "devicePrint.screen = collectScreenInfo();", - "devicePrint.timezone = collectTimezoneInfo();", - "devicePrint.plugins = collectBrowserPluginsInfo();", - "devicePrint.fonts = collectBrowserFontsInfo();", - "", - "if (navigator.userAgent) {", - " devicePrint.userAgent = navigator.userAgent;", - "}", - "if (navigator.appName) {", - " devicePrint.appName = navigator.appName;", - "}", - "if (navigator.appCodeName) {", - " devicePrint.appCodeName = navigator.appCodeName;", - "}", - "if (navigator.appVersion) {", - " devicePrint.appVersion = navigator.appVersion;", - "}", - "if (navigator.appMinorVersion) {", - " devicePrint.appMinorVersion = navigator.appMinorVersion;", - "}", - "if (navigator.buildID) {", - " devicePrint.buildID = navigator.buildID;", - "}", - "if (navigator.platform) {", - " devicePrint.platform = navigator.platform;", - "}", - "if (navigator.cpuClass) {", - " devicePrint.cpuClass = navigator.cpuClass;", - "}", - "if (navigator.oscpu) {", - " devicePrint.oscpu = navigator.oscpu;", - "}", - "if (navigator.product) {", - " devicePrint.product = navigator.product;", - "}", - "if (navigator.productSub) {", - " devicePrint.productSub = navigator.productSub;", - "}", - "if (navigator.vendor) {", - " devicePrint.vendor = navigator.vendor;", - "}", - "if (navigator.vendorSub) {", - " devicePrint.vendorSub = navigator.vendorSub;", - "}", - "if (navigator.language) {", - " devicePrint.language = navigator.language;", - "}", - "if (navigator.userLanguage) {", - " devicePrint.userLanguage = navigator.userLanguage;", - "}", - "if (navigator.browserLanguage) {", - " devicePrint.browserLanguage = navigator.browserLanguage;", - "}", - "if (navigator.systemLanguage) {", - " devicePrint.systemLanguage = navigator.systemLanguage;", - "}", - "", - "// Attempt to collect geo-location information and return this with the data collected so far.", - "// Otherwise, if geo-location fails or takes longer than 30 seconds, auto-submit the data collected so far.", - "autoSubmitDelay = 30000;", - "output.value = JSON.stringify(devicePrint);", - "collectGeolocationInfo(function(geolocationInfo) {", - " devicePrint.geolocation = geolocationInfo;", - " output.value = JSON.stringify(devicePrint);", - " submit();", - "});", - "", - ], + "location": "global", + "nextDescendents": [], + "realmAliasReferrals": false, + "resourceComparators": [ + "serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false", + ], + }, + "pushNotification": { + "_id": "", + "_rev": "-747878660", + "_type": { + "_id": "pushNotification", + "collection": false, + "name": "Push Notification Service", }, - "1817cc25-fc84-4053-8f91-4ef130616e25": { - "_id": "1817cc25-fc84-4053-8f91-4ef130616e25", - "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, - "default": false, - "description": "null", - "evaluatorVersion": "1.0", - "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Legacy", - "script": [ - "/*", - " * Copyright 2014-2020 ForgeRock AS. All Rights Reserved", - " *", - " * Use of this code requires a commercial software license with ForgeRock AS.", - " * or with one of its affiliates. All use shall be exclusively subject", - " * to such license between the licensee and ForgeRock AS.", - " */", - "import com.iplanet.sso.SSOException", - "import com.sun.identity.idm.IdRepoException", - "import org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "import org.forgerock.oauth2.core.UserInfoClaims", - "import org.forgerock.openidconnect.Claim", - "", - "/*", - "* Defined variables:", - "* logger - always presents, the "OAuth2Provider" debug logger instance", - "* claims - always present, default server provided claims - Map", - "* claimObjects - always present, default server provided claims - List", - "* session - present if the request contains the session cookie, the user's session object", - "* identity - always present, the identity of the resource owner", - "* scopes - always present, the requested scopes", - "* scriptName - always present, the display name of the script", - "* requestProperties - always present, contains a map of request properties:", - "* requestUri - the request URI", - "* realm - the realm that the request relates to", - "* requestParams - a map of the request params and/or posted data. Each value is a list of one or", - "* more properties. Please note that these should be handled in accordance with OWASP best practices.", - "* clientProperties - present if the client specified in the request was identified, contains a map of client", - "* properties:", - "* clientId - the client's Uri for the request locale", - "* allowedGrantTypes - list of the allowed grant types (org.forgerock.oauth2.core.GrantType)", - "* for the client", - "* allowedResponseTypes - list of the allowed response types for the client", - "* allowedScopes - list of the allowed scopes for the client", - "* customProperties - A map of the custom properties of the client.", - "* Lists or maps will be included as sub-maps, e.g:", - "* testMap[Key1]=Value1 will be returned as testmap -> Key1 -> Value1", - "* requestedClaims - Map>", - "* always present, not empty if the request contains a claims parameter and server has enabled", - "* claims_parameter_supported, map of requested claims to possible values, otherwise empty,", - "* requested claims with no requested values will have a key but no value in the map. A key with", - "* a single value in its Set indicates this is the only value that should be returned.", - "* requestedTypedClaims - List", - "* always present, not empty if the request contains a claims parameter and server has enabled", - "* claims_parameter_supported, list of requested claims with claim name, requested possible values", - "* and if claim is essential, otherwise empty,", - "* requested claims with no requested values will have a claim with no values. A claims with", - "* a single value indicates this is the only value that should be returned.", - "* claimsLocales - the values from the 'claims_locales' parameter - List", - "* Required to return a Map of claims to be added to the id_token claims", - "*", - "* Expected return value structure:", - "* UserInfoClaims {", - "* Map values; // The values of the claims for the user information", - "* Map> compositeScopes; // Mapping of scope name to a list of claim names.", - "* }", - "*/", - "", - "// user session not guaranteed to be present", - "boolean sessionPresent = session != null", - "", - "/*", - " * Pulls first value from users profile attribute", - " *", - " * @param claim The claim object.", - " * @param attr The profile attribute name.", - " */", - "def fromSet = { claim, attr ->", - " if (attr != null && attr.size() == 1){", - " attr.iterator().next()", - " } else if (attr != null && attr.size() > 1){", - " attr", - " } else if (logger.warningEnabled()) {", - " logger.warning("OpenAMScopeValidator.getUserInfo(): Got an empty result for claim=$claim");", - " }", - "}", - "", - "// ---vvvvvvvvvv--- EXAMPLE CLAIM ATTRIBUTE RESOLVER FUNCTIONS ---vvvvvvvvvv---", - "/*", - " * Claim resolver which resolves the value of the claim from its requested values.", - " *", - " * This resolver will return a value if the claim has one requested values, otherwise an exception is thrown.", - " */", - "defaultClaimResolver = { claim ->", - " if (claim.getValues().size() == 1) {", - " [(claim.getName()): claim.getValues().iterator().next()]", - " } else {", - " [:]", - " }", - "}", - "", - "/*", - " * Claim resolver which resolves the value of the claim by looking up the user's profile.", - " *", - " * This resolver will return a value for the claim if:", - " * # the user's profile attribute is not null", - " * # AND the claim contains no requested values", - " * # OR the claim contains requested values and the value from the user's profile is in the list of values", - " *", - " * If no match is found an exception is thrown.", - " */", - "userProfileClaimResolver = { attribute, claim, identity ->", - " if (identity != null) {", - " userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))", - " if (userProfileValue != null && (claim.getValues() == null || claim.getValues().isEmpty() || claim.getValues().contains(userProfileValue))) {", - " return [(claim.getName()): userProfileValue]", - " }", - " }", - " [:]", - "}", - "", - "/*", - " * Claim resolver which resolves the value of the claim of the user's address.", - " *", - " * This resolver will return a value for the claim if:", - " * # the value of the address is not null", - " *", - " */", - "userAddressClaimResolver = { claim, identity ->", - " if (identity != null) {", - " addressFormattedValue = fromSet(claim.getName(), identity.getAttribute("postaladdress"))", - " if (addressFormattedValue != null) {", - " return [", - " "formatted" : addressFormattedValue", - " ]", - " }", - " }", - " [:]", - "}", - "", - "/*", - " * Claim resolver which resolves the value of the claim by looking up the user's profile.", - " *", - " * This resolver will return a value for the claim if:", - " * # the user's profile attribute is not null", - " * # AND the claim contains no requested values", - " * # OR the claim contains requested values and the value from the user's profile is in the list of values", - " *", - " * If the claim is essential and no value is found an InvalidRequestException will be thrown and returned to the user.", - " * If no match is found an exception is thrown.", - " */", - "essentialClaimResolver = { attribute, claim, identity ->", - " if (identity != null) {", - " userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))", - " if (claim.isEssential() && (userProfileValue == null || userProfileValue.isEmpty())) {", - " throw new InvalidRequestException("Could not provide value for essential claim $claim")", - " }", - " if (userProfileValue != null && (claim.getValues() == null || claim.getValues().isEmpty() || claim.getValues().contains(userProfileValue))) {", - " return [(claim.getName()): userProfileValue]", - " }", - " }", - " return [:]", - "}", - "", - "/*", - " * Claim resolver which expects the user's profile attribute value to be in the following format:", - " * "language_tag|value_for_language,...".", - " *", - " * This resolver will take the list of requested languages from the 'claims_locales' authorize request", - " * parameter and attempt to match it to a value from the users' profile attribute.", - " * If no match is found an exception is thrown.", - " */", - "claimLocalesClaimResolver = { attribute, claim, identity ->", - " if (identity != null) {", - " userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))", - " if (userProfileValue != null) {", - " localeValues = parseLocaleAwareString(userProfileValue)", - " locale = claimsLocales.find { locale -> localeValues.containsKey(locale) }", - " if (locale != null) {", - " return [(claim.getName()): localeValues.get(locale)]", - " }", - " }", - " }", - " return [:]", - "}", - "", - "/*", - " * Claim resolver which expects the user's profile attribute value to be in the following format:", - " * "language_tag|value_for_language,...".", - " *", - " * This resolver will take the language tag specified in the claim object and attempt to match it to a value", - " * from the users' profile attribute. If no match is found an exception is thrown.", - " */", - "languageTagClaimResolver = { attribute, claim, identity ->", - " if (identity != null) {", - " userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))", - " if (userProfileValue != null) {", - " localeValues = parseLocaleAwareString(userProfileValue)", - " if (claim.getLocale() != null) {", - " if (localeValues.containsKey(claim.getLocale())) {", - " return [(claim.getName()): localeValues.get(claim.getLocale())]", - " } else {", - " entry = localeValues.entrySet().iterator().next()", - " return [(claim.getName() + "#" + entry.getKey()): entry.getValue()]", - " }", - " } else {", - " entry = localeValues.entrySet().iterator().next()", - " return [(claim.getName()): entry.getValue()]", - " }", - " }", - " }", - " return [:]", - "}", - "", - "/*", - " * Given a string "en|English,jp|Japenese,fr_CA|French Canadian" will return map of locale -> value.", - " */", - "parseLocaleAwareString = { s ->", - " return result = s.split(",").collectEntries { entry ->", - " split = entry.split("\\\\|")", - " [(split[0]): value = split[1]]", - " }", - "}", - "// ---^^^^^^^^^^--- EXAMPLE CLAIM ATTRIBUTE RESOLVER FUNCTIONS ---^^^^^^^^^^---", - "", - "// -------------- UPDATE THIS TO CHANGE CLAIM TO ATTRIBUTE MAPPING FUNCTIONS ---------------", - "/*", - " * List of claim resolver mappings.", - " */", - "// [ {claim}: {attribute retriever}, ... ]", - "claimAttributes = [", - " "email": userProfileClaimResolver.curry("mail"),", - " "address": { claim, identity -> [ "address" : userAddressClaimResolver(claim, identity) ] },", - " "phone_number": userProfileClaimResolver.curry("telephonenumber"),", - " "given_name": userProfileClaimResolver.curry("givenname"),", - " "zoneinfo": userProfileClaimResolver.curry("preferredtimezone"),", - " "family_name": userProfileClaimResolver.curry("sn"),", - " "locale": userProfileClaimResolver.curry("preferredlocale"),", - " "name": userProfileClaimResolver.curry("cn")", - "]", - "", - "", - "// -------------- UPDATE THIS TO CHANGE SCOPE TO CLAIM MAPPINGS --------------", - "/*", - " * Map of scopes to claim objects.", - " */", - "// {scope}: [ {claim}, ... ]", - "scopeClaimsMap = [", - " "email": [ "email" ],", - " "address": [ "address" ],", - " "phone": [ "phone_number" ],", - " "profile": [ "given_name", "zoneinfo", "family_name", "locale", "name" ]", - "]", - "", - "", - "// ---------------- UPDATE BELOW FOR ADVANCED USAGES -------------------", - "if (logger.messageEnabled()) {", - " scopes.findAll { s -> !("openid".equals(s) || scopeClaimsMap.containsKey(s)) }.each { s ->", - " logger.message("OpenAMScopeValidator.getUserInfo()::Message: scope not bound to claims: $s")", - " }", - "}", - "", - "/*", - " * Computes the claims return key and value. The key may be a different value if the claim value is not in", - " * the requested language.", - " */", - "def computeClaim = { claim ->", - " try {", - " claimResolver = claimAttributes.get(claim.getName(), { claimObj, identity -> defaultClaimResolver(claim)})", - " claimResolver(claim, identity)", - " } catch (IdRepoException e) {", - " if (logger.warningEnabled()) {", - " logger.warning("OpenAMScopeValidator.getUserInfo(): Unable to retrieve attribute=$attribute", e);", - " }", - " } catch (SSOException e) {", - " if (logger.warningEnabled()) {", - " logger.warning("OpenAMScopeValidator.getUserInfo(): Unable to retrieve attribute=$attribute", e);", - " }", - " }", - "}", - "", - "/*", - " * Converts requested scopes into claim objects based on the scope mappings in scopeClaimsMap.", - " */", - "def convertScopeToClaims = {", - " scopes.findAll { scope -> "openid" != scope && scopeClaimsMap.containsKey(scope) }.collectMany { scope ->", - " scopeClaimsMap.get(scope).collect { claim ->", - " new Claim(claim)", - " }", - " }", - "}", - "", - "// Creates a full list of claims to resolve from requested scopes, claims provided by AS and requested claims", - "def claimsToResolve = convertScopeToClaims() + claimObjects + requestedTypedClaims", - "", - "// Computes the claim return key and values for all requested claims", - "computedClaims = claimsToResolve.collectEntries() { claim ->", - " result = computeClaim(claim)", - "}", - "", - "// Computes composite scopes", - "def compositeScopes = scopeClaimsMap.findAll { scope ->", - " scopes.contains(scope.key)", - "}", - "", - "return new UserInfoClaims((Map)computedClaims, (Map)compositeScopes)", - "", - ], + "defaults": { + "delegateFactory": "org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory", + "mdCacheSize": 10000, + "mdConcurrency": 16, + "mdDuration": 120, + "region": "us-east-1", }, - "1d475815-72cb-42eb-aafd-4026989d28a7": { - "_id": "1d475815-72cb-42eb-aafd-4026989d28a7", - "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Default global script for Social Identity Provider Profile Transformation", - "evaluatorVersion": "1.0", - "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "Social Identity Provider Profile Transformation Script", - "script": [ - "/*", - " * Copyright 2020 ForgeRock AS. All Rights Reserved", - " *", - " * Use of this code requires a commercial software license with ForgeRock AS.", - " * or with one of its affiliates. All use shall be exclusively subject", - " * to such license between the licensee and ForgeRock AS.", - " */", - "", - "/* Default Social Identity Provider Profile Transformation script to use as a template for new scripts */", - "", - ], + "location": "global", + "nextDescendents": [], + }, + "rest": { + "_id": "", + "_rev": "672880621", + "_type": { + "_id": "rest", + "collection": false, + "name": "REST APIs", }, - "248b8a56-df81-4b1b-b4ba-45d994f6504c": { - "_id": "248b8a56-df81-4b1b-b4ba-45d994f6504c", - "context": "SAML2_IDP_ADAPTER", - "createdBy": "null", - "creationDate": 0, - "default": true, - "description": "Default global script for SAML2 IDP Adapter", - "evaluatorVersion": "1.0", - "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, - "name": "SAML2 IDP Adapter Script", - "script": [ - "/*", - " * Copyright 2021-2023 ForgeRock AS. All Rights Reserved", - " *", - " * Use of this code requires a commercial software license with ForgeRock AS.", - " * or with one of its affiliates. All use shall be exclusively subject", - " * to such license between the licensee and ForgeRock AS.", - " */", - "", - "/*", - " * The script has these top level functions that could be executed during a SAML2 flow.", - " * - preSingleSignOn", - " * - preAuthentication", - " * - preSendResponse", - " * - preSignResponse", - " * - preSendFailureResponse", - " *", - " * Please see the javadoc for the interface definition and more information about these methods.", - " * https://backstage.forgerock.com/docs/am/7.3/_attachments/apidocs/com/sun/identity/saml2/plugins/SAML2IdentityProviderAdapter.html", - " * Note that the initialize method is not supported in the scripts.", - " *", - " * Defined variables. Check the documentation on the respective functions for the variables available to it.", - " *", - " * hostedEntityId - String", - " * Entity ID for the hosted IDP", - " * realm - String", - " * Realm of the hosted IDP", - " * idpAdapterScriptHelper - IdpAdapterScriptHelper (1)", - " * An instance of IdpAdapterScriptHelper containing helper methods. See Javadoc for more details.", - " * request - HttpServletRequest (2)", - " * Servlet request object", - " * response - HttpServletResponse (3)", - " * Servlet response object", - " * authnRequest - AuthnRequest (4)", - " * The original authentication request sent from SP", - " * reqId - String", - " * The id to use for continuation of processing if the adapter redirects", - " * res - Response (5)", - " * The SAML Response", - " * session - SSOToken (6)", - " * The single sign-on session. The reference type of this is Object and would need to be casted to SSOToken.", - " * relayState - String", - " * The relayState that will be used in the redirect", - " * faultCode - String", - " * the fault code that will be returned in the SAML response", - " * faultDetail - String", - " * the fault detail that will be returned in the SAML response", - " * logger - Logger instance", - " * https://backstage.forgerock.com/docs/am/7.3/scripting-guide/scripting-api-global-logger.html.", - " * Corresponding log files will be prefixed with: scripts.